## DMAPMdnsBrowser DMAPMdnsBrowser |

## Synopsis

    #define             TYPE_DMAP_MDNS_BROWSER
    #define             DMAP_MDNS_BROWSER                   (o)
    #define             DMAP_MDNS_BROWSER_CLASS             (k)
    #define             IS_DMAP_MDNS_BROWSER                (o)
    #define             IS_DMAP_MDNS_BROWSER_CLASS          (k)
    #define             DMAP_MDNS_BROWSER_GET_CLASS         (o)
                        DMAPMdnsBrowser;
                        DMAPMdnsBrowserClass;
                        DMAPMdnsBrowserPrivate;
                        DMAPMdnsBrowserService;
    enum                DMAPMdnsBrowserServiceType;
    enum                DMAPMdnsBrowserError;
    #define             DMAP_MDNS_BROWSER_ERROR
    GQuark              dmap_mdns_browser_error_quark       (void);
    GType               dmap_mdns_browser_get_type          (void);
    DMAPMdnsBrowser *   dmap_mdns_browser_new               (DMAPMdnsBrowserServiceType type);
    gboolean            dmap_mdns_browser_start             (DMAPMdnsBrowser *browser,
                                                             GError **error);
    gboolean            dmap_mdns_browser_stop              (DMAPMdnsBrowser *browser,
                                                             GError **error);
    const GSList *      dmap_mdns_browser_get_services      (DMAPMdnsBrowser *browser);
    DMAPMdnsBrowserServiceType  dmap_mdns_browser_get_service_type
                                                            (DMAPMdnsBrowser *browser);

## Object Hierarchy

      GObject
       +----DMAPMdnsBrowser

## Signals

      "service-added"                                  : Run Last
      "service-removed"                                : Run Last

## Description

## Details

### TYPE_DMAP_MDNS_BROWSER

    #define TYPE_DMAP_MDNS_BROWSER         (dmap_mdns_browser_get_type ())

The type for DMAPMdnsBrowser.

### DMAP_MDNS_BROWSER()

    #define DMAP_MDNS_BROWSER(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_DMAP_MDNS_BROWSER, DMAPMdnsBrowser))

Casts a DMAPMdnsBrowser or derived pointer into a (DMAPMdnsBrowser *) pointer. Depending on the current debugging level, this function may invoke certain runtime checks to identify invalid casts.

`o` : | Object which is subject to casting.

### DMAP_MDNS_BROWSER_CLASS()

    #define DMAP_MDNS_BROWSER_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), TYPE_DMAP_MDNS_BROWSER, DMAPMdnsBrowserClass))

Casts a derived DAAPShareClass structure into a DAAPShareClass structure.

`k` : | a valid DMAPMdnsBrowserClass

### IS_DMAP_MDNS_BROWSER()

    #define IS_DMAP_MDNS_BROWSER(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_DMAP_MDNS_BROWSER))

Checks whether a valid GTypeInstance pointer is of type `TYPE_DAAP_SHARE`.

`o` : | Instance to check for being a `TYPE_DMAP_MDNS_BROWSER`.

### IS_DMAP_MDNS_BROWSER_CLASS()

    #define IS_DMAP_MDNS_BROWSER_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_DMAP_MDNS_BROWSER))

Checks whether `k` "is a" valid DMAPMdnsBrowserClass structure of type `DMAP_MDNS_BROWSER` or derived.

`k` : | a DMAPMdnsBrowserClass

### DMAP_MDNS_BROWSER_GET_CLASS()

    #define DMAP_MDNS_BROWSER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_DMAP_MDNS_BROWSER, DMAPMdnsBrowserClass))

Get the class structure associated to a DMAPMdnsBrowser instance.

`o` : | a DMAPMdnsBrowser instance.
Returns : | pointer to object class structure.

### DMAPMdnsBrowser

    typedef struct _DMAPMdnsBrowser DMAPMdnsBrowser;

