Instrument Neutral Distributed Interface INDI 2.2.5
Public Types | Public Member Functions | Protected Member Functions | List of all members
INDI::PropertyBasic< T > Class Template Reference

#include <indipropertybasic.h>

Inheritance diagram for INDI::PropertyBasic< T >:
INDI::Property

Public Types

using ViewType = T
 

Public Member Functions

 ~PropertyBasic ()
 
void setDeviceName (const char *name)
 
void setDeviceName (const std::string &name)
 
void setName (const char *name)
 
void setName (const std::string &name)
 
void setLabel (const char *label)
 
void setLabel (const std::string &label)
 
void setGroupName (const char *name)
 
void setGroupName (const std::string &name)
 
void setPermission (IPerm permission)
 
void setTimeout (double timeout)
 
void setState (IPState state)
 
void setTimestamp (const char *timestamp)
 
void setTimestamp (const std::string &timestamp)
 
const char * getDeviceName () const
 
const char * getName () const
 
const char * getLabel () const
 
const char * getGroupName () const
 
IPerm getPermission () const
 
const char * getPermissionAsString () const
 
double getTimeout () const
 
IPState getState () const
 
const char * getStateAsString () const
 
const char * getTimestamp () const
 
bool isEmpty () 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 load ()
 load Attempt to load property values from configuration file.
 
void save (FILE *f) const
 save Save property to configuration file.
 
bool snoop (XMLEle *root)
 Inspect the root XML and snoop the property if it exists in the root element.
 
void vapply (const char *format, va_list args) const
 
void vdefine (const char *format, va_list args) 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
 
size_t size () const
 
size_t count () const
 
void reserve (size_t size)
 
void resize (size_t size)
 
void shrink_to_fit ()
 
void push (WidgetView< T > &&item)
 
void push (const WidgetView< T > &item)
 
const WidgetView< T > * at (size_t index) const
 
WidgetView< T > & operator[] (int index) const
 
WidgetView< T > * begin ()
 
WidgetView< T > * end ()
 
const WidgetView< T > * begin () const
 
const WidgetView< T > * end () const
 
template<typename Predicate >
WidgetView< T > * find_if (Predicate pred)
 
template<typename Predicate >
const WidgetView< T > * find_if (Predicate pred) const
 
WidgetView< T > * findWidgetByName (const char *name) const
 
int findWidgetIndexByName (const char *name) const
 
INDI::PropertyView< T > * operator-> ()
 
INDI::PropertyView< T > operator* ()
 
- Public Member Functions inherited from INDI::Property
 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
 
bool load ()
 
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::PropertyViewNumber * getNumber () const
 
INDI::PropertyViewText * getText () const
 
INDI::PropertyViewSwitch * getSwitch () const
 
INDI::PropertyViewLight * getLight () const
 
INDI::PropertyViewBlob * getBLOB () const
 
INDI::Property * operator-> ()
 
const INDI::Property * operator-> () 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

PropertyView< T > * operator& ()
 
 PropertyBasic (PropertyBasicPrivate &dd)
 
 PropertyBasic (const std::shared_ptr< PropertyBasicPrivate > &dd)
 
- Protected Member Functions inherited from INDI::Property
 Property (const std::shared_ptr< PropertyPrivate > &dd)
 
 Property (PropertyPrivate &dd)
 
INDI::Property * self ()
 

Additional Inherited Members

- Protected Attributes inherited from INDI::Property
std::shared_ptr< PropertyPrivate > d_ptr
 

Detailed Description

template<typename T>
class INDI::PropertyBasic< T >

Definition at line 38 of file indipropertybasic.h.

Member Typedef Documentation

◆ ViewType

template<typename T >
using INDI::PropertyBasic< T >::ViewType = T

Definition at line 43 of file indipropertybasic.h.

Constructor & Destructor Documentation

◆ ~PropertyBasic()

template<typename T >
INDI::PropertyBasic< T >::~PropertyBasic ( )

Definition at line 73 of file indipropertybasic.cpp.

◆ PropertyBasic() [1/2]

template<typename T >
INDI::PropertyBasic< T >::PropertyBasic ( PropertyBasicPrivate &  dd)
protected

Definition at line 77 of file indipropertybasic.cpp.

◆ PropertyBasic() [2/2]

template<typename T >
INDI::PropertyBasic< T >::PropertyBasic ( const std::shared_ptr< PropertyBasicPrivate > &  dd)
protected

Definition at line 82 of file indipropertybasic.cpp.

Member Function Documentation

◆ apply() [1/2]

template<typename T >
void INDI::PropertyBasic< T >::apply ( ) const

Definition at line 338 of file indipropertybasic.cpp.

◆ apply() [2/2]

template<typename T >
void INDI::PropertyBasic< T >::apply ( const char *  format,
  ... 
) const

Definition at line 318 of file indipropertybasic.cpp.

◆ at()

template<typename T >
const WidgetView< T > * INDI::PropertyBasic< T >::at ( size_t  index) const

Definition at line 424 of file indipropertybasic.cpp.

◆ begin() [1/2]

