]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
2005-05-11 Ross Burton <ross@burtonini.com>
authorColin Walters <walters@verbum.org>
Wed, 11 May 2005 19:02:31 +0000 (19:02 +0000)
committerColin Walters <walters@verbum.org>
Wed, 11 May 2005 19:02:31 +0000 (19:02 +0000)
* glib/dbus-glib-tool.c: Add --prefix argument.
* glib/dbus-binding-tool-glib.h: Add prefix argument.
* glib/dbus-binding-tool-glib.c (compute_marshaller_name):
Add prefix argument.
(generate_glue): Pass prefix argument down.
(dbus_binding_tool_output_glib_server): Pass prefix to
glib-genmarshal.

ChangeLog
glib/dbus-binding-tool-glib.c
glib/dbus-binding-tool-glib.h
glib/dbus-glib-tool.c

index 4e519ad292302ac0e350f319e9b1de7a37cda6c5..c3c8fafabc6abc6019d024e5112c1302d7b3de8c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2005-05-11  Ross Burton  <ross@burtonini.com>
+
+       * glib/dbus-glib-tool.c: Add --prefix argument.
+       * glib/dbus-binding-tool-glib.h: Add prefix argument.
+       * glib/dbus-binding-tool-glib.c (compute_marshaller_name):
+       Add prefix argument.
+       (generate_glue): Pass prefix argument down.
+       (dbus_binding_tool_output_glib_server): Pass prefix to
+       glib-genmarshal.
+       
 2005-05-11  Colin Walters  <walters@verbum.org>
 
        * tools/dbus-send.c (append_array): New function.
index 75e2c7330ff93b283e643e8e46d509827a3b5ac8..3c86d81fbb1dbca928f334ee652f10e41e5a9958 100644 (file)
 #include <string.h>
 #include <unistd.h>
 
-#define MARSHAL_PREFIX "dbus_glib_marshal"
+#define MARSHAL_PREFIX "dbus_glib_marshal_"
 
 typedef struct
 {
   gboolean ignore_unsupported;
+  const char* prefix;
   GIOChannel *channel;
   
   GError **error;
@@ -115,14 +116,16 @@ compute_marshaller (MethodInfo *method, GError **error)
 }
 
 static char *
-compute_marshaller_name (MethodInfo *method, GError **error)
+compute_marshaller_name (MethodInfo *method, const char *prefix, GError **error)
 {
   GSList *elt;
   GString *ret;
 
   /* All methods required to return boolean for now;
    * will be conditional on method info later */
-  ret = g_string_new (MARSHAL_PREFIX "_BOOLEAN_");
+  ret = g_string_new (MARSHAL_PREFIX);
+  g_string_append (ret, prefix);
+  g_string_append (ret, "_BOOLEAN_");
 
   /* Append input arguments */
   for (elt = method_info_get_args (method); elt; elt = elt->next)
@@ -342,7 +345,7 @@ generate_glue (BaseInfo *base, DBusBindingToolCData *data, GError **error)
                                          method_c_name))
            goto io_lose;
 
-          marshaller_name = compute_marshaller_name (method, error);
+          marshaller_name = compute_marshaller_name (method, data->prefix, error);
          if (!marshaller_name)
            goto io_lose;
 
@@ -452,7 +455,7 @@ write_marshaller (gpointer key, gpointer value, gpointer user_data)
 }
 
 gboolean
-dbus_binding_tool_output_glib_server (BaseInfo *info, GIOChannel *channel, GError **error)
+dbus_binding_tool_output_glib_server (BaseInfo *info, GIOChannel *channel, const char *prefix, GError **error)
 {
   gboolean ret;
   GPtrArray *argv;
@@ -468,6 +471,7 @@ dbus_binding_tool_output_glib_server (BaseInfo *info, GIOChannel *channel, GErro
 
   memset (&data, 0, sizeof (data));
 
+  data.prefix = prefix;
   data.generated = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) g_free, NULL);
   data.error = error;
   genmarshal_stdout = NULL;
@@ -501,7 +505,7 @@ dbus_binding_tool_output_glib_server (BaseInfo *info, GIOChannel *channel, GErro
   g_ptr_array_add (argv, "glib-genmarshal");
   g_ptr_array_add (argv, "--header");
   g_ptr_array_add (argv, "--body");
-  g_ptr_array_add (argv, "--prefix=" MARSHAL_PREFIX);
+  g_ptr_array_add (argv, g_strdup_printf ("--prefix=%s%s", MARSHAL_PREFIX, prefix));
   g_ptr_array_add (argv, tempfile_name);
   g_ptr_array_add (argv, NULL);
   if (!g_spawn_async_with_pipes (NULL, (char**)argv->pdata, NULL,
index 411c024e28a48e490e4a9b43787186789aa37f96..9988df291336ad0468ce43f74f2898b14771ed1b 100644 (file)
@@ -28,7 +28,7 @@ G_BEGIN_DECLS
 #define DBUS_GLIB_ANNOTATION_C_SYMBOL "org.freedesktop.DBus.GLib.CSymbol"
 
 gboolean dbus_binding_tool_output_glib_client (BaseInfo *info, GIOChannel *channel, gboolean ignore_unsupported, GError **error);
-gboolean dbus_binding_tool_output_glib_server (BaseInfo *info, GIOChannel *channel, GError **error);
+gboolean dbus_binding_tool_output_glib_server (BaseInfo *info, GIOChannel *channel, const char *prefix, GError **error);
 
 G_END_DECLS
 
index 1be0be7ea9e3793b8fb244da5348264d5bd91e3e..53ae42b27b270806e15a0fa5733990fee3d5a7db 100644 (file)
@@ -265,6 +265,7 @@ main (int argc, char **argv)
 {
   const char *prev_arg;
   const char *output_file;
+  const char *prefix;
   char *output_file_tmp;
   int i;
   GSList *files;
@@ -291,6 +292,7 @@ main (int argc, char **argv)
   files = NULL;
   prev_arg = NULL;
   output_file = NULL;
+  prefix = "";
   ignore_unsupported = FALSE;
   force = FALSE;
   i = 1;
@@ -330,6 +332,10 @@ main (int argc, char **argv)
            {
              output_file = arg + 9;
            }
+          else if (strncmp (arg, "--prefix=", 9) == 0)
+            {
+              prefix = arg + 9;
+            }
           else if (arg[0] == '-' &&
                    arg[1] == '-' &&
                    arg[2] == '\0')
@@ -414,7 +420,7 @@ main (int argc, char **argv)
              pretty_print ((BaseInfo*) node, 0);
              break;
            case DBUS_BINDING_OUTPUT_GLIB_SERVER:
-             if (!dbus_binding_tool_output_glib_server ((BaseInfo *) node, channel, &error))
+             if (!dbus_binding_tool_output_glib_server ((BaseInfo *) node, channel, prefix, &error))
                lose_gerror (_("Compilation failed"), error);
              break;
            case DBUS_BINDING_OUTPUT_GLIB_CLIENT: