diff options
| author | Colin Walters <walters@verbum.org> | 2005-06-26 17:02:09 +0000 | 
|---|---|---|
| committer | Colin Walters <walters@verbum.org> | 2005-06-26 17:02:09 +0000 | 
| commit | df901b528bc1e1edd96e9e91b94c9c9b795b8ffd (patch) | |
| tree | f455e436a057d8525edb4d29067674eb781331da /dbus | |
| parent | c904e1e3a695f8f15f098d9316ead6f0db637780 (diff) | |
2005-06-26  Colin Walters  <walters@verbum.org>
	* glib/dbus-glib.c (dbus_set_g_error): Delete.
	(dbus_g_error_set): New public function from its ashes; used by
	both service-side method implementation and GLib bindings
	internals.
	(dbus_g_error_has_name, dbus_g_error_get_name): New function.
	(_dbus_glib_test): Add some tests.
	* test/glib/test-dbus-glib.c (main): Test dbus_g_error_has_name.
	* test/glib/test-service-glib.c (my_object_throw_error): Use
	dbus_g_error_set.
	* glib/dbus-gobject.c (gerror_to_dbus_error_message): Handle
	errors thrown by dbus_g_error_set.
	* glib/dbus-gmain.c (dbus_g_bus_get): Change to dbus_g_error_set.
	* glib/dbus-gparser.c (validate_signature): Ditto.
	* glib/dbus-gproxy.c (dbus_g_proxy_new_for_name_owner)
	(dbus_g_proxy_end_call_internal): Ditto.
	* glib/Makefile.am: Generate dbus-glib-error-switch.h, which
	converts DBUS_ERROR_x to DBUS_GERROR_x.
	(libdbus_glib_1_la_SOURCES, BUILT_SOURCES, CLEANFILES): Add it.
	* doc/TODO: Remove error TODO.
	* doc/dbus-tutorial.xml: Update with documentation about error
	handling.
	* dbus/make-dbus-glib-error-enum.sh: Tighten up regexp to make
	sure we only change DBUS_ERROR to DBUS_GERROR, not all ERROR to
	GERROR.  Also add DBUS_GERROR_REMOTE_EXCEPTION.
Diffstat (limited to 'dbus')
| -rw-r--r-- | dbus/dbus-glib.h | 7 | ||||
| -rwxr-xr-x | dbus/make-dbus-glib-error-enum.sh | 3 | 
2 files changed, 9 insertions, 1 deletions
| diff --git a/dbus/dbus-glib.h b/dbus/dbus-glib.h index 2d5005bb..901b5720 100644 --- a/dbus/dbus-glib.h +++ b/dbus/dbus-glib.h @@ -81,6 +81,13 @@ typedef enum  #include <dbus/dbus-glib-error-enum.h>      } DBusGError; +void             dbus_g_error_set         (GError     **error, +					   const char  *name, +					   const char  *msg); +gboolean         dbus_g_error_has_name    (GError      *error, +					   const char  *name); +const char *     dbus_g_error_get_name    (GError      *error); +  void             dbus_g_thread_init (void);  DBusGConnection* dbus_g_bus_get     (DBusBusType   type,                                       GError      **error); diff --git a/dbus/make-dbus-glib-error-enum.sh b/dbus/make-dbus-glib-error-enum.sh index c2f538db..55362ded 100755 --- a/dbus/make-dbus-glib-error-enum.sh +++ b/dbus/make-dbus-glib-error-enum.sh @@ -11,11 +11,12 @@ die()  }  cat $SRC | grep '#define DBUS_ERROR' | sed -e 's/#define //g' | \ -  sed -e 's/".*//g' | sed -e 's/_ERROR/_GERROR/g' | sed -e 's/ *$/,/g' > $DEST.tmp +  sed -e 's/".*//g' | sed -e 's/DBUS_ERROR/DBUS_GERROR/g' | sed -e 's/ *$/,/g' > $DEST.tmp  if ! test -s $DEST.tmp ; then      die "$DEST.tmp is empty, something went wrong, see any preceding error message"  fi +echo "DBUS_GERROR_REMOTE_EXCEPTION" >> $DEST.tmp  echo "#ifndef DBUS_INSIDE_DBUS_GLIB_H" >> $DEST.tmp  echo '#error "' "$DEST" 'may only be included by dbus-glib.h"' >> $DEST.tmp | 
