88 if (aMemberName == mem.mName)
98 for (
size_t i = 0; i <
mMembers.size(); ++i)
100 if (aMemberName ==
mMembers[i].mName)
147 void RegisterBasicType(
const std::string& aName, std::unique_ptr<UtPackSerializeFunctor> aSerializeFunctor);
148 void RegisterListType(
const std::string& aTypeName,
const std::string& aContainedTypeName);
150 const std::string& aType2,
151 std::unique_ptr<UtPackSerializeFunctor> aSerializeToType1,
152 std::unique_ptr<UtPackSerializeFunctor> aSerializeToType2);
156 const std::string& aSerializedType);
174 auto it = mMessageInfoMap.find(aMessageId);
175 if (it != mMessageInfoMap.end())
177 return &(it->second);
184 auto it = mMessageInfoMap.find(aMessageId);
185 if (it != mMessageInfoMap.end())
187 return &(it->second);
200 using TypeIdMap = std::map<std::string, int>;
201 std::vector<TypeData> mTypes;
204 using TypeConversionMap = std::map<std::string, std::map<std::string, std::shared_ptr<UtPackSerializeFunctor>>>;
205 TypeConversionMap mTypeConversions;
206 std::map<std::string, std::string> mListTypes;
207 std::map<int, MessageInfo> mMessageInfoMap;
#define WSF_UT_EXPORT
Definition WsfUtExport.hpp:32
Definition UtPackMessage.hpp:119
Definition UtPackSchema.hpp:97
Definition UtPack.hpp:120
UtPackSerializerTypeData()
Definition UtPack.hpp:122
UtPackStructLayout * mStructLayout
Definition UtPack.hpp:133
UtPackType * mTypePtr
Definition UtPack.hpp:131
int mId
Definition UtPack.hpp:130
std::shared_ptr< UtPackSerializeFunctor > mSerializer
Definition UtPack.hpp:132
Definition UtPack.hpp:137
MessageInfo * GetMessageInfo(int aMessageId)
Definition UtPack.hpp:182
void Initialize(UtPackSchema &aSchema)
Definition UtPack.cpp:674
friend class UtPackReflector
Definition UtPack.hpp:142
std::shared_ptr< UtPackSerializeFunctor > FindSerializeFunction(const std::string &aTypeInMemory, const std::string &aSerializedType)
Definition UtPack.cpp:585
void RegisterMessage(int aMessageId, MessageFactoryFnPtr aFactoryFunctionPtr)
Definition UtPack.cpp:793
void RegisterBuiltinTypes()
Definition UtPack.cpp:609
UtPackSerializerTypeData TypeData
Definition UtPack.hpp:141
std::string FindLocalContainedListTypeName(std::string aListTypeName)
Definition UtPack.cpp:769
const MessageInfo * GetMessageInfo(int aMessageId) const
Definition UtPack.hpp:172
UtPackMessage *(*)() MessageFactoryFnPtr
Definition UtPack.hpp:140
void RegisterListType(const std::string &aTypeName, const std::string &aContainedTypeName)
Definition UtPack.cpp:788
void RegisterBasicType(const std::string &aName, std::unique_ptr< UtPackSerializeFunctor > aSerializeFunctor)
Definition UtPack.cpp:654
TypeData * FindLocalContainedListType(const std::string &aListTypeName)
Definition UtPack.cpp:760
static const int cMAXIMUM_OPTIONAL_BITS
Definition UtPack.hpp:139
UtPackSerializer()=default
TypeData * FindTypeData(const std::string &aTypeName)
Definition UtPack.cpp:778
void RegisterConversion(const std::string &aType1, const std::string &aType2, std::unique_ptr< UtPackSerializeFunctor > aSerializeToType1, std::unique_ptr< UtPackSerializeFunctor > aSerializeToType2)
Definition UtPack.cpp:567
Union_SetFieldTypeFuncPtr mSetFieldTypeFuncPtr
Definition UtPack.hpp:116
std::vector< Member > mMembers
Definition UtPack.hpp:113
const char * mStructName
Definition UtPack.hpp:112
const Member * FindMember(const std::string &aMemberName) const
Definition UtPack.hpp:84
UtPackStructLayout()
Definition UtPack.hpp:75
int mStructSizeBytes
Definition UtPack.hpp:114
int GetOptionalFlagsBytes() const
Definition UtPack.hpp:108
int GetMemberIndex(const std::string &aMemberName) const
Definition UtPack.hpp:96
int mOptionalFlagsOffset
Definition UtPack.hpp:110
void(*)(void *aUnion, int aFieldType) Union_SetFieldTypeFuncPtr
Definition UtPack.hpp:115
unsigned char mOptionalFlagsBytes
Definition UtPack.hpp:111
Definition UtPackSchema.hpp:118
Definition UtPack.hpp:162
MessageFactoryFnPtr mMessageFactory
Definition UtPack.hpp:168
MessageInfo()
Definition UtPack.hpp:163
std::shared_ptr< UtPackSerializeFunctor > mSerializeFunction
Definition UtPack.hpp:169
const char * mTypeName
Definition UtPack.hpp:72
unsigned short mMemberSize
Definition UtPack.hpp:69
const char * mName
Definition UtPack.hpp:71
short mOptionalIndex
Definition UtPack.hpp:70
int mOffset
Definition UtPack.hpp:68