Update the event structure for DBus.

SVN revision: 24201
This commit is contained in:
sebastid 2006-07-26 12:08:06 +00:00 committed by sebastid
parent baee01fd76
commit e70669f3d1
4 changed files with 20 additions and 18 deletions

View File

@ -75,14 +75,14 @@ _ecore_dbus_event_server_data(void *udata, int ev_type, void *ev)
Ecore_DBus_Event_Server_Data *event;
event = ev;
if (!event->method) return 0;
printf("_ecore_dbus_event_server_data %s\n", event->method);
if (!strcmp(event->method, "org.freedesktop.DBus.Hello"))
if (event->type != ECORE_DBUS_MESSAGE_TYPE_METHOD_RETURN) return 0;
printf("_ecore_dbus_event_server_data %s\n", event->member);
if (!strcmp(event->member, "org.freedesktop.DBus.Hello"))
{
printf("List names\n");
ecore_dbus_method_list_names(event->server);
}
else if (!strcmp(event->method, "org.freedesktop.DBus.ListNames"))
else if (!strcmp(event->member, "org.freedesktop.DBus.ListNames"))
{
Ecore_List *names;

View File

@ -46,6 +46,15 @@ extern "C" {
ECORE_DBUS_BUS_ACTIVATION
} Ecore_DBus_Type;
typedef enum _Ecore_DBus_Message_Type
{
ECORE_DBUS_MESSAGE_TYPE_INVALID,
ECORE_DBUS_MESSAGE_TYPE_METHOD_CALL,
ECORE_DBUS_MESSAGE_TYPE_METHOD_RETURN,
ECORE_DBUS_MESSAGE_TYPE_ERROR,
ECORE_DBUS_MESSAGE_TYPE_SIGNAL
} Ecore_DBus_Message_Type;
typedef enum _Ecore_DBus_Data_Type
{
ECORE_DBUS_DATA_TYPE_INVALID = ((int) '\0'),
@ -83,9 +92,10 @@ extern "C" {
struct _Ecore_DBus_Event_Server_Data
{
Ecore_DBus_Server *server;
char *method;
Ecore_DBus_Message *message;
Ecore_DBus_Server *server;
Ecore_DBus_Message_Type type;
char *member;
Ecore_DBus_Message *message;
};
typedef enum _Ecore_DBus_Message_Header_Field

View File

@ -377,9 +377,10 @@ _ecore_dbus_event_server_data(void *udata, int ev_type, void *ev)
method = NULL;
}
ev = malloc(sizeof(Ecore_DBus_Event_Server_Data));
ev->type = msg->type;
ev->server = svr;
ev->message = msg;
ev->method = method;
ev->member = method;
ecore_event_add(ECORE_DBUS_EVENT_SERVER_DATA, ev,
_ecore_dbus_event_server_data_free, NULL);
}
@ -394,6 +395,6 @@ _ecore_dbus_event_server_data_free(void *data, void *ev)
event = ev;
_ecore_dbus_message_free(event->message);
if (event->method) free(event->method);
if (event->member) free(event->member);
free(ev);
}

View File

@ -54,15 +54,6 @@ typedef enum _Ecore_DBus_Auth_Type
ECORE_DBUS_AUTH_TYPE_SKEY
} Ecore_DBus_Auth_Type;
typedef enum _Ecore_DBus_Message_Type
{
ECORE_DBUS_MESSAGE_TYPE_INVALID,
ECORE_DBUS_MESSAGE_TYPE_METHOD_CALL,
ECORE_DBUS_MESSAGE_TYPE_METHOD_RETURN,
ECORE_DBUS_MESSAGE_TYPE_ERROR,
ECORE_DBUS_MESSAGE_TYPE_SIGNAL
} Ecore_DBus_Message_Type;
struct _Ecore_DBus_Server
{
Ecore_List2 __list_data;