template<typename T >
WidgetView< T > * INDI::PropertyBasic< T >::begin ( )

Definition at line 439 of file indipropertybasic.cpp.

◆ begin() [2/2]

template<typename T >
const WidgetView< T > * INDI::PropertyBasic< T >::begin ( ) const

Definition at line 453 of file indipropertybasic.cpp.

◆ count()

template<typename T >
size_t INDI::PropertyBasic< T >::count ( ) const
inline

Definition at line 126 of file indipropertybasic.h.

◆ define() [1/2]

template<typename T >
void INDI::PropertyBasic< T >::define ( ) const

Definition at line 345 of file indipropertybasic.cpp.

◆ define() [2/2]

template<typename T >
void INDI::PropertyBasic< T >::define ( const char *  format,
  ... 
) const

Definition at line 328 of file indipropertybasic.cpp.

◆ end() [1/2]

template<typename T >
WidgetView< T > * INDI::PropertyBasic< T >::end ( )

Definition at line 446 of file indipropertybasic.cpp.

◆ end() [2/2]

template<typename T >
const WidgetView< T > * INDI::PropertyBasic< T >::end ( ) const

Definition at line 460 of file indipropertybasic.cpp.

◆ find_if() [1/2]

template<typename T >
template<typename Predicate >
WidgetView< T > * INDI::PropertyBasic< T >::find_if ( Predicate  pred)
inline

Definition at line 151 of file indipropertybasic.h.

◆ find_if() [2/2]

template<typename T >
template<typename Predicate >
const WidgetView< T > * INDI::PropertyBasic< T >::find_if ( Predicate  pred) const
inline

Definition at line 157 of file indipropertybasic.h.

◆ findWidgetByName()

template<typename T >
WidgetView< T > * INDI::PropertyBasic< T >::findWidgetByName ( const char *  name) const

Definition at line 352 of file indipropertybasic.cpp.

◆ findWidgetIndexByName()

template<typename T >
int INDI::PropertyBasic< T >::findWidgetIndexByName ( const char *  name) const

Definition at line 359 of file indipropertybasic.cpp.

◆ getDeviceName()

template<typename T >
const char * INDI::PropertyBasic< T >::getDeviceName ( ) const

Definition at line 178 of file indipropertybasic.cpp.

◆ getGroupName()

template<typename T >
const char * INDI::PropertyBasic< T >::getGroupName ( ) const

Definition at line 199 of file indipropertybasic.cpp.

◆ getLabel()

template<typename T >
const char * INDI::PropertyBasic< T >::getLabel ( ) const

Definition at line 192 of file indipropertybasic.cpp.

◆ getName()

template<typename T >
const char * INDI::PropertyBasic< T >::getName ( ) const

Definition at line 185 of file indipropertybasic.cpp.

◆ getPermission()

template<typename T >
IPerm INDI::PropertyBasic< T >::getPermission ( ) const

Definition at line 206 of file indipropertybasic.cpp.

◆ getPermissionAsString()

template<typename T >
const char * INDI::PropertyBasic< T >::getPermissionAsString ( ) const

Definition at line 213 of file indipropertybasic.cpp.

◆ getState()

template<typename T >
IPState INDI::PropertyBasic< T >::getState ( ) const

Definition at line 227 of file indipropertybasic.cpp.

◆ getStateAsString()

template<typename T >
const char * INDI::PropertyBasic< T >::getStateAsString ( ) const

Definition at line 234 of file indipropertybasic.cpp.

◆ getTimeout()

template<typename T >
double INDI::PropertyBasic< T >::getTimeout ( ) const

Definition at line 220 of file indipropertybasic.cpp.

◆ getTimestamp()

template<typename T >
const char * INDI::PropertyBasic< T >::getTimestamp ( ) const

Definition at line 241 of file indipropertybasic.cpp.

◆ isEmpty()

template<typename T >
bool INDI::PropertyBasic< T >::isEmpty ( ) const

Definition at line 248 of file indipropertybasic.cpp.

◆ isLabelMatch() [1/2]

template<typename T >
bool INDI::PropertyBasic< T >::isLabelMatch ( const char *  otherLabel) const

Definition at line 269 of file indipropertybasic.cpp.

◆ isLabelMatch() [2/2]

template<typename T >
bool INDI::PropertyBasic< T >::isLabelMatch ( const std::string &  otherLabel) const

Definition at line 276 of file indipropertybasic.cpp.

◆ isNameMatch() [1/2]

template<typename T >
bool INDI::PropertyBasic< T >::isNameMatch ( const char *  otherName) const

Definition at line 255 of file indipropertybasic.cpp.

◆ isNameMatch() [2/2]

template<typename T >
bool INDI::PropertyBasic< T >::isNameMatch ( const std::string &  otherName) const

Definition at line 262 of file indipropertybasic.cpp.

◆ load()

template<typename T >
bool INDI::PropertyBasic< T >::load ( )

load Attempt to load property values from configuration file.

Returns
True if value was read successfully from file, false otherwise.

Definition at line 283 of file indipropertybasic.cpp.

◆ operator&()

