8#ifndef SERIALIZATIONHELPER_H_
9#define SERIALIZATIONHELPER_H_
11#include <pv/serialize.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>
23class 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);
Copyright - See the COPYRIGHT that is included with this distribution.