20#ifndef RTC_BYTEDATASTREAMBASE_H
21#define RTC_BYTEDATASTREAMBASE_H
23#include <coil/Properties.h>
24#include <coil/Factory.h>
111 virtual void init(
const coil::Properties &prop);
128 virtual void writeData(
const unsigned char *buffer,
unsigned long length) = 0;
145 virtual void readData(
unsigned char *buffer,
unsigned long length)
const = 0;
198 template <
typename DataType>
291 template <
class DataType>
313 template <
class DataType,
class SerializerType>
317 SerializerFactory::instance()
340 template <
class DataType>
344 SerializerFactory::instance().removeFactory(mtype);
362 template <
class DataType>
366 return SerializerFactory::instance().createObject(mtype);
384 template <
class DataType>
387 std::vector<std::string> available_types;
388 std::vector<std::string> types = SerializerFactory::instance().getIdentifiers();
390 for (
auto type : types)
393 if (type.size() >=
id.size() && std::equal(std::begin(
id), std::end(
id), std::begin(type)))
395 type.erase(0,
id.size() + 1);
396 available_types.push_back(type);
399 return available_types;
404EXTERN
template class DLL_PLUGIN coil::GlobalFactory<::RTC::ByteDataStreamBase>;
Definition ByteDataStreamBase.h:63
ByteDataStreamBase()
Constructor.
virtual void init(const coil::Properties &prop)
virtual unsigned long getDataLength() const =0
virtual void writeData(const unsigned char *buffer, unsigned long length)=0
virtual void readData(unsigned char *buffer, unsigned long length) const =0
virtual void isLittleEndian(bool little_endian)
virtual ~ByteDataStreamBase()
Virtual destractor.
Definition ByteDataStreamBase.h:200
ByteDataStream()=default
Constructor.
~ByteDataStream() override=default
Virtual destractor.
virtual bool deserialize(DataType &data)=0
virtual bool serialize(const DataType &data)=0
const char * toRepositoryId()
Getting CORBA defined type as characters.
Definition Typename.h:233
void removeSerializer(const std::string &marshalingtype)
Definition ByteDataStreamBase.h:341
::RTC::ByteDataStreamBase * createSerializer(const std::string &marshalingtype)
Definition ByteDataStreamBase.h:363
std::string addDataTypeToMarshalingType(const std::string &marshalingtype)
Definition ByteDataStreamBase.h:292
void addSerializer(const std::string &marshalingtype)
Definition ByteDataStreamBase.h:314
std::vector< std::string > getSerializerList()
Definition ByteDataStreamBase.h:385
coil::GlobalFactory< ByteDataStreamBase > SerializerFactory
Definition ByteDataStreamBase.h:269