template<typename T >
PropertyView< T > * INDI::PropertyBasic< T >::operator& ( )
protected

Definition at line 467 of file indipropertybasic.cpp.

◆ operator*()

template<typename T >
INDI::PropertyView< T > INDI::PropertyBasic< T >::operator* ( )

Definition at line 482 of file indipropertybasic.cpp.

◆ operator->()

template<typename T >
PropertyView< T > * INDI::PropertyBasic< T >::operator-> ( )

Definition at line 475 of file indipropertybasic.cpp.

◆ operator[]()

template<typename T >
WidgetView< T > & INDI::PropertyBasic< T >::operator[] ( int  index) const

Definition at line 431 of file indipropertybasic.cpp.

◆ push() [1/2]

template<typename T >
void INDI::PropertyBasic< T >::push ( const WidgetView< T > &  item)

Definition at line 418 of file indipropertybasic.cpp.

◆ push() [2/2]

template<typename T >
void INDI::PropertyBasic< T >::push ( WidgetView< T > &&  item)

Definition at line 406 of file indipropertybasic.cpp.

◆ reserve()

template<typename T >
void INDI::PropertyBasic< T >::reserve ( size_t  size)

Definition at line 384 of file indipropertybasic.cpp.

◆ resize()

template<typename T >
void INDI::PropertyBasic< T >::resize ( size_t  size)

Definition at line 373 of file indipropertybasic.cpp.

◆ save()

template<typename T >
void INDI::PropertyBasic< T >::save ( FILE *  f) const

save Save property to configuration file.

Parameters
fPointer to existing open configuration file.

Definition at line 290 of file indipropertybasic.cpp.

◆ setDeviceName() [1/2]

template<typename T >
void INDI::PropertyBasic< T >::setDeviceName ( const char *  name)

Definition at line 87 of file indipropertybasic.cpp.

◆ setDeviceName() [2/2]

template<typename T >
void INDI::PropertyBasic< T >::setDeviceName ( const std::string &  name)

Definition at line 94 of file indipropertybasic.cpp.

◆ setGroupName() [1/2]

template<typename T >
void INDI::PropertyBasic< T >::setGroupName ( const char *  name)

Definition at line 129 of file indipropertybasic.cpp.

◆ setGroupName() [2/2]

template<typename T >
void INDI::PropertyBasic< T >::setGroupName ( const std::string &  name)

Definition at line 136 of file indipropertybasic.cpp.

◆ setLabel() [1/2]

template<typename T >
void INDI::PropertyBasic< T >::setLabel ( const char *  label)

Definition at line 115 of file indipropertybasic.cpp.

◆ setLabel() [2/2]

template<typename T >
void INDI::PropertyBasic< T >::setLabel ( const std::string &  label)

Definition at line 122 of file indipropertybasic.cpp.

◆ setName() [1/2]

template<typename T >
void INDI::PropertyBasic< T >::setName ( const char *  name)

Definition at line 101 of file indipropertybasic.cpp.

◆ setName() [2/2]

template<typename T >
void INDI::PropertyBasic< T >::setName ( const std::string &  name)

Definition at line 108 of file indipropertybasic.cpp.

◆ setPermission()

template<typename T >
void INDI::PropertyBasic< T >::setPermission ( IPerm  permission)

Definition at line 143 of file indipropertybasic.cpp.

◆ setState()

template<typename T >
void INDI::PropertyBasic< T >::setState ( IPState  state)

Definition at line 157 of file indipropertybasic.cpp.

◆ setTimeout()

template<typename T >
void INDI::PropertyBasic< T >::setTimeout ( double  timeout)

Definition at line 150 of file indipropertybasic.cpp.

◆ setTimestamp() [1/2]

template<typename T >
void INDI::PropertyBasic< T >::setTimestamp ( const char *  timestamp)

Definition at line 164 of file indipropertybasic.cpp.

◆ setTimestamp() [2/2]

template<typename T >
void INDI::PropertyBasic< T >::setTimestamp ( const std::string &  timestamp)

Definition at line 171 of file indipropertybasic.cpp.

◆ shrink_to_fit()

template<typename T >
void INDI::PropertyBasic< T >::shrink_to_fit ( )

Definition at line 395 of file indipropertybasic.cpp.

◆ size()

template<typename T >
size_t INDI::PropertyBasic< T >::size ( ) const

Definition at line 366 of file indipropertybasic.cpp.

◆ snoop()

template<typename T >
bool INDI::PropertyBasic< T >::snoop ( XMLEle *  root)

Inspect the root XML and snoop the property if it exists in the root element.

Parameters
rootXML root element to snoop.
Returns
True if root XML is snooped and property is updated successfully, false otherwise.

Definition at line 297 of file indipropertybasic.cpp.

◆ vapply()

template<typename T >
void INDI::PropertyBasic< T >::vapply ( const char *  format,
va_list  args 
) const

Definition at line 304 of file indipropertybasic.cpp.

◆ vdefine()

template<typename T >
void INDI::PropertyBasic< T >::vdefine ( const char *  format,
va_list  args 
) const

Definition at line 311 of file indipropertybasic.cpp.


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