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);