lib/dbus/e_dbus_signal.c File Reference
#include <string.h>
#include <stdlib.h>
#include "e_dbus_private.h"
Include dependency graph for e_dbus_signal.c:

Data Structures

struct  cb_name_owner_data
struct  E_DBus_Signal_Handler

Defines

#define ADD_MATCH_PIECE(PIECE)
#define ADD_MATCH_PIECE(PIECE)
#define SET_STRING(PIECE)

Functions

EAPI E_DBus_Signal_Handlere_dbus_signal_handler_add (E_DBus_Connection *conn, const char *sender, const char *path, const char *interface, const char *member, E_DBus_Signal_Cb cb_signal, void *data)
EAPI void e_dbus_signal_handler_del (E_DBus_Connection *conn, E_DBus_Signal_Handler *sh)
void e_dbus_signal_handlers_clean (E_DBus_Connection *conn)
void e_dbus_signal_handlers_free_all (E_DBus_Connection *conn)

Define Documentation

#define ADD_MATCH_PIECE (   PIECE)
Value:
do {                                    \
     PIECE ## _len = PIECE ? strlen(PIECE) : 0;             \
     if (!_match_append(match, sizeof(match), &len, #PIECE, sizeof(#PIECE) - 1, PIECE, PIECE ## _len)) \
       return NULL;                         \
  } while (0)

Referenced by e_dbus_signal_handler_add(), and e_dbus_signal_handler_del().

#define ADD_MATCH_PIECE (   PIECE)
Value:
do {                                    \
      PIECE ## _len = sh->PIECE ? strlen(sh->PIECE) : 0;                \
      if (!_match_append(match, sizeof(match), &len, #PIECE, sizeof(#PIECE) - 1, sh->PIECE, PIECE ## _len)) \
        return;                             \
   } while (0)
#define SET_STRING (   PIECE)
Value:
do {                            \
     sh->PIECE = ((char *)sh) + len;            \
     if (PIECE)                     \
       memcpy(sh->PIECE, PIECE, PIECE ## _len + 1); \
     else                       \
       sh->PIECE = NULL;                \
     len += PIECE ## _len + 1;              \
  } while (0)

Referenced by e_dbus_signal_handler_add().


Function Documentation

void e_dbus_signal_handlers_free_all ( E_DBus_Connection conn)