gwnavruntime/visualdebug/messages/messageblob.h Source File
Go to the documentation of this file.
20 class MessageBlob :
public Net::AMP::Message
23 static const char* GetTypeName() {
return "MessageBlob"; }
24 static UInt32 GetLatestVersion() {
return Net::AMP::Message::GetLatestVersion(); }
26 MessageBlob() : Message()
28 , m_shallowBlobSize(0)
29 , m_blobHandler(nullptr)
31 Version = GetLatestVersion();
34 virtual ~MessageBlob() {}
36 virtual void Read(File& str);
37 virtual void Write(File& str)
const;
39 virtual String ToString()
const;
41 virtual const char* GetMessageTypeName()
const {
return MessageBlob::GetTypeName(); }
43 UInt32 GetBlobTypeId()
const {
return m_blobTypeId; }
44 UInt32 GetShallowBlobSize()
const {
return m_shallowBlobSize; }
45 UInt32 GetDeepBlobSize()
const {
return (m_blobHandler ? m_blobHandler->GetDeepBlobSize() : (
UInt32)m_blob.Data.GetSize()); }
46 const void* GetBlob()
const {
return (m_blobHandler ? m_blobHandler->GetMutableBlob() : m_blob.Data.GetDataPtr()); }
49 void Init(Ptr<BaseBlobHandler> blobHandler);
59 Ptr<BaseBlobHandler> m_blobHandler;
60 mutable Net::AMP::RawData m_blob;
65 class MessageAggregatedBlob :
public Net::AMP::Message
68 static const char* GetTypeName() {
return "MessageAggregatedBlob"; }
69 static UInt32 GetLatestVersion() {
return Net::AMP::Message::GetLatestVersion(); }
71 MessageAggregatedBlob() : Message()
74 Version = GetLatestVersion();
77 virtual ~MessageAggregatedBlob() {}
79 virtual void Read(File& str);
80 virtual void Write(File& str)
const;
82 virtual String ToString()
const;
84 virtual const char* GetMessageTypeName()
const {
return MessageAggregatedBlob::GetTypeName(); }
90 KyUInt32 GetCurrentShallowBlobSize();
92 const void* GetCurrentBlob();
97 KyResult Add(Ptr<BaseBlobHandler> blobHandler)
98 {
return Add(blobHandler->GetBlobTypeId(), blobHandler->GetShallowBlobSize(), blobHandler->GetDeepBlobSize(), (
char*)blobHandler->GetMutableBlob()); }
100 UInt32 GetAggregateSize() {
return (
UInt32) m_data.Data.GetSize(); }
104 mutable Net::AMP::RawData m_data;
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
std::uint32_t UInt32
uint32_t
Definition: SF_Types.h:137
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:27
Navigation return code class.
Definition: types.h:108
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17