MMDevice 70
Public Member Functions | Static Public Attributes | List of all members
MM::Hub Class Referenceabstract

HUB device. More...

#include <MMDevice.h>

Inheritance diagram for MM::Hub:
MM::Device CDeviceBase< MM::Hub, U > HubBase< U >

Public Member Functions

virtual DeviceType GetType () const
 
virtual int DetectInstalledDevices ()=0
 Instantiate all available child peripheral devices.
 
virtual void ClearInstalledDevices ()=0
 Remove all Device instances that were created by DetectInstalledDevices(). Not used.
 
virtual unsigned GetNumberOfInstalledDevices ()=0
 Return the number of child Devices after DetectInstalledDevices was called.
 
virtual DeviceGetInstalledDevice (int devIdx)=0
 Return a pointer to the Device with index devIdx.
 
- Public Member Functions inherited from MM::Device
virtual unsigned GetNumberOfProperties () const =0
 
virtual int GetProperty (const char *name, char *value) const =0
 
virtual int SetProperty (const char *name, const char *value)=0
 
virtual bool HasProperty (const char *name) const =0
 
virtual bool GetPropertyName (unsigned idx, char *name) const =0
 
virtual int GetPropertyReadOnly (const char *name, bool &readOnly) const =0
 
virtual int GetPropertyInitStatus (const char *name, bool &preInit) const =0
 
virtual int HasPropertyLimits (const char *name, bool &hasLimits) const =0
 
virtual int GetPropertyLowerLimit (const char *name, double &lowLimit) const =0
 
virtual int GetPropertyUpperLimit (const char *name, double &hiLimit) const =0
 
virtual int GetPropertyType (const char *name, MM::PropertyType &pt) const =0
 
virtual unsigned GetNumberOfPropertyValues (const char *propertyName) const =0
 
virtual bool GetPropertyValueAt (const char *propertyName, unsigned index, char *value) const =0
 
virtual int IsPropertySequenceable (const char *name, bool &isSequenceable) const =0
 Check whether the given property can be used with sequences.
 
virtual int GetPropertySequenceMaxLength (const char *propertyName, long &nrEvents) const =0
 Return the largest sequence that can be stored in the device.
 
virtual int StartPropertySequence (const char *propertyName)=0
 Start execution of the sequence.
 
virtual int StopPropertySequence (const char *propertyName)=0
 Stop execution of the sequence.
 
virtual int ClearPropertySequence (const char *propertyName)=0
 Remove previously added sequence.
 
virtual int AddToPropertySequence (const char *propertyName, const char *value)=0
 Add one value to the sequence.
 
virtual int SendPropertySequence (const char *propertyName)=0
 Signal that we are done sending sequence values so that the adapter can send the whole sequence to the device.
 
virtual bool GetErrorText (int errorCode, char *errMessage) const =0
 
virtual bool Busy ()=0
 
virtual double GetDelayMs () const =0
 
virtual void SetDelayMs (double delay)=0
 
virtual bool UsesDelay ()=0
 
virtual void SetLabel (const char *label)=0
 
virtual void GetLabel (char *name) const =0
 
virtual void SetModuleName (const char *moduleName)=0
 
virtual void GetModuleName (char *moduleName) const =0
 
virtual void SetDescription (const char *description)=0
 
virtual void GetDescription (char *description) const =0
 
virtual int Initialize ()=0
 
virtual int Shutdown ()=0
 Shut down (unload) the device.
 
virtual void GetName (char *name) const =0
 
virtual void SetCallback (Core *callback)=0
 
virtual bool SupportsDeviceDetection (void)=0
 
virtual MM::DeviceDetectionStatus DetectDevice (void)=0
 
virtual void SetParentID (const char *parentId)=0
 
virtual void GetParentID (char *parentID) const =0
 

Static Public Attributes

static const DeviceType Type = HubDevice
 

Detailed Description

HUB device.

Used for complex uber-device functionality in microscope stands and managing auto-configuration (discovery) of other devices.

Member Function Documentation

◆ ClearInstalledDevices()

virtual void MM::Hub::ClearInstalledDevices ( )
pure virtual

Remove all Device instances that were created by DetectInstalledDevices(). Not used.

Note: Device adapters traditionally call this function at the beginning of their DetectInstalledDevices implementation. This is not necessary but is permissible.

Implemented in HubBase< U >.

◆ DetectInstalledDevices()

virtual int MM::Hub::DetectInstalledDevices ( )
pure virtual

Instantiate all available child peripheral devices.

The implementation must instantiate all available child devices and register them by calling AddInstalledDevice() (currently in HubBase).

Instantiated peripherals are owned by the Core, and will be destroyed by calling the usual ModuleInterface DeleteDevice() function.

The result of calling this function more than once for a given hub instance is undefined.

Implemented in HubBase< U >.

◆ GetInstalledDevice()

virtual Device * MM::Hub::GetInstalledDevice ( int  devIdx)
pure virtual

Return a pointer to the Device with index devIdx.

0 <= devIdx < GetNumberOfInstalledDevices().

Must not be called from device adapters.

Implemented in HubBase< U >.

◆ GetNumberOfInstalledDevices()

virtual unsigned MM::Hub::GetNumberOfInstalledDevices ( )
pure virtual

Return the number of child Devices after DetectInstalledDevices was called.

Must not be called from device adapters.

Implemented in HubBase< U >.

◆ GetType()

virtual DeviceType MM::Hub::GetType ( ) const
inlinevirtual

Implements MM::Device.


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