Skip to content

Commit

Permalink
[dbus] Cleanup mce-dbus header file. JB#41340
Browse files Browse the repository at this point in the history
After years of organic growth there is little structure left in
the mce-dbus.h header file.

Group constants, types and functions by association.

Use only spaces for indentation.

Fix include guard so that it does not use a reserved name.

Signed-off-by: Simo Piiroinen <simo.piiroinen@jollamobile.com>
  • Loading branch information
spiiroin committed Mar 16, 2018
1 parent d456a8b commit 2889d7c
Show file tree
Hide file tree
Showing 2 changed files with 131 additions and 118 deletions.
2 changes: 1 addition & 1 deletion Makefile
Expand Up @@ -553,6 +553,7 @@ NORMALIZE_USES_SPC =\
libwakelock.h\
mce-common.c\
mce-common.h\
mce-dbus.h\
mce-dsme.c\
mce-dsme.h\
mce-fbdev.c\
Expand Down Expand Up @@ -625,7 +626,6 @@ NORMALIZE_USES_TAB =\
mce-conf.c\
mce-conf.h\
mce-dbus.c\
mce-dbus.h\
mce-setting.c\
mce-hal.c\
mce-hal.h\
Expand Down
247 changes: 130 additions & 117 deletions mce-dbus.h
Expand Up @@ -18,115 +18,67 @@
* You should have received a copy of the GNU Lesser General Public
* License along with mce. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _MCE_DBUS_H_
#define _MCE_DBUS_H_
#ifndef MCE_DBUS_H_
# define MCE_DBUS_H_

#include "builtin-gconf.h"
# include "builtin-gconf.h"

#include <unistd.h>
# include <unistd.h>

#include <dbus/dbus.h>
# include <dbus/dbus.h>

/* ========================================================================= *
* DSME DBUS SERVICE
* ========================================================================= */

/** Well known dbus name of dsme */
#define DSME_DBUS_SERVICE "com.nokia.dsme"
/** Well known dbus name of dsme service */
# define DSME_DBUS_SERVICE "com.nokia.dsme"

/* ========================================================================= *
* COMPOSITOR DBUS SERVICE
* ========================================================================= */

#define COMPOSITOR_SERVICE "org.nemomobile.compositor"
#define COMPOSITOR_PATH "/"
#define COMPOSITOR_IFACE "org.nemomobile.compositor"
/** Well known dbus name of compositor service */
# define COMPOSITOR_SERVICE "org.nemomobile.compositor"
# define COMPOSITOR_PATH "/"
# define COMPOSITOR_IFACE "org.nemomobile.compositor"

/* Enabling/disabling display updates via compositor service */
#define COMPOSITOR_SET_UPDATES_ENABLED "setUpdatesEnabled"
# define COMPOSITOR_SET_UPDATES_ENABLED "setUpdatesEnabled"

/** Query owner of topmost ui window */
#define COMPOSITOR_GET_TOPMOST_WINDOW_PID "privateTopmostWindowProcessId"
# define COMPOSITOR_GET_TOPMOST_WINDOW_PID "privateTopmostWindowProcessId"

/** Change notification for owner of topmost ui window */
#define COMPOSITOR_TOPMOST_WINDOW_PID_CHANGED "privateTopmostWindowProcessIdChanged"
# define COMPOSITOR_TOPMOST_WINDOW_PID_CHANGED "privateTopmostWindowProcessIdChanged"

/* ========================================================================= *
* LIPSTICK DBUS SERVICE
* ========================================================================= */

#define LIPSTICK_SERVICE "org.nemomobile.lipstick"
#define LIPSTICK_PATH "/"
#define LIPSTICK_IFACE "org.nemomobile.lipstick"
/** Well known dbus name of systemui service */
# define LIPSTICK_SERVICE "org.nemomobile.lipstick"
# define LIPSTICK_PATH "/"
# define LIPSTICK_IFACE "org.nemomobile.lipstick"

/* ========================================================================= *
* USB_MODED DBUS SERVICE
* ========================================================================= */

/** Well known service name for usb_moded */
#define USB_MODED_DBUS_SERVICE "com.meego.usb_moded"
/** Well known service name for usb_moded service */
# define USB_MODED_DBUS_SERVICE "com.meego.usb_moded"

/** D-Bus interface name for usb_moded */
#define USB_MODED_DBUS_INTERFACE "com.meego.usb_moded"
# define USB_MODED_DBUS_INTERFACE "com.meego.usb_moded"

/** D-Bus object name for usb_moded */
#define USB_MODED_DBUS_OBJECT "/com/meego/usb_moded"
# define USB_MODED_DBUS_OBJECT "/com/meego/usb_moded"

