Revert unintended change, and clarified TODO a bit.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42290 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Rene Gollent 2011-06-23 12:08:20 +00:00
parent 93e87b30a2
commit 11ce866cbd

View File

@ -21,6 +21,39 @@
#include "ValueNodeContainer.h"
// minimal replica of BMessage's class structure for
// extracting fields
class BMessageValue {
public:
uint32 what;
virtual ~BMessageValue();
struct message_header;
struct field_header;
message_header* fHeader;
field_header* fFields;
uint8* fData;
uint32 fFieldsAvailable;
size_t fDataAvailable;
mutable BMessage* fOriginal;
BMessage* fQueueLink;
// fQueueLink is used by BMessageQueue to build a linked list
void* fArchivingPointer;
uint32 fReserved[8];
virtual void _ReservedMessage1();
virtual void _ReservedMessage2();
virtual void _ReservedMessage3();
};
// #pragma mark - BMessageValueNode
@ -82,9 +115,8 @@ BMessageValueNode::ResolvedLocationAndValue(ValueLoader* valueLoader,
TRACE_LOCALS("BMessage: Address: 0x%" B_PRIx64 "\n",
addressData.ToUInt64());
// TODO: redo this by looking up class members off the type
// and resolving them instead
// TODO: redo this by looking up fHeader et al off the type
// object and resolving their locations instead
uint8 classBuffer[sizeof(BMessage)];
error = valueLoader->LoadRawValue(addressData, sizeof(BMessage),
classBuffer);