plist::PrimitiveBase Class Reference#include <plistBase.h>
List of all members.
Detailed Description
Provides common functionality to all primitive value classes (implemented in a templated subclass Primitive).
This class supports callbacks upon modification through the use of the PrimitiveListener interface. Note that we only store a pointer to the listener list, which is typically unallocated when no listeners are active. This should ensure minimal memory usage per object, as well as support safe storage of plist objects in inter-process shared memory regions.
If you are using these in a shared memory region, just be sure that only the process with listeners does any and all modifications, and that it unsubscribes before detaching from the region (or else destroys the region itself)
Definition at line 232 of file plistBase.h.
Constructor & Destructor Documentation
plist::PrimitiveBase::PrimitiveBase |
( |
|
) |
[inline] |
plist::PrimitiveBase::PrimitiveBase |
( |
const PrimitiveBase & |
pb |
) |
[inline] |
copy constructor (don't copy listeners)
Definition at line 237 of file plistBase.h.
plist::PrimitiveBase::~PrimitiveBase |
( |
|
) |
|
Member Function Documentation
assignment (don't assign listeners); doesn't trigger fireValueChanged, subclass should do that from its own operator=() following assignment
Reimplemented in plist::Primitive< T >, plist::Primitive< char >, plist::Primitive< unsigned char >, plist::Primitive< std::string >, plist::NamedEnumerationBase, plist::NamedEnumeration< T >, plist::Primitive< float >, plist::Primitive< int >, plist::Primitive< unsigned int >, plist::Primitive< bool >, plist::NamedEnumeration< J_DCT_METHOD >, plist::NamedEnumeration< Config::vision_config::shutter_speeds >, plist::NamedEnumeration< Config::main_config::consoleMode_t >, plist::NamedEnumeration< Config::sound_config::volume_levels >, plist::NamedEnumeration< Config::vision_config::white_balance_levels >, plist::NamedEnumeration< Config::transports >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::encoding_t >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::compression_t >, plist::NamedEnumeration< Config::vision_config::SegCamConfig::compression_t >, and plist::NamedEnumeration< Config::vision_config::gain_levels >.
Definition at line 239 of file plistBase.h.
Referenced by plist::NamedEnumerationBase::operator=().
assignment from Primitive<string>, solely to resolve ambiguity with this type between operator=(PrimitiveBase) and operator=(std::string)
Definition at line 100 of file plistBase.cc.
PrimitiveBase & plist::PrimitiveBase::operator= |
( |
const std::string & |
v |
) |
|
assignment from std::string, wraps it in a plist::Primitive and passes on to operator=(PrimitiveBase)
Reimplemented in plist::Primitive< std::string >, plist::NamedEnumerationBase, plist::NamedEnumeration< T >, plist::NamedEnumeration< J_DCT_METHOD >, plist::NamedEnumeration< Config::vision_config::shutter_speeds >, plist::NamedEnumeration< Config::main_config::consoleMode_t >, plist::NamedEnumeration< Config::sound_config::volume_levels >, plist::NamedEnumeration< Config::vision_config::white_balance_levels >, plist::NamedEnumeration< Config::transports >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::encoding_t >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::compression_t >, plist::NamedEnumeration< Config::vision_config::SegCamConfig::compression_t >, and plist::NamedEnumeration< Config::vision_config::gain_levels >.
Definition at line 101 of file plistBase.cc.
PrimitiveBase & plist::PrimitiveBase::operator= |
( |
unsigned long |
v |
) |
|
virtual void plist::PrimitiveBase::set |
( |
const std::string & |
str |
) |
[pure virtual] |
assign a new value
Implemented in plist::Primitive< T >, plist::Primitive< char >, plist::Primitive< unsigned char >, plist::Primitive< std::string >, plist::NamedEnumeration< T >, plist::Primitive< float >, plist::Primitive< int >, plist::Primitive< unsigned int >, plist::Primitive< bool >, plist::NamedEnumeration< J_DCT_METHOD >, plist::NamedEnumeration< Config::vision_config::shutter_speeds >, plist::NamedEnumeration< Config::main_config::consoleMode_t >, plist::NamedEnumeration< Config::sound_config::volume_levels >, plist::NamedEnumeration< Config::vision_config::white_balance_levels >, plist::NamedEnumeration< Config::transports >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::encoding_t >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::compression_t >, plist::NamedEnumeration< Config::vision_config::SegCamConfig::compression_t >, and plist::NamedEnumeration< Config::vision_config::gain_levels >.
Referenced by ConfigurationEditor::NamedEnumerationEditor::doSelect(), ConfigurationEditor::refresh(), and Controller::setConfig().
virtual void plist::PrimitiveBase::set |
( |
const ObjectBase & |
|
) |
[inline, virtual] |
polymorphic assignment (throws std::bad_cast if the assignment is between invalid types, i.e. a primitive and a collection, or different collection types)
Implements plist::ObjectBase.
Definition at line 255 of file plistBase.h.
virtual std::string plist::PrimitiveBase::get |
( |
|
) |
const [pure virtual] |
return current value as a string
Implemented in plist::Primitive< T >, plist::Primitive< char >, plist::Primitive< unsigned char >, plist::Primitive< std::string >, plist::NamedEnumeration< T >, plist::Primitive< float >, plist::Primitive< int >, plist::Primitive< unsigned int >, plist::Primitive< bool >, plist::NamedEnumeration< J_DCT_METHOD >, plist::NamedEnumeration< Config::vision_config::shutter_speeds >, plist::NamedEnumeration< Config::main_config::consoleMode_t >, plist::NamedEnumeration< Config::sound_config::volume_levels >, plist::NamedEnumeration< Config::vision_config::white_balance_levels >, plist::NamedEnumeration< Config::transports >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::encoding_t >, plist::NamedEnumeration< Config::vision_config::RawCamConfig::compression_t >, plist::NamedEnumeration< Config::vision_config::SegCamConfig::compression_t >, and plist::NamedEnumeration< Config::vision_config::gain_levels >.
virtual std::string plist::PrimitiveBase::toString |
( |
|
) |
const [inline, virtual] |
get notified of changes; be sure to call removeValueListener before destructing vl!
Definition at line 111 of file plistBase.cc.
void plist::PrimitiveBase::removePrimitiveListener |
( |
PrimitiveListener * |
vl |
) |
[virtual] |
no longer take notification of changes to this object's value
Definition at line 118 of file plistBase.cc.
test if l is currently registered as a listener
Definition at line 130 of file plistBase.cc.
void plist::PrimitiveBase::fireValueChanged |
( |
bool |
touch |
) |
const [protected, virtual] |
run through primitiveListeners, calling PrimitiveListener::plistValueChanged(*this) or PrimitiveListener::plistValueTouched(*this)
Definition at line 138 of file plistBase.cc.
Referenced by plist::Primitive< T >::loadXML(), plist::Primitive< unsigned char >::loadXML(), plist::Primitive< char >::loadXML(), plist::Primitive< bool >::loadXML(), plist::Primitive< unsigned char >::operator *=(), plist::Primitive< char >::operator *=(), plist::Primitive< bool >::operator *=(), plist::Primitive< unsigned char >::operator+=(), plist::Primitive< char >::operator+=(), plist::Primitive< bool >::operator+=(), plist::Primitive< unsigned char >::operator-=(), plist::Primitive< char >::operator-=(), plist::Primitive< bool >::operator-=(), plist::Primitive< unsigned char >::operator/=(), plist::Primitive< char >::operator/=(), plist::Primitive< bool >::operator/=(), plist::NamedEnumeration< Config::vision_config::gain_levels >::operator=(), plist::Primitive< std::string >::operator=(), plist::Primitive< unsigned char >::operator=(), plist::Primitive< char >::operator=(), plist::Primitive< bool >::operator=(), plist::NamedEnumeration< Config::vision_config::gain_levels >::set(), plist::Primitive< T >::set(), plist::Primitive< unsigned char >::set(), plist::Primitive< char >::set(), and plist::Primitive< bool >::set().
Member Data Documentation
The documentation for this class was generated from the following files:
|