Dev Essential  1.6.3
Loading...
Searching...
No Matches
codec_factory_legacy.h
Go to the documentation of this file.
1
14
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()
23
25#define DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY \
26 DEV_ESSENTIAL_DEPRECATED("Use the new ddl::codec::CodecFactory() instead.")
28
29namespace ddl {
30
31class StructLayout;
37public:
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,
91 {
92 return StaticDecoder(_layout, data, data_size, rep);
93 }
94
103 size_t data_size,
105 {
106 return StaticCodec(_layout, data, data_size, rep);
107 }
108
116 inline Decoder makeDecoderFor(const void* data,
117 size_t data_size,
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
154private:
157 std::shared_ptr<const StructLayout> _layout;
159 a_util::result::Result _dummy_constructor_result;
160};
161
162} // namespace ddl
163
164#endif // DDL_CODEC_FACTORY_LEGACY_CLASS_HEADER
Definition result_type_decl.h:34
DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY CodecFactory(const ddl::dd::StructTypeAccess &struct_type_access)
DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY CodecFactory(const DDStructure &dd_struct)
a_util::result::Result isValid() const
Codec makeCodecFor(void *data, size_t data_size, DataRepresentation rep=deserialized) const
Definition codec_factory_legacy.h:130
Decoder makeDecoderFor(const void *data, size_t data_size, DataRepresentation rep=deserialized) const
Definition codec_factory_legacy.h:116
DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY CodecFactory()
DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY CodecFactory(const std::string &struct_name, const std::string &dd_string)
DEV_ESSENTIAL_DEPRECATED_CODEC_FACTORY CodecFactory(const ddl::dd::StructType &struct_type, const dd::DataDefinition &dd)
a_util::result::Result getStaticElement(size_t index, const StructElement *&element) const
StaticDecoder makeStaticDecoderFor(const void *data, size_t data_size, DataRepresentation rep=deserialized) const
Definition codec_factory_legacy.h:88
size_t getStaticElementCount() const
size_t getStaticBufferSize(DataRepresentation rep=deserialized) const
StaticCodec makeStaticCodecFor(void *data, size_t data_size, DataRepresentation rep=deserialized) const
Definition codec_factory_legacy.h:102
Definition codec_legacy.h:129
Utility class for a complete valid data definition of one StructType and its dependencies....
Definition ddstructure.h:57
Definition codec_legacy.h:46
Definition static_codec_legacy.h:153
Definition static_codec_legacy.h:39
The Data Definiton class uses the validation model to keep a Data Definition datamodel (ddl::dd::data...
Definition dd.h:92
Accessing class for a instance of a struct. This will calculate the byte positions can be used for se...
Definition dd_struct_access.h:598
definition of the dd namespace
Definition datamodel_base.h:26
datamodel::StructType StructType
Definition dd.h:59
definition of the ddl namespace
Definition codec.h:21
DataRepresentation
Definition data_representation.h:25
@ deserialized
deserialized data, c-structs, arrays, ...
Definition data_representation.h:27
Definition struct_element.h:32