MMDevice
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
MM::Property Class Reference

Property API with most of the Property mechanism implemented. More...

#include <Property.h>

Inherits MM::PropertyBase.

Inherited by MM::FloatProperty, MM::IntegerProperty, and MM::StringProperty.

Public Member Functions

 Property (const char *name)
 
virtual ~Property ()
 
bool GetCached () const
 
void SetCached (bool bState=true)
 
bool GetReadOnly () const
 
void SetReadOnly (bool bState=true)
 
bool GetInitStatus () const
 
void SetInitStatus (bool init)
 
void RegisterAction (ActionFunctor *fpAction)
 
int Update ()
 
int Apply ()
 
std::vector< std::string > GetAllowedValues () const
 
void ClearAllowedValues ()
 
void AddAllowedValue (const char *value)
 
void AddAllowedValue (const char *value, long data)
 
bool IsAllowed (const char *value) const
 
bool GetData (const char *value, long &data) const
 
bool HasLimits () const
 
double GetLowerLimit () const
 
double GetUpperLimit () const
 
bool SetLimits (double lowerLimit, double upperLimit)
 
bool IsSequenceable ()
 
void SetSequenceable (long sequenceMaxSize)
 
long GetSequenceMaxSize () const
 
int ClearSequence ()
 
int AddToSequence (const char *value)
 
int SendSequence ()
 
std::string GetName () const
 
std::vector< std::string > GetSequence () const
 
int StartSequence ()
 
int StopSequence ()
 
- Public Member Functions inherited from MM::PropertyBase
virtual ~PropertyBase ()
 
virtual PropertyType GetType ()=0
 
virtual bool Set (double dVal)=0
 
virtual bool Set (long lVal)=0
 
virtual bool Set (const char *Val)=0
 
virtual bool Get (double &dVal) const =0
 
virtual bool Get (long &lVal) const =0
 
virtual bool Get (std::string &strVal) const =0
 

Protected Attributes

bool readOnly_
 
ActionFunctorfpAction_
 
bool cached_
 
bool hasData_
 
bool initStatus_
 
bool limits_
 
bool sequenceable_
 
long sequenceMaxSize_
 
std::vector< std::string > sequenceEvents_
 
double lowerLimit_
 
double upperLimit_
 
std::map< std::string, long > values_
 
const std::string name_
 

Detailed Description

Property API with most of the Property mechanism implemented.

Constructor & Destructor Documentation

◆ Property()

MM::Property::Property ( const char * name)
inline

◆ ~Property()

virtual MM::Property::~Property ( )
inlinevirtual

Member Function Documentation

◆ AddAllowedValue() [1/2]

void MM::Property::AddAllowedValue ( const char * value)

◆ AddAllowedValue() [2/2]

void MM::Property::AddAllowedValue ( const char * value,
long data )

◆ AddToSequence()

int MM::Property::AddToSequence ( const char * value)
inlinevirtual

Implements MM::PropertyBase.

◆ Apply()

int MM::Property::Apply ( )
inline

◆ ClearAllowedValues()

void MM::Property::ClearAllowedValues ( )
inline

◆ ClearSequence()

int MM::Property::ClearSequence ( )
inlinevirtual

Implements MM::PropertyBase.

◆ GetAllowedValues()

std::vector< std::string > MM::Property::GetAllowedValues ( ) const

◆ GetCached()

bool MM::Property::GetCached ( ) const
inline

◆ GetData()

bool MM::Property::GetData ( const char * value,
long & data ) const

◆ GetInitStatus()

bool MM::Property::GetInitStatus ( ) const
inline

◆ GetLowerLimit()

double MM::Property::GetLowerLimit ( ) const
inlinevirtual

Implements MM::PropertyBase.

◆ GetName()

std::string MM::Property::GetName ( ) const
inlinevirtual

Implements MM::PropertyBase.

◆ GetReadOnly()

bool MM::Property::GetReadOnly ( ) const
inline

◆ GetSequence()

std::vector< std::string > MM::Property::GetSequence ( ) const
inlinevirtual

Implements MM::PropertyBase.

◆ GetSequenceMaxSize()

long MM::Property::GetSequenceMaxSize ( ) const
inlinevirtual

Implements MM::PropertyBase.

◆ GetUpperLimit()

double MM::Property::GetUpperLimit ( ) const
inlinevirtual

Implements MM::PropertyBase.

◆ HasLimits()

bool MM::Property::HasLimits ( ) const
inlinevirtual

Implements MM::PropertyBase.

◆ IsAllowed()

bool MM::Property::IsAllowed ( const char * value) const

◆ IsSequenceable()

bool MM::Property::IsSequenceable ( )
inline

◆ RegisterAction()

void MM::Property::RegisterAction ( ActionFunctor * fpAction)
inline

◆ SendSequence()

int MM::Property::SendSequence ( )
inlinevirtual

Implements MM::PropertyBase.

◆ SetCached()

void MM::Property::SetCached ( bool bState = true)
inline

◆ SetInitStatus()

void MM::Property::SetInitStatus ( bool init)
inline

◆ SetLimits()

bool MM::Property::SetLimits ( double lowerLimit,
double upperLimit )
inlinevirtual

Implements MM::PropertyBase.

Reimplemented in MM::StringProperty.

◆ SetReadOnly()

void MM::Property::SetReadOnly ( bool bState = true)
inline

◆ SetSequenceable()

void MM::Property::SetSequenceable ( long sequenceMaxSize)
virtual

Implements MM::PropertyBase.

◆ StartSequence()

int MM::Property::StartSequence ( )
inline

◆ StopSequence()

int MM::Property::StopSequence ( )
inline

◆ Update()

int MM::Property::Update ( )
inline

Member Data Documentation

◆ cached_

bool MM::Property::cached_
protected

◆ fpAction_

ActionFunctor* MM::Property::fpAction_
protected

◆ hasData_

bool MM::Property::hasData_
protected

◆ initStatus_

bool MM::Property::initStatus_
protected

◆ limits_

bool MM::Property::limits_
protected

◆ lowerLimit_

double MM::Property::lowerLimit_
protected

◆ name_

const std::string MM::Property::name_
protected

◆ readOnly_

bool MM::Property::readOnly_
protected

◆ sequenceable_

bool MM::Property::sequenceable_
protected

◆ sequenceEvents_

std::vector<std::string> MM::Property::sequenceEvents_
protected

◆ sequenceMaxSize_

long MM::Property::sequenceMaxSize_
protected

◆ upperLimit_

double MM::Property::upperLimit_
protected

◆ values_

std::map<std::string, long> MM::Property::values_
protected

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