[haiku-commits] r42290 - haiku/trunk/src/apps/debugger/value/value_nodes

  • From: anevilyak@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 23 Jun 2011 14:08:20 +0200 (CEST)

Author: anevilyak
Date: 2011-06-23 14:08:20 +0200 (Thu, 23 Jun 2011)
New Revision: 42290
Changeset: https://dev.haiku-os.org/changeset/42290

Modified:
   haiku/trunk/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp
Log:
Revert unintended change, and clarified TODO a bit.



Modified: haiku/trunk/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp
===================================================================
--- haiku/trunk/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp       
2011-06-23 03:00:05 UTC (rev 42289)
+++ haiku/trunk/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp       
2011-06-23 12:08:20 UTC (rev 42290)
@@ -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 @@
        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);


Other related posts:

  • » [haiku-commits] r42290 - haiku/trunk/src/apps/debugger/value/value_nodes - anevilyak