/** Query current usb mode method call */
#define USB_MODED_QUERY_MODE_REQ "mode_request"
# define USB_MODED_QUERY_MODE_REQ "mode_request"

/** Current usb mode changed signal */
#define USB_MODED_MODE_CHANGED_SIG "sig_usb_state_ind"

DBusConnection *dbus_connection_get(void);

DBusMessage *dbus_new_signal(const gchar *const path,
const gchar *const interface,
const gchar *const name);
DBusMessage *dbus_new_method_call(const gchar *const service,
const gchar *const path,
const gchar *const interface,
const gchar *const name);
DBusMessage *dbus_new_method_reply(DBusMessage *const message);

gboolean dbus_send_message(DBusMessage *const msg);

gboolean dbus_send(const gchar *const service, const gchar *const path,
const gchar *const interface, const gchar *const name,
DBusPendingCallNotifyFunction callback,
int first_arg_type, ...);

gboolean dbus_send_ex(const char *service,
const char *path,
const char *interface,
const char *name,
DBusPendingCallNotifyFunction callback,
void *user_data, DBusFreeFunction user_free,
DBusPendingCall **ppc,
int first_arg_type, ...);

gboolean dbus_send_ex2(const char *service,
const char *path,
const char *interface,
const char *name,
DBusPendingCallNotifyFunction callback,
int timeout,
void *user_data, DBusFreeFunction user_free,
DBusPendingCall **ppc,
int first_arg_type, ...);

gssize mce_dbus_owner_monitor_add(const gchar *service,
gboolean (*callback)(DBusMessage *const msg),
GSList **monitor_list,
gssize max_num);
gssize mce_dbus_owner_monitor_remove(const gchar *service,
GSList **monitor_list);
void mce_dbus_owner_monitor_remove_all(GSList **monitor_list);

gboolean mce_dbus_init(const gboolean systembus);
void mce_dbus_exit(void);

void mce_dbus_send_config_notification(GConfEntry *entry);
# define USB_MODED_MODE_CHANGED_SIG "sig_usb_state_ind"

/* ========================================================================= *
* FINGERPRINT_DAEMON_DBUS_SERVICE (API Version 1)
Expand Down Expand Up @@ -154,28 +106,29 @@ void mce_dbus_send_config_notification(GConfEntry *entry);
# define FINGERPRINT1_DBUS_SIG_VERIFIED "Verified"

# define FINGERPRINT1_DBUS_SIG_STATE_CHANGED "StateChanged"

# define FINGERPRINT1_DBUS_SIG_ERROR_INFO "ErrorInfo"

# define FINGERPRINT1_DBUS_SIG_ACQUISITION_INFO "AcquisitionInfo"

# define FINGERPRINT1_DBUS_SIG_ENROLL_PROGRESS "EnrollProgressChanged"

/* ========================================================================= *
* D-Bus connection and message handling
* ========================================================================= */

/** Placeholder for any basic dbus data type */
typedef union
{
dbus_int16_t i16;
dbus_int32_t i32;
dbus_int64_t i64;
dbus_int16_t i16;
dbus_int32_t i32;
dbus_int64_t i64;

dbus_uint16_t u16;
dbus_uint32_t u32;
dbus_uint64_t u64;
dbus_uint16_t u16;
dbus_uint32_t u32;
dbus_uint64_t u64;

dbus_bool_t b;
unsigned char o;
const char *s;
double d;
dbus_bool_t b;
unsigned char o;
const char *s;
double d;

} dbus_any_t;

Expand All @@ -185,19 +138,63 @@ typedef union
*/
typedef struct
{
const char *sender;
const char *interface;
const char *name;
const char *rules;
const char *args;
int type;
gboolean (*callback)(DBusMessage *const msg);
bool privileged;

gconstpointer cookie;
const char *sender;
const char *interface;
const char *name;
const char *rules;
const char *args;
int type;
gboolean (*callback)(DBusMessage *const msg);
bool privileged;

gconstpointer cookie;
} mce_dbus_handler_t;

DBusConnection *dbus_connection_get(void);

DBusMessage *dbus_new_signal(const gchar *const path,
const gchar *const interface,
const gchar *const name);

DBusMessage *dbus_new_method_call(const gchar *const service,
const gchar *const path,
const gchar *const interface,
const gchar *const name);

DBusMessage *dbus_new_method_reply(DBusMessage *const message);

gboolean dbus_send_message(DBusMessage *const msg);

gboolean dbus_send(const gchar *const service, const gchar *const path,
const gchar *const interface, const gchar *const name,
DBusPendingCallNotifyFunction callback,
int first_arg_type, ...);

gboolean dbus_send_ex(const char *service,
const char *path,
const char *interface,
const char *name,
DBusPendingCallNotifyFunction callback,
void *user_data, DBusFreeFunction user_free,
DBusPendingCall **ppc,
int first_arg_type, ...);

