8 #ifndef SERIALIZATIONHELPER_H_
9 #define SERIALIZATIONHELPER_H_
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>
17 #include <pv/pvaConstants.h>
18 #include <pv/pvAccess.h>
23 class epicsShareClass SerializationHelper {
24 EPICS_NOT_COPYABLE(SerializationHelper)
27 static epics::pvData::PVDataCreatePtr _pvDataCreate;
34 static epics::pvData::PVStructure::shared_pointer deserializePVRequest(epics::pvData::ByteBuffer* payloadBuffer, epics::pvData::DeserializableControl* control);
44 static epics::pvData::PVStructure::shared_pointer deserializeStructureAndCreatePVStructure(epics::pvData::ByteBuffer* payloadBuffer,
45 epics::pvData::DeserializableControl* control,
46 epics::pvData::PVStructure::shared_pointer const & existingStructure = epics::pvData::PVStructure::shared_pointer());
53 static epics::pvData::PVStructure::shared_pointer deserializeStructureFull(epics::pvData::ByteBuffer* payloadBuffer, epics::pvData::DeserializableControl* control);
60 static epics::pvData::PVField::shared_pointer deserializeFull(epics::pvData::ByteBuffer* payloadBuffer, epics::pvData::DeserializableControl* control);
67 static
void serializeNullField(epics::pvData::ByteBuffer* buffer, epics::pvData::SerializableControl* control);
73 static
void serializePVRequest(epics::pvData::ByteBuffer* buffer, epics::pvData::SerializableControl* control, epics::pvData::PVStructure::shared_pointer const & pvRequest);
79 static
void serializeStructureFull(epics::pvData::ByteBuffer* buffer, epics::pvData::SerializableControl* control, epics::pvData::PVStructure::shared_pointer const & pvStructure);
85 static
void serializeFull(epics::pvData::ByteBuffer* buffer, epics::pvData::SerializableControl* control, const epics::pvData::PVField::const_shared_pointer &pvField);