blob: ec32dfaccbc35dfd7a7743a8fe2588f3f2ad0135 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
/*
* File: contentdirectory.h
* Author: savop
*
* Created on 21. August 2009, 16:12
*/
#ifndef _CONTENTDIRECTORY_H
#define _CONTENTDIRECTORY_H
#include <upnp/upnp.h>
#include "service.h"
#include "metadata.h"
/**
* The content directory service
*
* This is the content directory service which handles all incoming requests
* for contents managed by the media server.
*/
class cContentDirectory : public cUpnpService, public cThread {
public:
/**
* Constructor of a Content Directory
*
* This creates an instance of a <em>Content Directory Service</em> and provides
* interfaces for executing actions and subscribing on events.
*/
cContentDirectory(
UpnpDevice_Handle DeviceHandle, ///< The UPnP device handle of the root device
cMediaDatabase* MediaDatabase ///< the media database where requests are processed
);
virtual ~cContentDirectory();
/*! @copydoc cUpnpService::subscribe(Upnp_Subscription_Request* Request) */
virtual int subscribe(Upnp_Subscription_Request* Request);
/*! @copydoc cUpnpService::execute(Upnp_Action_Request* Request) */
virtual int execute(Upnp_Action_Request* Request);
/*! @copydoc cUpnpService::setError(Upnp_Action_Request* Request, int Error) */
virtual void setError(Upnp_Action_Request* Request, int Error);
private:
cMediaDatabase* mMediaDatabase;
void Action();
int getSearchCapabilities(Upnp_Action_Request* Request);
int getSortCapabilities(Upnp_Action_Request* Request);
int getSystemUpdateID(Upnp_Action_Request* Request);
int browse(Upnp_Action_Request* Request);
// int search(Upnp_Action_Request* Request);
// int createObject(Upnp_Action_Request* Request);
// int destroyObject(Upnp_Action_Request* Request);
// int updateObject(Upnp_Action_Request* Request);
// int deleteResource(Upnp_Action_Request* Request);
// int createReference(Upnp_Action_Request* Request);
};
#endif /* _CONTENTDIRECTORY_H */
|