2003-04-10 Alexander Larsson <alexl@redhat.com>
authorAlexander Larsson <alexl@redhat.com>
Thu, 10 Apr 2003 12:09:00 +0000 (12:09 +0000)
committerAlexander Larsson <alexl@redhat.com>
Thu, 10 Apr 2003 12:09:00 +0000 (12:09 +0000)
* bus/.cvsignore:
* glib/.cvsignore:
* test/.cvsignore:
Added files to cvsignore

* dbus/dbus-message.h:
* dbus/dbus-message.c: (dbus_message_iter_get_named):
Make get_named() take two out argument and return a boolean.
(dbus_message_iter_get_args_valist):
Update usage of get_named().
(dbus_message_iter_append_byte):
Fix typo
(dbus_message_iter_append_named)
Fix typo
(message_iter_test), (check_message_handling_type), (_dbus_message_test):
More tests.

ChangeLog
bus/.cvsignore
dbus/dbus-message.c
dbus/dbus-message.h
glib/.cvsignore
test/.cvsignore

index 324f59c..13b006b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,24 @@
 2003-04-10  Alexander Larsson  <alexl@redhat.com>
 
+       * bus/.cvsignore:
+       * glib/.cvsignore:
+       * test/.cvsignore:
+       Added files to cvsignore
+       
+       * dbus/dbus-message.h:
+       * dbus/dbus-message.c: (dbus_message_iter_get_named):
+       Make get_named() take two out argument and return a boolean.
+       (dbus_message_iter_get_args_valist):
+       Update usage of get_named().
+       (dbus_message_iter_append_byte):
+       Fix typo
+       (dbus_message_iter_append_named)
+       Fix typo
+       (message_iter_test), (check_message_handling_type), (_dbus_message_test):
+       More tests.
+
+2003-04-10  Alexander Larsson  <alexl@redhat.com>
+
        * dbus/dbus-marshal.[ch]:
        Add array_type_pos argument to _dbus_marshal_validate_arg.
        Let you pass a NULL end_pos to _dbus_marshal_validate_type.
index 2c21780..3770bca 100644 (file)
@@ -9,3 +9,7 @@ dbus-daemon-1
 *.bbg
 *.da
 *.gcov
