DMAPMdnsBrowser

## DMAPMdnsBrowser DMAPMdnsBrowser |

## Synopsis

    struct              DMAPMdnsBrowserClass;
    enum                DMAPMdnsBrowserError;
    struct              DMAPMdnsBrowserService;
    enum                DMAPMdnsBrowserServiceType;
    enum                DMAPMdnsBrowserTransportProtocol;
    #define             DMAP_MDNS_BROWSER_ERROR
    GQuark              dmap_mdns_browser_error_quark       (void);
    DMAPMdnsBrowserServiceType dmap_mdns_browser_get_service_type
                                                            (DMAPMdnsBrowser *browser);
    const GSList *      dmap_mdns_browser_get_services      (DMAPMdnsBrowser *browser);
    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);

## Object Hierarchy

      GEnum
       +----DMAPMdnsBrowserError

      GEnum
       +----DMAPMdnsBrowserServiceType

      GEnum
       +----DMAPMdnsBrowserTransportProtocol

## Description

## Details

### struct DMAPMdnsBrowserClass

    struct DMAPMdnsBrowserClass {
    	GObjectClass parent_class;

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

### enum DMAPMdnsBrowserError

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

### struct DMAPMdnsBrowserService

    struct DMAPMdnsBrowserService {
    	gchar *service_name;
    	gchar *name;
    	gchar *host;
    	guint port;
    	gboolean password_protected;
    	gchar *pair;                                         // FIXME: subclass
    	DMAPMdnsBrowserTransportProtocol transport_protocol; // FIXME: subclass
    };

### 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_RAOP,
    	DMAP_MDNS_BROWSER_SERVICE_TYPE_LAST = DMAP_MDNS_BROWSER_SERVICE_TYPE_RAOP
    } DMAPMdnsBrowserServiceType;

### enum DMAPMdnsBrowserTransportProtocol

    typedef enum {
    	DMAP_MDNS_BROWSER_TRANSPORT_PROTOCOL_TCP = 0,
    	DMAP_MDNS_BROWSER_TRANSPORT_PROTOCOL_UDP,
    	DMAP_MDNS_BROWSER_TRANSPORT_PROTOCOL_LAST = DMAP_MDNS_BROWSER_TRANSPORT_PROTOCOL_UDP
    } DMAPMdnsBrowserTransportProtocol;

### 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);

### dmap_mdns_browser_get_service_type ()

    DMAPMdnsBrowserServiceType dmap_mdns_browser_get_service_type
                                                            (DMAPMdnsBrowser *browser);

### dmap_mdns_browser_get_services ()

    const GSList *      dmap_mdns_browser_get_services      (DMAPMdnsBrowser *browser);

### 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.