add quick test of object/method API

SVN revision: 26172
This commit is contained in:
rephorm 2006-09-27 00:02:30 +00:00 committed by rephorm
parent 4e1d08d200
commit 198b5ee4f6
2 changed files with 27 additions and 5 deletions

View File

@ -12,6 +12,9 @@ static int ecore_dbus_event_method_call(void *udata, int ev_type, void *ev);
static void ecore_dbus_method_add_match_cb(void *data, Ecore_DBus_Method_Return *reply);
static void ecore_dbus_method_error_cb(void *data, const char *error);
static void _test_object_init(Ecore_DBus_Server *svr);
static Ecore_DBus_Server *svr = NULL;
int
@ -56,9 +59,9 @@ ecore_dbus_event_server_add(void *udata, int ev_type, void *ev)
event = ev;
printf("ecore_dbus_event_server_add\n");
ecore_dbus_method_request_name(event->server, "org.enlightenment.Test", 0, NULL, ecore_dbus_method_error_cb, NULL);
ecore_dbus_method_add_match(event->server, "type=method_call,interface=org.enlightenment.Test", ecore_dbus_method_add_match_cb, ecore_dbus_method_error_cb, NULL);
_test_object_init(event->server);
return 0;
}
@ -99,6 +102,23 @@ ecore_dbus_method_error_cb(void *data, const char *error)
ecore_main_loop_quit();
}
static void
_test_object_test(Ecore_DBus_Event_Method_Call *event)
{
printf("received call to test!\n");
}
static void
_test_object_init(Ecore_DBus_Server *svr)
{
Ecore_DBus_Object *obj;
printf("init object!\n");
if (!svr) return;
obj = ecore_dbus_object_add(svr, "/org/enlightenment/test");
ecore_dbus_object_method_add(obj, "org.enlightenment.Test", "Test", _test_object_test);
}
#else
int
main(int argc, const char **argv)

View File

@ -19,13 +19,12 @@ static Ecore_DBus_Server *svr = NULL;
int
main(int argc, char **argv)
{
char *bus_addr = NULL, *socket_name = NULL;
ecore_dbus_init();
svr = ecore_dbus_server_session_connect(NULL);
if (!svr)
{
printf("Couldn't connect to dbus system server (%s)!\n", socket_name);
printf("Couldn't connect to dbus session server!\n");
}
else
{
@ -61,7 +60,7 @@ ecore_dbus_event_server_add(void *udata, int ev_type, void *ev)
ecore_dbus_method_list_names_cb,
ecore_dbus_method_error_cb, NULL);
ecore_dbus_message_new_method_call(event->server,
"/org/enlightenment/Test" /*path*/,
"/org/enlightenment/test" /*path*/,
"org.enlightenment.Test" /*interface*/,
"Test" /*method*/,
"org.enlightenment.Test" /*destination*/,
@ -140,6 +139,7 @@ event_type_get(Ecore_DBus_Message_Type type)
}
return "UNKNOWN";
}
#else
int
main(int argc, const char **argv)
@ -148,3 +148,5 @@ main(int argc, const char **argv)
return -1;
}
#endif