mrfioc2  2.3.0
Classes | Public Member Functions | Static Public Member Functions | List of all members
mrf::SPIDevice Class Reference

#include <spi.h>

Classes

class  Selector
 

Public Member Functions

 SPIDevice ()
 
 SPIDevice (SPIInterface *spi, unsigned id)
 
SPIInterfaceinterface () const
 
unsigned selector () const
 

Static Public Member Functions

static bool lookupDev (const std::string &name, SPIDevice *)
 
static void registerDev (const std::string &name, const SPIDevice &)
 
static void unregisterDev (const std::string &name)
 

Detailed Description

Definition at line 51 of file spi.h.

Constructor & Destructor Documentation

◆ SPIDevice() [1/2]

mrf::SPIDevice::SPIDevice ( )
inline

Definition at line 56 of file spi.h.

56 :spi(0), id(0) {}

◆ SPIDevice() [2/2]

mrf::SPIDevice::SPIDevice ( SPIInterface spi,
unsigned  id 
)
inline

Definition at line 57 of file spi.h.

57 :spi(spi), id(id) {}

Member Function Documentation

◆ interface()

SPIInterface* mrf::SPIDevice::interface ( ) const
inline

Definition at line 59 of file spi.h.

59 { return spi; }

◆ lookupDev()

bool mrf::SPIDevice::lookupDev ( const std::string &  name,
SPIDevice dev 
)
static

Definition at line 74 of file spi.cpp.

75 {
76  SPIRegistry *reg(getReg());
77  SCOPED_LOCK2(reg->mutex,G);
78  SPIRegistry::devices_t::const_iterator it = reg->devices.find(name);
79  if(it!=reg->devices.end()) {
80  *dev = it->second;
81  return true;
82  }
83  return false;
84 }

◆ registerDev()

void mrf::SPIDevice::registerDev ( const std::string &  name,
const SPIDevice dev 
)
static

Definition at line 86 of file spi.cpp.

87 {
88  SPIRegistry *reg(getReg());
89  SCOPED_LOCK2(reg->mutex,G);
90  reg->devices[name] = dev;
91 }

◆ selector()

unsigned mrf::SPIDevice::selector ( ) const
inline

Definition at line 60 of file spi.h.

60 { return id; }

◆ unregisterDev()

void mrf::SPIDevice::unregisterDev ( const std::string &  name)
static

Definition at line 93 of file spi.cpp.

94 {
95  SPIRegistry *reg(getReg());
96  SCOPED_LOCK2(reg->mutex,G);
97  reg->devices.erase(name);
98 }

The documentation for this class was generated from the following files: