PVData C++  8.0.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
epics::pvData::DeserializableControl Class Referenceabstract

Callback class for deserialization. More...

#include <misc/pv/serialize.h>

Public Member Functions

virtual ~DeserializableControl ()
 
virtual void ensureData (std::size_t size)=0
 
virtual void alignData (std::size_t alignment)
 
virtual bool directDeserialize (ByteBuffer *existingBuffer, char *deserializeTo, std::size_t elementCount, std::size_t elementSize)=0
 
virtual std::tr1::shared_ptr
< const Field
cachedDeserialize (ByteBuffer *buffer)=0
 

Detailed Description

Callback class for deserialization.

This must be provided by code that calls deserialize.

Definition at line 93 of file serialize.h.

Constructor & Destructor Documentation

virtual epics::pvData::DeserializableControl::~DeserializableControl ( )
inlinevirtual

Destructor.

Definition at line 98 of file serialize.h.

Member Function Documentation

virtual std::tr1::shared_ptr<const Field> epics::pvData::DeserializableControl::cachedDeserialize ( ByteBuffer buffer)
pure virtual

deserialize via cache

Parameters
bufferbuffer to be deserialized from
virtual bool epics::pvData::DeserializableControl::directDeserialize ( ByteBuffer existingBuffer,
char *  deserializeTo,
std::size_t  elementCount,
std::size_t  elementSize 
)
pure virtual

Method for deserializing array data. Hook for supplying custom deserialization implementation. The deserialization implementation need not be provided. Returns true if method performs deserialization, false otherwise. This should only be used for arrays of primitive types. i.e. boolean, byte,..., double. It cannot be called for string, structure, or union arrays.

Parameters
existingBufferthe existing buffer from the caller.
deserializeTolocation of data.
elementCountnumber of elements.
elementSizeelement size.
Returns
true if deserialization performed, else false.
virtual void epics::pvData::DeserializableControl::ensureData ( std::size_t  size)
pure virtual

Helper method. Ensures specified size of bytes, provides it if necessary.

Parameters
sizeThe number of bytes.

The documentation for this class was generated from the following file: