Browse Source

Make DatagramIterator typed (ask me if you want to know why)

rdb 12 years ago
parent
commit
4e92e480e0

+ 2 - 0
panda/src/express/config_express.cxx

@@ -14,6 +14,7 @@
 
 #include "config_express.h"
 #include "datagram.h"
+#include "datagramIterator.h"
 #include "nodeReferenceCount.h"
 #include "referenceCount.h"
 #include "textEncoder.h"
@@ -99,6 +100,7 @@ init_libexpress() {
   initialized = true;
 
   Datagram::init_type();
+  DatagramIterator::init_type();
   Namable::init_type();
   NodeReferenceCount::init_type();
   ReferenceCount::init_type();

+ 2 - 1
panda/src/express/datagramIterator.cxx

@@ -12,10 +12,11 @@
 //
 ////////////////////////////////////////////////////////////////////
 
-
 #include "datagramIterator.h"
 #include "pnotify.h"
 
+TypeHandle DatagramIterator::_type_handle;
+
 ////////////////////////////////////////////////////////////////////
 //     Function: DatagramIterator::get_string
 //       Access: Public

+ 14 - 2
panda/src/express/datagramIterator.h

@@ -28,8 +28,9 @@
 //               know the correct type and order of each element.
 ////////////////////////////////////////////////////////////////////
 class EXPCL_PANDAEXPRESS DatagramIterator {
-public:    
-    INLINE void assign(Datagram &datagram, size_t offset = 0);
+public:
+  INLINE void assign(Datagram &datagram, size_t offset = 0);
+
 PUBLISHED:
   INLINE DatagramIterator();
   INLINE DatagramIterator(const Datagram &datagram, size_t offset = 0);
@@ -82,6 +83,17 @@ PUBLISHED:
 private:
   const Datagram *_datagram;
   size_t _current_index;
+
+public:
+  static TypeHandle get_class_type() {
+    return _type_handle;
+  }
+  static void init_type() {
+    register_type(_type_handle, "DatagramIterator");
+  }
+
+private:
+  static TypeHandle _type_handle;
 };
 
 // These generic functions are primarily for reading a value from a