### DMAPMdnsBrowserClass

    typedef struct {
        GObjectClass parent_class;

        void (* service_added)    (DMAPMdnsBrowser *browser,
                                   DMAPMdnsBrowserService *service);
        void (* service_removed ) (DMAPMdnsBrowser *browser,
                                   DMAPMdnsBrowserService *service);
    } DMAPMdnsBrowserClass;

### DMAPMdnsBrowserPrivate

    typedef struct _DMAPMdnsBrowserPrivate DMAPMdnsBrowserPrivate;

### DMAPMdnsBrowserService

    typedef struct {
        gchar *service_name;
        gchar *name;
        gchar *host;
        guint port;
        gboolean password_protected;
        gchar *pair;
    } DMAPMdnsBrowserService;

### enum DMAPMdnsBrowserServiceType

    typedef enum
    {
        DMAP_MDNS_BROWSER_SERVICE_TYPE_INVALID = 0,
        DMAP_MDNS_BROWSER_SERVICE_TYPE_DAAP,
        DMAP_MDNS_BROWSER_SERVICE_TYPE_DPAP,
        DMAP_MDNS_BROWSER_SERVICE_TYPE_DACP,
        DMAP_MDNS_BROWSER_SERVICE_TYPE_LAST = DMAP_MDNS_BROWSER_SERVICE_TYPE_DACP
    } DMAPMdnsBrowserServiceType;

### enum DMAPMdnsBrowserError

    typedef enum
    {
        DMAP_MDNS_BROWSER_ERROR_NOT_RUNNING = 0,
        DMAP_MDNS_BROWSER_ERROR_FAILED,
    } DMAPMdnsBrowserError;

### DMAP_MDNS_BROWSER_ERROR

    #define DMAP_MDNS_BROWSER_ERROR dmap_mdns_browser_error_quark ()

### dmap_mdns_browser_error_quark ()

    GQuark              dmap_mdns_browser_error_quark       (void);

Returns : |

### dmap_mdns_browser_get_type ()

    GType               dmap_mdns_browser_get_type          (void);

Returns : |

### dmap_mdns_browser_new ()

    DMAPMdnsBrowser *   dmap_mdns_browser_new               (DMAPMdnsBrowserServiceType type);

Creates a new mDNS browser.

`type` : | The type of service to browse.
Returns : | a pointer to a DMAPMdnsBrowser.

### dmap_mdns_browser_start ()

    gboolean            dmap_mdns_browser_start             (DMAPMdnsBrowser *browser,
                                                             GError **error);

Starts a DMAPMdnsBrowser.

`browser` : | A DMAPMdnsBrowser.
`error` : | A GError.
Returns : | TRUE on success, else FALSE.

### dmap_mdns_browser_stop ()

    gboolean            dmap_mdns_browser_stop              (DMAPMdnsBrowser *browser,
                                                             GError **error);

Stops a DMAPMdnsBrowser.

`browser` : | A DMAPMdnsBrowser.
`error` : | A GError.
Returns : | TRUE on success, else FALSE.

### dmap_mdns_browser_get_services ()

    const GSList *      dmap_mdns_browser_get_services      (DMAPMdnsBrowser *browser);

`browser` : |
Returns : |

### dmap_mdns_browser_get_service_type ()

    DMAPMdnsBrowserServiceType  dmap_mdns_browser_get_service_type
                                                            (DMAPMdnsBrowser *browser);

`browser` : |
Returns : |

## Signal Details

### The `"service-added"` signal

    void                user_function                      (DMAPMdnsBrowser *dmapmdnsbrowser,
                                                            gpointer         arg1,
                                                            gpointer         user_data)            : Run Last

`dmapmdnsbrowser` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.

### The `"service-removed"` signal

    void                user_function                      (DMAPMdnsBrowser *dmapmdnsbrowser,
                                                            gchar           *arg1,
                                                            gpointer         user_data)            : Run Last

`dmapmdnsbrowser` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.