Instrument Neutral Distributed Interface INDI  2.0.2
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
INDI::Property Class Reference

Provides generic container for INDI properties. More...

#include <indiproperty.h>

Inheritance diagram for INDI::Property:
INDI::PropertyBasic< IText > INDI::PropertyBasic< ILight > INDI::PropertyBasic< IBLOB > INDI::PropertyBasic< ISwitch > INDI::PropertyBasic< INumber > INDI::PropertyBasic< T > INDI::PropertyText INDI::PropertyLight INDI::PropertyBlob INDI::PropertySwitch INDI::PropertyNumber

Public Member Functions

 Property ()
 
 ~Property ()
 
 Property (INDI::PropertyNumber property)
 
 Property (INDI::PropertyText property)
 
 Property (INDI::PropertySwitch property)
 
 Property (INDI::PropertyLight property)
 
 Property (INDI::PropertyBlob property)
 
 Property (INumberVectorProperty *property)
 
 Property (ITextVectorProperty *property)
 
 Property (ISwitchVectorProperty *property)
 
 Property (ILightVectorProperty *property)
 
 Property (IBLOBVectorProperty *property)
 
 Property (INDI::PropertyViewNumber *property)
 
 Property (INDI::PropertyViewText *property)
 
 Property (INDI::PropertyViewSwitch *property)
 
 Property (INDI::PropertyViewLight *property)
 
 Property (INDI::PropertyViewBlob *property)
 
void setProperty (void *)
 
void setType (INDI_PROPERTY_TYPE t)
 
void setRegistered (bool r)
 
void setDynamic (bool d)
 
void setBaseDevice (BaseDevice *idp)
 
void setBaseDevice (BaseDevice device)
 
void * getProperty () const
 
INDI_PROPERTY_TYPE getType () const
 
const char * getTypeAsString () const
 
bool getRegistered () const
 
bool isDynamic () const
 
BaseDevice getBaseDevice () const
 
void setName (const char *name)
 
void setLabel (const char *label)
 
void setGroupName (const char *groupName)
 
void setDeviceName (const char *deviceName)
 
void setTimestamp (const char *timestamp)
 
void setState (IPState state)
 
void setPermission (IPerm permission)
 
void setTimeout (double timeout)
 
const char * getName () const
 
const char * getLabel () const
 
const char * getGroupName () const
 
const char * getDeviceName () const
 
const char * getTimestamp () const
 
IPState getState () const
 
const char * getStateAsString () const
 
IPerm getPermission () const
 
bool isEmpty () const
 
bool isValid () const
 
bool isNameMatch (const char *otherName) const
 
bool isNameMatch (const std::string &otherName) const
 
bool isLabelMatch (const char *otherLabel) const
 
bool isLabelMatch (const std::string &otherLabel) const
 
bool isDeviceNameMatch (const char *otherDeviceName) const
 
bool isDeviceNameMatch (const std::string &otherDeviceName) const
 
bool isTypeMatch (INDI_PROPERTY_TYPE otherType) const
 
void onUpdate (const std::function< void()> &callback)
 
void emitUpdate ()
 
bool hasUpdateCallback () const
 
void save (FILE *fp) const
 
