ADTF  3.18.2
codec_factory_legacy.h
Go to the documentation of this file.
1 
15 #ifndef DDL_CODEC_FACTORY_LEGACY_CLASS_HEADER
16 #define DDL_CODEC_FACTORY_LEGACY_CLASS_HEADER
17 
18 #include <a_util/preprocessor/deprecated.h> // DEV_ESSENTIAL_DEPRECATED()
19 #include <ddl/codec/codec_factory.h>
23 
25 #define DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY \
26  DEV_ESSENTIAL_DEPRECATED("Use the new ddl::codec::CodecFactory() instead.")
28 
29 namespace ddl {
30 
31 class StructLayout;
36 class CodecFactory {
37 public:
42  DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY
44 
50  DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY
51  CodecFactory(const std::string& struct_name, const std::string& dd_string);
52 
58  DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY
60 
65  DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY
66  CodecFactory(const ddl::dd::StructTypeAccess& struct_type_access);
67 
72  DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY
73  CodecFactory(const DDStructure& dd_struct);
74 
80 
88  inline StaticDecoder makeStaticDecoderFor(const void* data,
89  size_t data_size,
90  DataRepresentation rep = deserialized) const
91  {
92  return StaticDecoder(_layout, data, data_size, rep);
93  }
94 
102  inline StaticCodec makeStaticCodecFor(void* data,
103  size_t data_size,
104  DataRepresentation rep = deserialized) const
105  {
106  return StaticCodec(_layout, data, data_size, rep);
107  }
108 
116  inline Decoder makeDecoderFor(const void* data,
117  size_t data_size,
118  DataRepresentation rep = deserialized) const
119  {
120  return Decoder(_layout, data, data_size, rep);
121  }
122 
130  Codec makeCodecFor(void* data, size_t data_size, DataRepresentation rep = deserialized) const
131  {
132  return Codec(_layout, data, data_size, rep);
133  }
134 
138  size_t getStaticElementCount() const;
139 
146  a_util::result::Result getStaticElement(size_t index, const StructElement*& element) const;
147 
153 
154 private:
157  std::shared_ptr<const StructLayout> _layout;
160 };
161 
162 } // namespace ddl
163 
164 #endif // DDL_CODEC_FACTORY_LEGACY_CLASS_HEADER
A common result class usable as return value throughout.
Factory class for ddl codecs.
Codec makeCodecFor(void *data, size_t data_size, DataRepresentation rep=deserialized) const
Creates a codec for the given data.
DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY CodecFactory(const ddl::dd::StructType &struct_type, const dd::DataDefinition &dd)
Constructor that uses an OO-DataDefinition struct for initialization.
a_util::result::Result isValid() const
Check if the factory is in a valid state.
DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY CodecFactory()
Empty constructor.
DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY CodecFactory(const DDStructure &dd_struct)
Constructor that uses an OO-DataDefinition struct for initialization.
StaticCodec makeStaticCodecFor(void *data, size_t data_size, DataRepresentation rep=deserialized) const
Creates a static codec for the given data.
StaticDecoder makeStaticDecoderFor(const void *data, size_t data_size, DataRepresentation rep=deserialized) const
Creates a static decoder for the given data.
DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY CodecFactory(const std::string &struct_name, const std::string &dd_string)
Constructor that take a DataDefinition string for initialization.
Decoder makeDecoderFor(const void *data, size_t data_size, DataRepresentation rep=deserialized) const
Creates a decoder for the given data.
a_util::result::Result getStaticElement(size_t index, const StructElement *&element) const
Access information about an element.
a_util::result::Result _dummy_constructor_result
This must stay for binary compatibility!
std::shared_ptr< const StructLayout > _layout
For internal use only.
size_t getStaticElementCount() const
size_t getStaticBufferSize(DataRepresentation rep=deserialized) const
DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY CodecFactory(const ddl::dd::StructTypeAccess &struct_type_access)
Constructor that uses an valid struct type access for initialization.
Decoder for dynamic structures defined by a DataDefinition definition.
Definition: codec_legacy.h:129
Utility class for a complete valid data definition of one StructType and its dependencies.
Definition: ddstructure.h:55
Decoder for dynamic structures defined by a DataDefinition definition.
Definition: codec_legacy.h:46
Codec for static structures defined by a DataDefinition definition.
Decoder for static structures defined by a DataDefinition definition.
The Data Definiton class uses the validation model to keep a Data Definition datamodel (ddl::dd::data...
Definition: dd.h:87
Accessing class for a instance of a struct.
observable DataDefinition object class to describe StructType.
Definition of old Codec legacy header for old Codec API.
@ struct_type
value for struct type
Definition: ddl_capi.h:57
Definition of preprocessor macro DEV_ESSENTIAL_DEPRECATED.
Definition of old StaticCodec legacy header for old Codec API.
Definition of old StructElement legacy header for old Codec API.