## DbusmenuServer

DbusmenuServer

## Synopsis

    #define             DBUSMENU_SERVER_SIGNAL_ID_PROP_UPDATE
    #define             DBUSMENU_SERVER_SIGNAL_ID_UPDATE
    #define             DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATED
    #define             DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATE
    #define             DBUSMENU_SERVER_PROP_DBUS_OBJECT
    #define             DBUSMENU_SERVER_PROP_ROOT_NODE
    #define             DBUSMENU_SERVER_PROP_VERSION
                        DbusmenuServer;
                        DbusmenuServerClass;
    DbusmenuServer *    dbusmenu_server_new                 (const gchar *object);
    void                dbusmenu_server_set_root            (DbusmenuServer *server,
                                                             DbusmenuMenuitem *root);

## Description

## Details

### DBUSMENU_SERVER_SIGNAL_ID_PROP_UPDATE

    #define DBUSMENU_SERVER_SIGNAL_ID_PROP_UPDATE  "item-property-updated"

### DBUSMENU_SERVER_SIGNAL_ID_UPDATE

    #define DBUSMENU_SERVER_SIGNAL_ID_UPDATE       "item-updated"

### DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATED

    #define DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATED  "layout-updated"

### DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATE

    #define DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATE   DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATED

### DBUSMENU_SERVER_PROP_DBUS_OBJECT

    #define DBUSMENU_SERVER_PROP_DBUS_OBJECT       "dbus-object"

### DBUSMENU_SERVER_PROP_ROOT_NODE

    #define DBUSMENU_SERVER_PROP_ROOT_NODE         "root-node"

### DBUSMENU_SERVER_PROP_VERSION

    #define DBUSMENU_SERVER_PROP_VERSION           "version"

### DbusmenuServer

    typedef struct {
    	GObject parent;
    } DbusmenuServer;

A server which represents a sharing of a set of DbusmenuMenuitems across DBus to a DbusmenuClient.

GObject `parent`; | GObject

### DbusmenuServerClass

    typedef struct {
    	GObjectClass parent_class;

    	/* Signals */
    	void (*id_prop_update)(gint id, gchar * property, gchar * value);
    	void (*id_update)(gint id);
    	void (*layout_updated)(gint revision);

    	/* Reserved */
    	void (*dbusmenu_server_reserved1)(void);
    	void (*dbusmenu_server_reserved2)(void);
    	void (*dbusmenu_server_reserved3)(void);
    	void (*dbusmenu_server_reserved4)(void);
    } DbusmenuServerClass;

The class implementing the virtual functions for DbusmenuServer.

GObjectClass `parent_class`; | GObjectClass
`id_prop_update` () | Slot for "id-prop-update".
`id_update` () | Slot for "id-update".
`layout_updated` () | Slot for "layout-update".
`dbusmenu_server_reserved1` () | Reserved for future use.
`dbusmenu_server_reserved2` () | Reserved for future use.
`dbusmenu_server_reserved3` () | Reserved for future use.
`dbusmenu_server_reserved4` () | Reserved for future use.

### dbusmenu_server_new ()

    DbusmenuServer *    dbusmenu_server_new                 (const gchar *object);

Creates a new DbusmenuServer object with a specific object path on DBus. If `object` is set to NULL the default object name of "/org/ayatana/dbusmenu" will be used.

`object` : | The object name to show for this menu structure on DBus. May be NULL.
Returns : | A brand new DbusmenuServer

### dbusmenu_server_set_root ()

    void                dbusmenu_server_set_root            (DbusmenuServer *server,
                                                             DbusmenuMenuitem *root);

This function contains all of the GValue wrapping required to set the property "root-node" on the server `self`.

`server` : |
`root` : | The new root DbusmenuMenuitem tree