## DMAPShare DMAPShare |

## Synopsis

    #define             TYPE_DMAP_SHARE
    #define             DMAP_SHARE                          (o)
    #define             DMAP_SHARE_CLASS                    (k)
    #define             IS_DMAP_SHARE                       (o)
    #define             IS_DMAP_SHARE_CLASS                 (k)
    #define             DMAP_SHARE_GET_CLASS                (o)
    #define             DMAP_SHARE_CHUNK_SIZE
    #define             DMAP_STATUS_OK
    typedef             DMAPSharePrivate;
                        DMAPShare;
                        DMAPMetaDataMap;
                        DMAPShareClass;
    GType               dmap_share_get_type                 (void);
    void                dmap_share_free_filter              (GSList *filter);

## Object Hierarchy

      GObject
       +----DMAPShare
             +----DAAPShare

## Properties

      "auth-method"              guint                 : Read / Write
      "container-db"             gpointer              : Read / Write / Construct Only
      "db"                       gpointer              : Read / Write / Construct Only
      "name"                     gchar*                : Read / Write
      "password"                 gchar*                : Read / Write
      "revision-number"          guint                 : Read / Write
      "server"                   SoupServer*           : Read
      "transcode-mimetype"       gchar*                : Read / Write / Construct Only
      "txt-records"              GStrv*                : Read / Write

## Description

## Details

### TYPE_DMAP_SHARE

    #define TYPE_DMAP_SHARE         (dmap_share_get_type ())

The type for DMAPShare.

### DMAP_SHARE()

    #define             DMAP_SHARE(o)

Casts a DMAPShare or derived pointer into a (DMAPShare*) 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_SHARE_CLASS()

    #define             DMAP_SHARE_CLASS(k)

Casts a derived DMAPShareClass structure into a DMAPShareClass structure.

`k` : | a valid DMAPShareClass

### IS_DMAP_SHARE()

    #define             IS_DMAP_SHARE(o)

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

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

### IS_DMAP_SHARE_CLASS()

    #define             IS_DMAP_SHARE_CLASS(k)

Checks whether `k` "is a" valid DMAPShareClass structure of type `DMAP_SHARE` or derived.

`k` : | a DMAPShareClass

### DMAP_SHARE_GET_CLASS()

    #define             DMAP_SHARE_GET_CLASS(o)

Get the class structure associated to a DMAPShare instance.

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

### DMAP_SHARE_CHUNK_SIZE

    #define DMAP_SHARE_CHUNK_SIZE 16384

### DMAP_STATUS_OK

    #define DMAP_STATUS_OK 200

### DMAPSharePrivate

    typedef struct DMAPSharePrivate DMAPSharePrivate;

### DMAPShare

    typedef struct _DMAPShare DMAPShare;

### DMAPMetaDataMap

    typedef struct _DMAPMetaDataMap DMAPMetaDataMap;

### DMAPShareClass

    typedef struct {
    	GObjectClass parent;

    	/* Pure virtual methods: */
    	guint             (*get_desired_port)             (DMAPShare *share);
    	const char *      (*get_type_of_service)          (DMAPShare *share);
    	void              (*message_add_standard_headers) (DMAPShare *share,
    							   SoupMessage *msg);
    	struct DMAPMetaDataMap * (*get_meta_data_map)     (DMAPShare *share);
    	void              (*add_entry_to_mlcl)            (gpointer id,
    							   DMAPRecord *record,
    							   gpointer mb);
    	void		  (*databases_browse_xxx)	  (DMAPShare *share,
    							   SoupServer *server,
    							   SoupMessage *msg,
    							   const char *path,
    							   GHashTable *query,
    							   SoupClientContext *context);
    	void		  (*databases_items_xxx)	  (DMAPShare *share,
    							   SoupServer *server,
    							   SoupMessage *msg,
    							   const char *path,
    							   GHashTable *query,
    							   SoupClientContext *context);

    	/* Pure virtual methods: libsoup callbacks */
    	void	  (*server_info)   (DMAPShare *share, SoupServer *server,
    				    SoupMessage *message, const char *path,
    				    GHashTable *query, SoupClientContext *ctx);

    	void	  (*content_codes) (DMAPShare *share, SoupServer *server,
    				    SoupMessage *message, const char *path,
    				    GHashTable *query, SoupClientContext *ctx);

    	void	  (*login)         (DMAPShare *share, SoupServer *server,
    				    SoupMessage *message, const char *path,
    				    GHashTable *query, SoupClientContext *ctx);

    	void	  (*logout)        (DMAPShare *share, SoupServer *server,
    				    SoupMessage *message, const char *path,
    				    GHashTable *query, SoupClientContext *ctx);

    	void	  (*update)        (DMAPShare *share, SoupServer *server,
    				    SoupMessage *message, const char *path,
    				    GHashTable *query, SoupClientContext *ctx);

    	void	  (*ctrl_int)        (DMAPShare *share, SoupServer *server,
    				    SoupMessage *message, const char *path,
    				    GHashTable *query, SoupClientContext *ctx);

    	/* Virtual methods: MDNS callbacks */
    	void	  (*published)	   (DMAPShare         *share,
    				    DmapMdnsPublisher *publisher,
    	              		    const char        *name);

    	void	  (*name_collision)(DMAPShare	      *share,
    				    DmapMdnsPublisher *publisher,
    	              		    const char        *name);

    	/* Virtual methods: */
    	void	  (*databases)     (DMAPShare	      *share,
    				    SoupServer        *server,
    				    SoupMessage       *message,
    				    const char        *path,
    				    GHashTable        *query,
    				    SoupClientContext *context);
    } DMAPShareClass;

### dmap_share_get_type ()

    GType               dmap_share_get_type                 (void);

Returns : |

### dmap_share_free_filter ()

    void                dmap_share_free_filter              (GSList *filter);

`filter` : |

## Property Details

### The `"auth-method"` property

      "auth-method"              guint                 : Read / Write

Authentication method.

Allowed values: <= 2

Default value: 0

### The `"container-db"` property

      "container-db"             gpointer              : Read / Write / Construct Only

Container DB object.

### The `"db"` property

      "db"                       gpointer              : Read / Write / Construct Only

DB object.

### The `"name"` property

      "name"                     gchar*                : Read / Write

Share Name.

Default value: NULL

### The `"password"` property

      "password"                 gchar*                : Read / Write

Authentication password.

Default value: NULL

### The `"revision-number"` property

      "revision-number"          guint                 : Read / Write

Revision number.

Allowed values: <= G_MAXINT

Default value: 0

### The `"server"` property

      "server"                   SoupServer*           : Read

Soup server.

### The `"transcode-mimetype"` property

      "transcode-mimetype"       gchar*                : Read / Write / Construct Only

Set mimetype of stream after transcoding.

Default value: NULL

### The `"txt-records"` property

      "txt-records"              GStrv*                : Read / Write

Set TXT-Records used for MDNS publishing.