|
mrfioc2
2.3.0
|
#include <ostream>#include <iostream>#include <sstream>#include <map>#include <set>#include <cstring>#include <string>#include <memory>#include <stdexcept>#include <typeinfo>#include <compilerDependencies.h>#include <epicsThread.h>#include <epicsTypes.h>#include "mrfCommon.h"

Go to the source code of this file.
Classes | |
| class | alarm_exception |
| class | mrf::opNotImplemented |
| Requested operation is not implemented by the property. More... | |
| struct | mrf::propertyBase |
| An un-typed property. More... | |
| struct | mrf::property< P > |
| A bound, typed scalar property. More... | |
| struct | mrf::property< P[1]> |
| A bound, typed array property. More... | |
| struct | mrf::property< void > |
| A momentary/command. More... | |
| struct | mrf::detail::unboundPropertyBase< C > |
| An un-typed, un-bound property for class C. More... | |
| class | mrf::detail::unboundProperty< C, P > |
| An un-bound, typed scalar property. More... | |
| class | mrf::detail::unboundProperty< C, P[1]> |
| An un-bound, typed array property. More... | |
| class | mrf::detail::unboundProperty< C, void > |
| An un-bound momentary/command. More... | |
| class | mrf::detail::propertyInstance< C, P > |
| final scalar implementation More... | |
| class | mrf::detail::propertyInstance< C, P[1]> |
| final array implementation More... | |
| class | mrf::detail::propertyInstance< C, void > |
| class | mrf::Object |
| Base object inspection. More... | |
| struct | mrf::Object::_compName |
| class | mrf::ObjectInst< C, Base > |
| User implementation hook. More... | |
Namespaces | |
| mrf | |
| mrf::detail | |
Macros | |
| #define | EPICS_UNUSED |
| #define | OBJECT_BEGIN2(klass, Base) |
| #define | OBJECT_BEGIN(klass) OBJECT_BEGIN2(klass, Object) |
| #define | OBJECT_PROP1(NAME, GET) props->insert(std::make_pair(static_cast<const char*>(NAME), detail::makeUnboundProperty(NAME, GET) )) |
| #define | OBJECT_PROP2(NAME, GET, SET) props->insert(std::make_pair(static_cast<const char*>(NAME), detail::makeUnboundProperty(NAME, GET, SET) )) |
| #define | OBJECT_FACTORY(FN) addFactory(klassname, FN) |
| #define | OBJECT_END(klass) |
| #define EPICS_UNUSED |
Defines a scheme for working with "properties". A property being a some methods (eg. pair of setter and getter) used to move a value in and out of an otherwise opaque object.
Properties are associated with a class by a property name which can be used to retrieve a property.
Method signatures supported
get/set of scalar value P
void klass::setter(P v); P klass::getter() const;
get/set of array value P
void klass::setter(const P* vals, epicsUInt32 nelem); epicsUInt32 klass::getter(P* vals, epicsUInt32 maxelem); // returns nelem
A momentery/command
void klass::execer();
| #define OBJECT_BEGIN | ( | klass | ) | OBJECT_BEGIN2(klass, Object) |
| #define OBJECT_BEGIN2 | ( | klass, | |
| Base | |||
| ) |
| #define OBJECT_END | ( | klass | ) |
| #define OBJECT_PROP1 | ( | NAME, | |
| GET | |||
| ) | props->insert(std::make_pair(static_cast<const char*>(NAME), detail::makeUnboundProperty(NAME, GET) )) |
1.8.13