gwnavruntime/visualdebug/messages/messageblob.h Source File
Go to the documentation of this file.
9 #ifndef Navigation_MessageBlob_H
10 #define Navigation_MessageBlob_H
25 class MessageBlob :
public Net::AMP::Message
28 static const char* GetTypeName() {
return "MessageBlob"; }
29 static UInt32 GetLatestVersion() {
return Net::AMP::Message::GetLatestVersion(); }
31 MessageBlob() : Message()
33 , m_shallowBlobSize(0)
36 Version = GetLatestVersion();
39 virtual ~MessageBlob() {}
41 virtual void Read(File& str);
42 virtual void Write(File& str)
const;
44 virtual String ToString()
const;
46 virtual const char* GetMessageTypeName()
const {
return MessageBlob::GetTypeName(); }
48 UInt32 GetBlobTypeId()
const {
return m_blobTypeId; }
49 UInt32 GetShallowBlobSize()
const {
return m_shallowBlobSize; }
50 UInt32 GetDeepBlobSize()
const {
return (m_blobHandler ? m_blobHandler->GetDeepBlobSize() : (UInt32)m_blob.Data.GetSize()); }
51 const void* GetBlob()
const {
return (m_blobHandler ? m_blobHandler->GetMutableBlob() : m_blob.Data.GetDataPtr()); }
54 void Init(Ptr<BaseBlobHandler> blobHandler);
60 UInt32 m_shallowBlobSize;
64 Ptr<BaseBlobHandler> m_blobHandler;
65 mutable Net::AMP::RawData m_blob;
70 class MessageAggregatedBlob :
public Net::AMP::Message
73 static const char* GetTypeName() {
return "MessageAggregatedBlob"; }
74 static UInt32 GetLatestVersion() {
return Net::AMP::Message::GetLatestVersion(); }
76 MessageAggregatedBlob() : Message()
79 Version = GetLatestVersion();
82 virtual ~MessageAggregatedBlob() {}
84 virtual void Read(File& str);
85 virtual void Write(File& str)
const;
87 virtual String ToString()
const;
89 virtual const char* GetMessageTypeName()
const {
return MessageAggregatedBlob::GetTypeName(); }
95 KyUInt32 GetCurrentShallowBlobSize();
97 const void* GetCurrentBlob();
102 KyResult Add(Ptr<BaseBlobHandler> blobHandler)
103 {
return Add(blobHandler->GetBlobTypeId(), blobHandler->GetShallowBlobSize(), blobHandler->GetDeepBlobSize(), (
char*)blobHandler->GetMutableBlob()); }
105 UInt32 GetAggregateSize() {
return (UInt32) m_data.Data.GetSize(); }
109 mutable Net::AMP::RawData m_data;
111 UInt32 m_currentIndex;
117 #endif // Navigation_MessageBlob_H
KyInt32 KyResult
Defines a type that can be returned by methods or functions in the Gameware Navigation SDK to indicat...
Definition: types.h:254
#define KY_NULL
Null value.
Definition: types.h:247
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:35
Definition: gamekitcrowddispersion.h:20
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36