19 enum AggregateBlobCategory
22 Blob_Navigation_Aggregate_SdkVersionBlob = 0,
23 Blob_Navigation_Aggregate_NavDataRawBlob = 1,
24 Blob_Navigation_Aggregate_ClientInputRawBlob = 2,
25 Blob_Navigation_Aggregate_ColDataRawBlob = 3,
27 Blob_Navigation_Aggregate_Count
29 class AggregateBlobCategoryBuilder :
public IBlobCategoryBuilder
32 AggregateBlobCategoryBuilder() : IBlobCategoryBuilder(Blob_Navigation, Blob_Navigation_Aggregate, Blob_Navigation_Aggregate_Count) {}
33 virtual void Build(BlobCategory* category)
const;
42 KY_ROOT_BLOB_CLASS(Aggregate, SdkVersionBlob, 0)
44 bool GetSdkVersion(Version& version)
const {
return Version::GetFromFullVersionString(version, m_data.GetValues()); }
47 BlobArray<char> m_data;
51 SwapEndianness(e,
self.m_data);
55 class SdkVersionBlobBuilder :
public BaseBlobBuilder<SdkVersionBlob>
58 SdkVersionBlobBuilder() {}
61 virtual void DoBuild()
63 const char* version = Version::GetFullVersion();
73 KY_ROOT_BLOB_CLASS(Aggregate, NavDataRawBlob, 0)
75 BlobArray<
char> m_data;
77 inline
void SwapEndianness(
Kaim::Endianness::Target e, NavDataRawBlob& self)
79 SwapEndianness(e,
self.m_data);
84 class ClientInputRawBlob
87 KY_ROOT_BLOB_CLASS(Aggregate, ClientInputRawBlob, 0)
89 BlobArray<
char> m_data;
91 inline
void SwapEndianness(
Kaim::Endianness::Target e, ClientInputRawBlob& self)
93 SwapEndianness(e,
self.m_data);
101 KY_ROOT_BLOB_CLASS(Aggregate, ColDataRawBlob, 0)
103 BlobArray<
char> m_data;
105 inline
void SwapEndianness(
Kaim::Endianness::Target e, ColDataRawBlob& self)
107 SwapEndianness(e,
self.m_data);
114 class RawDataBlobBuilder :
public BaseBlobBuilder<T>
117 RawDataBlobBuilder(
const char* data,
KyUInt32 dataSize) : m_data(data), m_dataSize(dataSize) {}
120 virtual void DoBuild()
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:27
SdkVersionBlob * m_blob
The blob maintained by this builder. Only modify using the macros listed under DoBuild().
Definition: baseblobbuilder.h:113
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
#define BLOB_STRING(str, src)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:166
#define BLOB_ARRAY_COPY(blobArray, src, count)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:151