#define MEDIA_SERVER2_OBJECT_IFACE_NAME	"org.gnome.UPnP.MediaObject2"
#define MEDIA_SERVER2_ITEM_IFACE_NAME	"org.gnome.UPnP.MediaItem2"
#define MEDIA_SERVER2_CONTAINER_IFACE_NAME	"org.gnome.UPnP.MediaContainer2"

#define MEDIA_SERVER2_BUS_NAME_PREFIX "org.gnome.UPnP.MediaServer2"

const char *media_server2_spec =
	"<node>"
	"  <interface name='org.gnome.UPnP.MediaObject2'>"
	"    <property name='Parent' type='o' access='read' />"
	"    <property name='Type' type='s' access='read' />"
	"    <property name='Path' type='s' access='read' />"
	"    <property name='DisplayName' type='s' access='read' />"
	"  </interface>"
	"  <interface name='org.gnome.UPnP.MediaItem2'>"
	"    <property name='URLs' type='as' access='read' />"
	"    <property name='MIMEType' type='s' access='read' />"
	"    <property name='Size' type='i' access='read' />"
	"    <property name='Artist' type='s' access='read' />"
	"    <property name='Album' type='s' access='read' />"
	"    <property name='Date' type='s' access='read' />"
	"    <property name='Genre' type='s' access='read' />"
	"    <property name='DLNAProfile' type='s' access='read' />"
	"    <property name='Duration' type='i' access='read' />"
	"    <property name='Bitrate' type='i' access='read' />"
	"    <property name='SampleRate' type='i' access='read' />"
	"    <property name='BitsPerSample' type='i' access='read' />"
	"    <property name='AlbumArt' type='o' access='read' />"
	"  </interface>"
	"  <interface name='org.gnome.UPnP.MediaContainer2'>"
	"    <method name='ListChildren'>"
	"      <arg direction='in' name='offset' type='u' />"
	"      <arg direction='in' name='max' type='u' />"
	"      <arg direction='in' name='filter' type='as' />"
	"      <arg direction='out' type='aa{sv}' />"
	"    </method>"
	"    <method name='ListContainers'>"
	"      <arg direction='in' name='offset' type='u' />"
	"      <arg direction='in' name='max' type='u' />"
	"      <arg direction='in' name='filter' type='as' />"
	"      <arg direction='out' type='aa{sv}' />"
	"    </method>"
	"    <method name='ListItems'>"
	"      <arg direction='in' name='offset' type='u' />"
	"      <arg direction='in' name='max' type='u' />"
	"      <arg direction='in' name='filter' type='as' />"
	"      <arg direction='out' type='aa{sv}' />"
	"    </method>"
	"    <method name='SearchObjects'>"
	"      <arg direction='in' name='query' type='s' />"
	"      <arg direction='in' name='offset' type='u' />"
	"      <arg direction='in' name='max' type='u' />"
	"      <arg direction='in' name='filter' type='as' />"
	"      <arg direction='out' type='aa{sv}' />"
	"    </method>"
	"    <signal name='Updated' />"
	"    <property name='ChildCount' type='u' access='read' />"
	"    <property name='ItemCount' type='u' access='read' />"
	"    <property name='ContainerCount' type='u' access='read' />"
	"    <property name='Searchable' type='b' access='read' />"
	"    <property name='Icon' type='o' access='read' />"
	"  </interface>"
	"</node>";