void apply (const char *format,...) const ATTRIBUTE_FORMAT_PRINTF(2
 
void void define (const char *format,...) const ATTRIBUTE_FORMAT_PRINTF(2
 
void void void apply () const
 
void define () const
 
INDI::PropertyViewNumbergetNumber () const
 
INDI::PropertyViewTextgetText () const
 
INDI::PropertyViewSwitchgetSwitch () const
 
INDI::PropertyViewLightgetLight () const
 
INDI::PropertyViewBlobgetBLOB () const
 
INDI::Propertyoperator-> ()
 
const INDI::Propertyoperator-> () const
 
 operator INDI::Property * ()
 
 operator const INDI::Property * () const
 
 operator INDI::PropertyViewNumber * () const
 
 operator INDI::PropertyViewText * () const
 
 operator INDI::PropertyViewSwitch * () const
 
 operator INDI::PropertyViewLight * () const
 
 operator INDI::PropertyViewBlob * () const
 
bool operator!= (std::nullptr_t) const
 
bool operator== (std::nullptr_t) const
 
 operator bool () const
 
 operator bool ()
 

Protected Member Functions

 Property (const std::shared_ptr< PropertyPrivate > &dd)
 
 Property (PropertyPrivate &dd)
 
INDI::Propertyself ()
 

Protected Attributes

std::shared_ptr< PropertyPrivated_ptr
 

Friends

class PropertyNumber
 
class PropertyText
 
class PropertySwitch
 
class PropertyLight
 
class PropertyBlob
 
class BaseDevicePrivate
 

Detailed Description

Provides generic container for INDI properties.

Author
Jasem Mutlaq
Examples
tutorial_client.cpp.

Definition at line 47 of file indiproperty.h.

Constructor & Destructor Documentation

◆ Property() [1/18]

Property::Property ( )

Definition at line 131 of file indiproperty.cpp.

◆ ~Property()

Property::~Property ( )

Definition at line 198 of file indiproperty.cpp.

◆ Property() [2/18]

Property::Property ( INDI::PropertyNumber  property)

Definition at line 135 of file indiproperty.cpp.

◆ Property() [3/18]

Property::Property ( INDI::PropertyText  property)

Definition at line 139 of file indiproperty.cpp.

◆ Property() [4/18]

Property::Property ( INDI::PropertySwitch  property)

Definition at line 143 of file indiproperty.cpp.

◆ Property() [5/18]

Property::Property ( INDI::PropertyLight  property)

Definition at line 147 of file indiproperty.cpp.

◆ Property() [6/18]

Property::Property ( INDI::PropertyBlob  property)

Definition at line 151 of file indiproperty.cpp.

◆ Property() [7/18]

Property::Property ( INumberVectorProperty property)

Definition at line 177 of file indiproperty.cpp.

◆ Property() [8/18]

Property::Property ( ITextVectorProperty property)

Definition at line 181 of file indiproperty.cpp.

◆ Property() [9/18]

Property::Property ( ISwitchVectorProperty property)

Definition at line 185 of file indiproperty.cpp.

◆ Property() [10/18]

Property::Property ( ILightVectorProperty property)

Definition at line 189 of file indiproperty.cpp.

◆ Property() [11/18]

Property::Property ( IBLOBVectorProperty property)

Definition at line 193 of file indiproperty.cpp.

◆ Property() [12/18]

Property::Property ( INDI::PropertyViewNumber property)

Definition at line 157 of file indiproperty.cpp.

◆ Property() [13/18]

Property::Property ( INDI::PropertyViewText property)

Definition at line 161 of file indiproperty.cpp.

◆ Property() [14/18]

Property::Property ( INDI::PropertyViewSwitch property)

Definition at line 165 of file indiproperty.cpp.

◆ Property() [15/18]

Property::Property ( INDI::PropertyViewLight property)

Definition at line 169 of file indiproperty.cpp.

◆ Property() [16/18]

Property::Property ( INDI::PropertyViewBlob property)

Definition at line 173 of file indiproperty.cpp.

◆ Property() [17/18]

Property::Property ( const std::shared_ptr< PropertyPrivate > &  dd)
protected

Definition at line 205 of file indiproperty.cpp.

◆ Property() [18/18]

Property::Property ( PropertyPrivate dd)
protected

Definition at line 201 of file indiproperty.cpp.

Member Function Documentation

◆ apply() [1/2]

void void void INDI::Property::apply ( ) const
inline

Definition at line 145 of file indiproperty.h.

◆ apply() [2/2]

void Property::apply ( const char *  format,
  ... 
) const

Definition at line 506 of file indiproperty.cpp.

◆ define() [1/2]

void INDI::Property::define ( ) const
inline

Definition at line 149 of file indiproperty.h.

◆ define() [2/2]

void Property::define ( const char *  format,
  ... 
) const

Definition at line 515 of file indiproperty.cpp.

◆ emitUpdate()

void Property::emitUpdate ( )

Definition at line 530 of file indiproperty.cpp.

◆ getBaseDevice()

BaseDevice Property::getBaseDevice ( ) const

Definition at line 291 of file indiproperty.cpp.

◆ getBLOB()

PropertyViewBlob * Property::getBLOB ( ) const

Definition at line 491 of file indiproperty.cpp.

◆ getDeviceName()

const char * Property::getDeviceName ( ) const

Definition at line 366 of file indiproperty.cpp.

◆ getGroupName()

const char * Property::getGroupName ( ) const

Definition at line 359 of file indiproperty.cpp.

◆ getLabel()

const char * Property::getLabel ( ) const

Definition at line 352 of file indiproperty.cpp.

◆ getLight()

PropertyViewLight * Property::getLight ( ) const

Definition at line 473 of file indiproperty.cpp.

◆ getName()

const char * Property::getName ( ) const

Definition at line 345 of file indiproperty.cpp.

◆ getNumber()

PropertyViewNumber * Property::getNumber ( ) const

Definition at line 455 of file indiproperty.cpp.

◆ getPermission()

IPerm Property::getPermission ( ) const

Definition at line 392 of file indiproperty.cpp.

◆ getProperty()

void * Property::getProperty ( ) const

Definition at line 247 of file indiproperty.cpp.

◆ getRegistered()

bool Property::getRegistered ( ) const

Definition at line 279 of file indiproperty.cpp.

◆ getState()

IPState Property::getState ( ) const

Definition at line 380 of file indiproperty.cpp.

◆ getStateAsString()

const char * Property::getStateAsString ( ) const

Definition at line 387 of file indiproperty.cpp.

◆ getSwitch()

PropertyViewSwitch * Property::getSwitch ( ) const

Definition at line 482 of file indiproperty.cpp.

◆ getText()

PropertyViewText * Property::getText ( ) const

Definition at line 464 of file indiproperty.cpp.

◆ getTimestamp()

const char * Property::getTimestamp ( ) const

Definition at line 373 of file indiproperty.cpp.

◆ getType()

INDI_PROPERTY_TYPE Property::getType ( ) const

Definition at line 253 of file indiproperty.cpp.

◆ getTypeAsString()

const char * Property::getTypeAsString ( ) const

Definition at line 259 of file indiproperty.cpp.

◆ hasUpdateCallback()

bool Property::hasUpdateCallback ( ) const

Definition at line 537 of file indiproperty.cpp.

◆ isDeviceNameMatch() [1/2]

bool Property::isDeviceNameMatch ( const char *  otherDeviceName) const

Definition at line 440 of file indiproperty.cpp.

◆ isDeviceNameMatch() [2/2]

bool Property::isDeviceNameMatch ( const std::string &  otherDeviceName) const

Definition at line 445 of file indiproperty.cpp.

◆ isDynamic()

bool Property::isDynamic ( ) const

Definition at line 285 of file indiproperty.cpp.

◆ isEmpty()

bool Property::isEmpty ( ) const

Definition at line 399 of file indiproperty.cpp.

◆ isLabelMatch() [1/2]

bool Property::isLabelMatch ( const char *  otherLabel) const

Definition at line 426 of file indiproperty.cpp.

◆ isLabelMatch() [2/2]

bool Property::isLabelMatch ( const std::string &  otherLabel) const

Definition at line 433 of file indiproperty.cpp.

◆ isNameMatch() [1/2]

bool Property::isNameMatch ( const char *  otherName) const

Definition at line 412 of file indiproperty.cpp.

◆ isNameMatch() [2/2]

bool Property::isNameMatch ( const std::string &  otherName) const

Definition at line 419 of file indiproperty.cpp.

◆ isTypeMatch()

bool Property::isTypeMatch ( INDI_PROPERTY_TYPE  otherType) const

Definition at line 450 of file indiproperty.cpp.

◆ isValid()

bool Property::isValid ( ) const
Examples
tutorial_client.cpp.

Definition at line 406 of file indiproperty.cpp.

◆ onUpdate()

void Property::onUpdate ( const std::function< void()> &  callback)
Examples
dome.cpp, and simpleskeleton.cpp.

Definition at line 524 of file indiproperty.cpp.

◆ operator bool() [1/2]

INDI::Property::operator bool ( )
inline

Definition at line 199 of file indiproperty.h.

◆ operator bool() [2/2]

INDI::Property::operator bool ( ) const
inline

Definition at line 198 of file indiproperty.h.

◆ operator const INDI::Property *()

Property::operator const INDI::Property * ( ) const

Definition at line 96 of file indiproperty.cpp.

◆ operator INDI::Property *()

Property::operator INDI::Property * ( )

Definition at line 90 of file indiproperty.cpp.

◆ operator INDI::PropertyViewBlob *()

INDI::Property::operator INDI::PropertyViewBlob * ( ) const
inline

Definition at line 190 of file indiproperty.h.

◆ operator INDI::PropertyViewLight *()

INDI::Property::operator INDI::PropertyViewLight * ( ) const
inline

Definition at line 187 of file indiproperty.h.

◆ operator INDI::PropertyViewNumber *()

INDI::Property::operator INDI::PropertyViewNumber * ( ) const
inline

Definition at line 178 of file indiproperty.h.

◆ operator INDI::PropertyViewSwitch *()

INDI::Property::operator INDI::PropertyViewSwitch * ( ) const
inline

Definition at line 184 of file indiproperty.h.

◆ operator INDI::PropertyViewText *()

INDI::Property::operator INDI::PropertyViewText * ( ) const
inline

Definition at line 181 of file indiproperty.h.

◆ operator!=()

bool INDI::Property::operator!= ( std::nullptr_t  ) const
inline

Definition at line 193 of file indiproperty.h.

◆ operator->() [1/2]

INDI::Property * Property::operator-> ( )

Definition at line 80 of file indiproperty.cpp.

◆ operator->() [2/2]

const INDI::Property * Property::operator-> ( ) const

Definition at line 85 of file indiproperty.cpp.

◆ operator==()

bool INDI::Property::operator== ( std::nullptr_t  ) const
inline

Definition at line 196 of file indiproperty.h.

◆ save()

void Property::save ( FILE *  fp) const

Definition at line 500 of file indiproperty.cpp.

◆ self()

INDI::Property * Property::self ( )
protected

Definition at line 103 of file indiproperty.cpp.

◆ setBaseDevice() [1/2]

void Property::setBaseDevice ( BaseDevice idp)

Definition at line 235 of file indiproperty.cpp.

◆ setBaseDevice() [2/2]

void Property::setBaseDevice ( BaseDevice  device)

Definition at line 241 of file indiproperty.cpp.

◆ setDeviceName()

void Property::setDeviceName ( const char *  deviceName)

Definition at line 315 of file indiproperty.cpp.

◆ setDynamic()

void Property::setDynamic ( bool  d)

Definition at line 229 of file indiproperty.cpp.

◆ setGroupName()

void Property::setGroupName ( const char *  groupName)

Definition at line 309 of file indiproperty.cpp.

◆ setLabel()

void Property::setLabel ( const char *  label)

Definition at line 303 of file indiproperty.cpp.

◆ setName()

void Property::setName ( const char *  name)

Definition at line 297 of file indiproperty.cpp.

◆ setPermission()

void Property::setPermission ( IPerm  permission)

Definition at line 333 of file indiproperty.cpp.

◆ setProperty()

void Property::setProperty ( void *  p)

Definition at line 209 of file indiproperty.cpp.

◆ setRegistered()

void Property::setRegistered ( bool  r)

Definition at line 223 of file indiproperty.cpp.

◆ setState()

void Property::setState ( IPState  state)

Definition at line 327 of file indiproperty.cpp.

◆ setTimeout()

void Property::setTimeout ( double  timeout)

Definition at line 339 of file indiproperty.cpp.

◆ setTimestamp()

void Property::setTimestamp ( const char *  timestamp)

Definition at line 321 of file indiproperty.cpp.

◆ setType()

void Property::setType ( INDI_PROPERTY_TYPE  t)

Definition at line 217 of file indiproperty.cpp.

Friends And Related Function Documentation

◆ BaseDevicePrivate

friend class BaseDevicePrivate
friend

Definition at line 213 of file indiproperty.h.

◆ PropertyBlob

friend class PropertyBlob
friend

Definition at line 210 of file indiproperty.h.

◆ PropertyLight

friend class PropertyLight
friend

Definition at line 209 of file indiproperty.h.

◆ PropertyNumber

friend class PropertyNumber
friend

Definition at line 206 of file indiproperty.h.

◆ PropertySwitch

friend class PropertySwitch
friend

Definition at line 208 of file indiproperty.h.

◆ PropertyText

friend class PropertyText
friend

Definition at line 207 of file indiproperty.h.

Member Data Documentation

◆ d_ptr

std::shared_ptr<PropertyPrivate> INDI::Property::d_ptr
protected

Definition at line 203 of file indiproperty.h.


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