gboolean dbus_send_ex2(const char *service,
const char *path,
const char *interface,
const char *name,
DBusPendingCallNotifyFunction callback,
int timeout,
void *user_data, DBusFreeFunction user_free,
DBusPendingCall **ppc,
int first_arg_type, ...);

void mce_dbus_send_config_notification(GConfEntry *entry);

const char *mce_dbus_type_repr(int type);
char *mce_dbus_message_repr(DBusMessage *const msg);
char *mce_dbus_message_iter_repr(DBusMessageIter *iter);

bool mce_dbus_iter_at_end(DBusMessageIter *iter);
bool mce_dbus_iter_get_object(DBusMessageIter *iter, const char **pval);
bool mce_dbus_iter_get_string(DBusMessageIter *iter, const char **pval);
Expand All @@ -208,23 +205,17 @@ bool mce_dbus_iter_get_array(DBusMessageIter *iter, DBusMessageIter *sub);
bool mce_dbus_iter_get_struct(DBusMessageIter *iter, DBusMessageIter *sub);
bool mce_dbus_iter_get_entry(DBusMessageIter *iter, DBusMessageIter *sub);
bool mce_dbus_iter_get_variant(DBusMessageIter *iter, DBusMessageIter *sub);

void mce_dbus_handler_register(mce_dbus_handler_t *self);
void mce_dbus_handler_unregister(mce_dbus_handler_t *self);

void mce_dbus_handler_register_array(mce_dbus_handler_t *array);
void mce_dbus_handler_unregister_array(mce_dbus_handler_t *array);

char *mce_dbus_message_repr(DBusMessage *const msg);
char *mce_dbus_message_iter_repr(DBusMessageIter *iter);

const char *mce_dbus_get_name_owner_ident(const char *name);
const char *mce_dbus_get_message_sender_ident(DBusMessage *msg);

const char *mce_dbus_nameowner_get(const char *name);

void mce_dbus_pending_call_blocks_suspend(DBusPendingCall *pc);

/* ========================================================================= *
* PEERINFO
* D-Bus client tracking
* ========================================================================= */

/** D-Bus peer identity/availability tracking state */
Expand Down Expand Up @@ -261,25 +252,47 @@ typedef enum

const char *peerstate_repr(peerstate_t state);

/** Cached D-Bus peer details */
/** Opaque object type for holding D-Bus peer details */
typedef struct peerinfo_t peerinfo_t;

const char *peerinfo_name (const peerinfo_t *self);
peerstate_t peerinfo_get_state (const peerinfo_t *self);
pid_t peerinfo_get_owner_pid (const peerinfo_t *self);
uid_t peerinfo_get_owner_uid (const peerinfo_t *self);
gid_t peerinfo_get_owner_gid (const peerinfo_t *self);
const char *peerinfo_get_owner_cmd (const peerinfo_t *self);
const char *peerinfo_name (const peerinfo_t *self);
peerstate_t peerinfo_get_state (const peerinfo_t *self);
pid_t peerinfo_get_owner_pid(const peerinfo_t *self);
uid_t peerinfo_get_owner_uid(const peerinfo_t *self);
gid_t peerinfo_get_owner_gid(const peerinfo_t *self);
const char *peerinfo_get_owner_cmd(const peerinfo_t *self);

/** Callback function type used by dbus name tracking functionality */
typedef void (*peernotify_fn)(const peerinfo_t *peerinfo, gpointer userdata);

void mce_dbus_name_tracker_add(const char *name,
peernotify_fn callback,
gpointer userdata,
GDestroyNotify userfree);
peernotify_fn callback,
gpointer userdata,
GDestroyNotify userfree);

void mce_dbus_name_tracker_remove(const char *name,
peernotify_fn callback,
gpointer userdata);
peernotify_fn callback,
gpointer userdata);

const char *mce_dbus_get_name_owner_ident(const char *name);
const char *mce_dbus_get_message_sender_ident(DBusMessage *msg);
const char *mce_dbus_nameowner_get(const char *name);

gssize mce_dbus_owner_monitor_add(const gchar *service,
gboolean (*callback)(DBusMessage *const msg),
GSList **monitor_list,
gssize max_num);

gssize mce_dbus_owner_monitor_remove(const gchar *service,
GSList **monitor_list);

void mce_dbus_owner_monitor_remove_all(GSList **monitor_list);

/* ========================================================================= *
* Module init/quit
* ========================================================================= */

gboolean mce_dbus_init(const gboolean systembus);
void mce_dbus_exit(void);

#endif /* _MCE_DBUS_H_ */
#endif /* MCE_DBUS_H_ */

0 comments on commit 2889d7c

Please sign in to comment.