+bus-test
+messagebus
+session.conf
+system.conf
index 64cfb86..0044913 100644 (file)
@@ -1437,8 +1437,7 @@ dbus_message_iter_get_args_valist (DBusMessageIter *iter,
            data = va_arg (var_args, unsigned char **);
            len = va_arg (var_args, int *);
 
-           *name = dbus_message_iter_get_named (iter, data, len);
-           if (*name == NULL)
+           if (!dbus_message_iter_get_named (iter, name, data, len))
              {
                 dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
                goto out;
@@ -1845,19 +1844,21 @@ dbus_message_iter_get_string (DBusMessageIter *iter)
  *
  * @see dbus_message_iter_get_arg_type
  * @param iter the message iter
+ * @param name return location for the name
  * @param value return location for data
  * @param len return location for length of data
- * @returns the named type name as a string
+ * @returns TRUE if get succeed
  * 
  */
-char *
+dbus_bool_t
 dbus_message_iter_get_named (DBusMessageIter   *iter,
+                            char             **name,
                             unsigned char    **value,
                             int               *len)
 {
   DBusMessageRealIter *real = (DBusMessageRealIter *)iter;
   int type, pos;
-  char *name;
+  char *_name;
 
   dbus_message_iter_check (real);
 
@@ -1865,20 +1866,22 @@ dbus_message_iter_get_named (DBusMessageIter   *iter,
   
   _dbus_assert (type == DBUS_TYPE_NAMED);
   
-  name = _dbus_demarshal_string (&real->message->body, real->message->byte_order,
-                                 pos, &pos);
+  _name = _dbus_demarshal_string (&real->message->body, real->message->byte_order,
+                                 pos, &pos);
 
-  if (name == NULL)
-    return NULL;
+  if (_name == NULL)
+    return FALSE;
   
   if (!_dbus_demarshal_byte_array (&real->message->body, real->message->byte_order,
                                   pos + 1, NULL, value, len))
     {
-      dbus_free (name);
-      return NULL;
+      dbus_free (_name);
+      return FALSE;
     }
-  else
-    return name;
+
+  *name = _name;
+  
+  return TRUE;
 }
 
 /**
@@ -2520,7 +2523,7 @@ dbus_message_iter_append_byte (DBusMessageIter *iter,
 
   dbus_message_iter_append_check (real);
 
-  if (!dbus_message_iter_append_type (real, DBUS_TYPE_BOOLEAN))
+  if (!dbus_message_iter_append_type (real, DBUS_TYPE_BYTE))
     return FALSE;
   
   if (!_dbus_string_append_byte (&real->message->body, value))
@@ -2672,7 +2675,7 @@ dbus_message_iter_append_named (DBusMessageIter      *iter,
   if (!dbus_message_iter_append_type (real, DBUS_TYPE_NAMED))
     return FALSE;
   
-   if (!_dbus_marshal_string (&real->message->body, real->message->byte_order, data))
+   if (!_dbus_marshal_string (&real->message->body, real->message->byte_order, name))
     {
       _dbus_string_set_length (&real->message->body, real->pos);
       return FALSE;
@@ -3979,8 +3982,9 @@ message_iter_test (DBusMessage *message)
 {
   DBusMessageIter iter, dict, array, array2;
   char *str;
+  unsigned char *data;
   dbus_int32_t *our_int_array;
-  int array_len;
+  int len;
   
   dbus_message_iter_init (message, &iter);
 
@@ -4029,26 +4033,26 @@ message_iter_test (DBusMessage *message)
   if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_ARRAY)
     _dbus_assert_not_reached ("Argument type not an array");
 
-  if (dbus_message_iter_get_array_type (&iter) != DBUS_TYPE_UINT32)
-    _dbus_assert_not_reached ("Array type not uint32");
+  if (dbus_message_iter_get_array_type (&iter) != DBUS_TYPE_DOUBLE)
+    _dbus_assert_not_reached ("Array type not double");
 
   
   if (!dbus_message_iter_init_array_iterator (&iter, &array, NULL))
     _dbus_assert_not_reached ("Array init failed");
 
-  if (dbus_message_iter_get_arg_type (&array) != DBUS_TYPE_UINT32)
-    _dbus_assert_not_reached ("Argument type isn't int32");
+  if (dbus_message_iter_get_arg_type (&array) != DBUS_TYPE_DOUBLE)
+    _dbus_assert_not_reached ("Argument type isn't double");
 
-  if (dbus_message_iter_get_uint32 (&array) != 0x12345678)
+  if (dbus_message_iter_get_double (&array) != 1.5)
     _dbus_assert_not_reached ("Unsigned integers differ");
 
   if (!dbus_message_iter_next (&array))
     _dbus_assert_not_reached ("Reached end of arguments");
 
-  if (dbus_message_iter_get_arg_type (&array) != DBUS_TYPE_UINT32)
-    _dbus_assert_not_reached ("Argument type isn't int32");
+  if (dbus_message_iter_get_arg_type (&array) != DBUS_TYPE_DOUBLE)
+    _dbus_assert_not_reached ("Argument type isn't double");
 
-  if (dbus_message_iter_get_uint32 (&array) != 0x23456781)
+  if (dbus_message_iter_get_double (&array) != 2.5)
     _dbus_assert_not_reached ("Unsigned integers differ");
 
   if (dbus_message_iter_next (&array))
@@ -4128,10 +4132,10 @@ message_iter_test (DBusMessage *message)
 
   if (!dbus_message_iter_get_int32_array (&array,
                                          &our_int_array,
-                                         &array_len))
+                                         &len))
     _dbus_assert_not_reached ("couldn't get int32 array");
 
-  _dbus_assert (array_len == 3);
+  _dbus_assert (len == 3);
   _dbus_assert (our_int_array[0] == 0x34567812 &&
                our_int_array[1] == 0x45678123 &&
                our_int_array[2] == 0x56781234);
@@ -4146,12 +4150,36 @@ message_iter_test (DBusMessage *message)
   if (!dbus_message_iter_next (&iter))
     _dbus_assert_not_reached ("Reached end of arguments");
   
-  if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_UINT32)
-    _dbus_assert_not_reached ("wrong type after dict");
+  if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_BYTE)
+    {
+      _dbus_warn ("type was: %d\n", dbus_message_iter_get_arg_type (&iter));
+      _dbus_assert_not_reached ("wrong type after dict (should be byte)");
+    }
   
-  if (dbus_message_iter_get_uint32 (&iter) != 0xCAFEBABE)
+  if (dbus_message_iter_get_byte (&iter) != 0xF0)
     _dbus_assert_not_reached ("wrong value after dict");
 
+
+  if (!dbus_message_iter_next (&iter))
+    _dbus_assert_not_reached ("Reached end of arguments");
+  
+  if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_NIL)
+    _dbus_assert_not_reached ("not a nil type");
+  
+  if (!dbus_message_iter_next (&iter))
+    _dbus_assert_not_reached ("Reached end of arguments");
+  
+  if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_NAMED)
+    _dbus_assert_not_reached ("wrong type after dict");
+
+  if (!dbus_message_iter_get_named (&iter, &str, &data, &len))
+    _dbus_assert_not_reached ("failed to get named");
+
+  _dbus_assert (strcmp (str, "named")==0);
+  _dbus_assert (len == 5);
+  _dbus_assert (strcmp (data, "data")==0);
+  dbus_free (str);
+  dbus_free (data);
   
   if (dbus_message_iter_next (&iter))
     _dbus_assert_not_reached ("Didn't reach end of arguments");
@@ -4201,8 +4229,7 @@ check_message_handling_type (DBusMessageIter *iter,
        unsigned char *data;
        int len;
        
-       name = dbus_message_iter_get_named (iter, &data, &len);
-       if (name == NULL)
+       if (!dbus_message_iter_get_named (iter, &name, &data, &len))
          {
            _dbus_warn ("error reading name from named type\n");
            return FALSE;
@@ -4952,9 +4979,9 @@ _dbus_message_test (const char *test_data_dir)
   dbus_message_iter_append_uint32 (&iter, 0xedd1e);
   dbus_message_iter_append_double (&iter, 3.14159);
 
-  dbus_message_iter_append_array (&iter, &child_iter, DBUS_TYPE_UINT32);
-  dbus_message_iter_append_uint32 (&child_iter, 0x12345678);
-  dbus_message_iter_append_uint32 (&child_iter, 0x23456781);
+  dbus_message_iter_append_array (&iter, &child_iter, DBUS_TYPE_DOUBLE);
+  dbus_message_iter_append_double (&child_iter, 1.5);
+  dbus_message_iter_append_double (&child_iter, 2.5);
 
   /* dict */
   dbus_message_iter_append_dict (&iter, &child_iter);
@@ -4974,9 +5001,12 @@ _dbus_message_test (const char *test_data_dir)
   dbus_message_iter_append_int32 (&child_iter3, 0x45678123);
   dbus_message_iter_append_int32 (&child_iter3, 0x56781234);
   
-  dbus_message_iter_append_uint32 (&iter, 0xCAFEBABE);
+  dbus_message_iter_append_byte (&iter, 0xF0);
 
+  dbus_message_iter_append_nil (&iter);
 
+  dbus_message_iter_append_named (&iter, "named",
+                                 "data", 5);
   
   message_iter_test (message);
 
index 809dc3e..0ea0338 100644 (file)
@@ -124,7 +124,8 @@ dbus_uint32_t dbus_message_iter_get_uint32     (DBusMessageIter  *iter);
 double        dbus_message_iter_get_double     (DBusMessageIter  *iter);
 char *        dbus_message_iter_get_string     (DBusMessageIter  *iter);
 char *        dbus_message_iter_get_dict_key   (DBusMessageIter  *iter);
-char *        dbus_message_iter_get_named      (DBusMessageIter  *iter,
+dbus_bool_t   dbus_message_iter_get_named      (DBusMessageIter  *iter,
+                                               char            **name,
                                                unsigned char   **value,
                                                int              *len);
 
index 2ab9efa..f5c30c0 100644 (file)
@@ -9,3 +9,5 @@ test-dbus-glib
 *.bbg
 *.da
 *.gcov
+test-thread-client
+test-thread-server
index c3d0758..83e7bf0 100644 (file)
@@ -15,3 +15,8 @@ unbase64
 *.gcov
 break-loader
 spawn-test
+test-exit
+test-segfault
+test-service
+test-sleep-forever
+decode-gcov