X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=registryd%2Fregistry-main.c;h=84e97beeba4b74009b827d5fa039d5001fdbb1aa;hb=cce9b45c6ed7cd6bdecb011ba6019f5c6d0bfa4c;hp=67acfca468936d9cc309a5992676527343a973a7;hpb=df4d0c5c3ca00a75eec51a16235b6d8edb8d71e2;p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git diff --git a/registryd/registry-main.c b/registryd/registry-main.c index 67acfca..84e97be 100644 --- a/registryd/registry-main.c +++ b/registryd/registry-main.c @@ -21,49 +21,62 @@ * Boston, MA 02111-1307, USA. */ -#ifdef AT_SPI_DEBUG #include -#endif - -#include -#include +#include +#include #include + +#include + #include "registry.h" +static gchar *dbus_name = NULL; + +static GOptionEntry optentries[] = +{ + {"dbus-name", 0, 0, G_OPTION_ARG_STRING, &dbus_name, "Well-known name to register with D-Bus", NULL}, + {NULL} +}; + int main (int argc, char **argv) { - int ret; - char *obj_id; SpiRegistry *registry; + GMainLoop *mainloop; + GOptionContext *opt; - if (!bonobo_init (&argc, argv)) - { - g_error ("Could not initialize oaf / Bonobo"); - } + GError *err = NULL; + DBusError error; + int ret; + + g_type_init(); + + /*Parse command options*/ + opt = g_option_context_new(NULL); + g_option_context_add_main_entries(opt, optentries, NULL); - obj_id = "OAFIID:Accessibility_Registry:1.0"; + if (!g_option_context_parse(opt, &argc, &argv, &err)) + g_error("Option parsing failed: %s\n", err->message); + + if (dbus_name == NULL) + dbus_name = SPI_DBUS_NAME_REGISTRY; registry = spi_registry_new (); - ret = bonobo_activation_active_server_register ( - obj_id, - bonobo_object_corba_objref (bonobo_object (registry))); + mainloop = g_main_loop_new (NULL, FALSE); + + dbus_error_init (&error); + ret = dbus_bus_request_name(registry->droute.bus, dbus_name, DBUS_NAME_FLAG_DO_NOT_QUEUE, &error); - if (ret != Bonobo_ACTIVATION_REG_SUCCESS) + if (ret == DBUS_REQUEST_NAME_REPLY_EXISTS) { -#ifdef AT_SPI_DEBUG - fprintf (stderr, "SpiRegistry Message: SpiRegistry daemon was already running.\n"); -#endif + g_error("Could not obtain D-Bus name - %s\n", dbus_name); } else { -#ifdef AT_SPI_DEBUG - fprintf (stderr, "SpiRegistry Message: SpiRegistry daemon is running.\n"); -#endif - bonobo_main (); + g_print ("SpiRegistry daemon is running with well-known name - %s\n", dbus_name); + g_main_loop_run (mainloop); } return 0; } -