![]() |
This is Unofficial EPICS BASE Doxygen Site
|
Callback class for deserialization. More...
#include "serialize.h"
Public Member Functions | |
virtual | ~DeserializableControl () |
virtual void | ensureData (std::size_t size)=0 |
virtual void | alignData (std::size_t alignment)=0 |
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 |
Callback class for deserialization.
This must be provided by code that calls deserialize.
Definition at line 89 of file serialize.h.
|
inlinevirtual |
|
pure virtual |
Align buffer. Note that this takes care only current buffer alignment. If streaming protocol is used, care must be taken that entire stream is aligned.
alignment | size in bytes, must be power of two. |
Implemented in epics::pvAccess::detail::AbstractCodec, and epics::pvAccess::BlockingUDPTransport.
|
pure virtual |
deserialize via cache
buffer | buffer to be deserialized from |
Implemented in epics::pvAccess::detail::BlockingTCPTransportCodec, and epics::pvAccess::BlockingUDPTransport.
|
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.
existingBuffer | the existing buffer from the caller. |
deserializeTo | location of data. |
elementCount | number of elements. |
elementSize | element size. |
Implemented in epics::pvAccess::detail::AbstractCodec, and epics::pvAccess::BlockingUDPTransport.
|
pure virtual |
Helper method. Ensures specified size of bytes, provides it if necessary.
size | The number of bytes. |
Implemented in epics::pvAccess::detail::AbstractCodec, and epics::pvAccess::BlockingUDPTransport.