Browse Source

named_update -> direct_update

David Rose 21 years ago
parent
commit
0058660904
2 changed files with 24 additions and 6 deletions
  1. 20 4
      direct/src/dcparser/dcClass.cxx
  2. 4 2
      direct/src/dcparser/dcClass.h

+ 20 - 4
direct/src/dcparser/dcClass.cxx

@@ -276,13 +276,29 @@ receive_update_other(PyObject *distobj, DatagramIterator &iterator) const {
 
 #ifdef HAVE_PYTHON
 ////////////////////////////////////////////////////////////////////
-//     Function: DCClass::named_update
+//     Function: DCClass::direct_update
 //       Access: Published
-//  Description: Processes an update for a named field.
+//  Description: Processes an update for a named field from a packed
+//               value blob.
 ////////////////////////////////////////////////////////////////////
 void DCClass::
-named_update(PyObject *distobj, const string &field_name, 
-             const Datagram &datagram) {
+direct_update(PyObject *distobj, const string &field_name, 
+              const string &value_blob) {
+  Datagram datagram(value_blob);
+  direct_update(distobj, field_name, datagram);
+}
+#endif  // HAVE_PYTHON
+
+#ifdef HAVE_PYTHON
+////////////////////////////////////////////////////////////////////
+//     Function: DCClass::direct_update
+//       Access: Published
+//  Description: Processes an update for a named field from a packed
+//               datagram.
+////////////////////////////////////////////////////////////////////
+void DCClass::
+direct_update(PyObject *distobj, const string &field_name, 
+              const Datagram &datagram) {
   DCField *field = get_field_by_name(field_name);
   nassertv_always(field != NULL);
   DatagramIterator iterator(datagram);

+ 4 - 2
direct/src/dcparser/dcClass.h

@@ -52,8 +52,10 @@ PUBLISHED:
   void receive_update_broadcast_required(PyObject *distobj, DatagramIterator &iterator) const;
   void receive_update_all_required(PyObject *distobj, DatagramIterator &iterator) const;
   void receive_update_other(PyObject *distobj, DatagramIterator &iterator) const;
-  void named_update(PyObject *distobj, const string &field_name, 
-                    const Datagram &datagram);
+  void direct_update(PyObject *distobj, const string &field_name, 
+                     const string &value_blob);
+  void direct_update(PyObject *distobj, const string &field_name, 
+                     const Datagram &datagram);
   void pack_required_field(Datagram &dg, PyObject *distobj, 
                            DCField *field) const;