#include <adskDataChannelSerializer.h>
Class handling the definition of the format for serialization of data Channels.
The adsk::Data::Channel class manages channel definitions. They are persisted using a serialization format implemented through the adsk::Data::ChannelSerializer hierarchy. The base class defines the interface and manages the list of available channel serialization formats.
Public Member Functions | |
ChannelSerializer () | |
Default constructor, does nothing. | |
virtual | ~ChannelSerializer () |
Default destructor, does nothing. | |
virtual Channel * | read (std::istream &cSrc, std::string &errors) const =0 |
Implement this to parse the serialized form of an adsk::Data::Channel object. More... | |
virtual int | write (const Channel &dataToWrite, std::ostream &cDst, std::string &errors) const =0 |
Implement this to output the adsk::Data::Channel definition in your serialization format. More... | |
virtual void | getFormatDescription (std::ostream &info) const =0 |
Implement this to provide a description of your adsk::Data::Channel serialization format. More... | |
|
pure virtual |
Implement this to parse the serialized form of an adsk::Data::Channel object.
Given an input stream containing your serialization of an adsk::Data::Channel object parse the data and create the adsk::Data::Channel object it describes.
If there are any problems the detailed error information should be returned in the errors string.
The adsk::Data::Channel parsing should also recursively populate any adsk::Data::Streams within the adsk::Data::Channel.
This method should be capable of understanding any data your adsk::Data::ChannelSerializer::write() method can provide.
[in] | cSrc | Input stream containing serialization of the adsk::Data::Channel object |
[out] | errors | String containing description of parse errors |
|
pure virtual |
Implement this to output the adsk::Data::Channel definition in your serialization format.
Given an adsk::Data::Channel object and an output stream as destination write out enough information so that you can recreate the adsk::Data::Channel from data in the output stream using your adsk::Data::ChannelSerializer::read() method.
This serialization should recursively include all of the adsk::Data::Stream in the adsk::Data::Channel.
[in] | dataToWrite | adsk::Data::Channel to be serialized |
[out] | cDst | Output stream to which the object is to be serialized |
[out] | errors | String containing description of output errors |
|
pure virtual |
Implement this to provide a description of your adsk::Data::Channel serialization format.
Output a textual description of your serialization format into the given stream.
[out] | info | Output stream to receive your serialization format description |