7 #ifndef INTROSPECTIONREGISTRY_H
8 #define INTROSPECTIONREGISTRY_H
13 #ifdef epicsExportSharedSymbols
14 # define introspectionRegistryEpicsExportSharedSymbols
15 # undef epicsExportSharedSymbols
19 #include <pv/pvIntrospect.h>
20 #include <pv/pvData.h>
21 #include <pv/byteBuffer.h>
22 #include <pv/serialize.h>
23 #include <pv/serializeHelper.h>
24 #include <pv/status.h>
25 #include <pv/standardField.h>
27 #ifdef introspectionRegistryEpicsExportSharedSymbols
28 # define epicsExportSharedSymbols
29 # undef introspectionRegistryEpicsExportSharedSymbols
67 epics::pvData::int16 registerIntrospectionInterface(epics::pvData::FieldConstPtr
const & field,
bool& existing);
76 void serialize(epics::pvData::FieldConstPtr
const & field, epics::pvData::ByteBuffer* buffer, epics::pvData::SerializableControl* control);
88 epics::pvData::FieldConstPtr
deserialize(epics::pvData::ByteBuffer* buffer, epics::pvData::DeserializableControl* control);
107 epics::pvData::int16 _pointer;
112 static epics::pvData::FieldCreatePtr _fieldCreate;
114 bool registryContainsValue(epics::pvData::FieldConstPtr
const & field, epics::pvData::int16& key);
epics::pvData::FieldConstPtr deserialize(epics::pvData::ByteBuffer *buffer, epics::pvData::DeserializableControl *control)
Deserializes introspection interface.
void serialize(epics::pvData::FieldConstPtr const &field, epics::pvData::ByteBuffer *buffer, epics::pvData::SerializableControl *control)
Serializes introspection interface.
static const epics::pvData::int8 FULL_WITH_ID_TYPE_CODE
Serialization contains an ID (that can be used later, if cached) and full interface description...
void reset()
Resets registry, i.e.
static const epics::pvData::int8 NULL_TYPE_CODE
Null type.
static const epics::pvData::int8 ONLY_ID_TYPE_CODE
Serialization contains only an ID (that was assigned by one of the previous FULL_WITH_ID descriptions...
PVData Structure registry.