This is Unofficial EPICS BASE Doxygen Site
serializationHelper.h
Go to the documentation of this file.
1 /*
2  * serializationHelper.h
3  *
4  * Created on: Jul 24, 2012
5  * Author: msekoranja
6  */
7 
8 #ifndef SERIALIZATIONHELPER_H_
9 #define SERIALIZATIONHELPER_H_
10 
11 #include <pv/serialize.h>
12 #include <pv/pvData.h>
13 #include <pv/noDefaultMethods.h>
14 #include <pv/pvIntrospect.h>
15 #include <pv/byteBuffer.h>
16 
17 #include <pv/pvaConstants.h>
18 #include <pv/pvAccess.h>
19 
20 namespace epics {
21 namespace pvAccess {
22 
25 public:
26 
28 
34  static epics::pvData::PVStructure::shared_pointer deserializePVRequest(epics::pvData::ByteBuffer* payloadBuffer, epics::pvData::DeserializableControl* control);
35 
44  static epics::pvData::PVStructure::shared_pointer deserializeStructureAndCreatePVStructure(epics::pvData::ByteBuffer* payloadBuffer,
46  epics::pvData::PVStructure::shared_pointer const & existingStructure = epics::pvData::PVStructure::shared_pointer());
47 
53  static epics::pvData::PVStructure::shared_pointer deserializeStructureFull(epics::pvData::ByteBuffer* payloadBuffer, epics::pvData::DeserializableControl* control);
54 
60  static epics::pvData::PVField::shared_pointer deserializeFull(epics::pvData::ByteBuffer* payloadBuffer, epics::pvData::DeserializableControl* control);
61 
67  static void serializeNullField(epics::pvData::ByteBuffer* buffer, epics::pvData::SerializableControl* control);
68 
73  static void serializePVRequest(epics::pvData::ByteBuffer* buffer, epics::pvData::SerializableControl* control, epics::pvData::PVStructure::shared_pointer const & pvRequest);
74 
79  static void serializeStructureFull(epics::pvData::ByteBuffer* buffer, epics::pvData::SerializableControl* control, epics::pvData::PVStructure::shared_pointer const & pvStructure);
80 
85  static void serializeFull(epics::pvData::ByteBuffer* buffer, epics::pvData::SerializableControl* control, const epics::pvData::PVField::const_shared_pointer &pvField);
86 
87 };
88 
89 }
90 }
91 
92 #endif /* SERIALIZATIONHELPER_H_ */
TODO only here because of the Lockable.
Definition: ntaggregate.cpp:16
Callback class for deserialization.
Definition: serialize.h:89
std::tr1::shared_ptr< PVDataCreate > PVDataCreatePtr
Definition: pvData.h:124
#define epicsShareClass
Definition: shareLib.h:206
This class implements a Bytebuffer that is like the java.nio.ByteBuffer.
Definition: byteBuffer.h:233
Callback class for serialization.
Definition: serialize.h:34
static epics::pvData::PVDataCreatePtr _pvDataCreate
#define EPICS_NOT_COPYABLE(CLASS)
Disable implicit copyable.