--- a/libupnpp/control/cdirectory.hxx
+++ b/libupnpp/control/cdirectory.hxx
@@ -21,26 +21,19 @@
#include "libupnpp/config.h"
#include <unordered_map>
-#include <set> // for set
-#include <string> // for string
-#include <vector> // for vector
+#include <set>
+#include <string>
+#include <vector>
-#include "libupnpp/control/service.hxx" // for Service
+#include "libupnpp/control/service.hxx"
+
namespace UPnPClient {
-class ContentDirectory; // lines 30-30
-}
-namespace UPnPClient {
+
+class ContentDirectory;
class UPnPDeviceDesc;
-}
-namespace UPnPClient {
class UPnPDirContent;
-}
-namespace UPnPClient {
class UPnPServiceDesc;
-}
-
-namespace UPnPClient {
typedef std::shared_ptr<ContentDirectory> CDSH;
@@ -64,12 +57,11 @@
public:
/** Construct by copying data from device and service objects. */
- ContentDirectory(const UPnPDeviceDesc& device,
- const UPnPServiceDesc& service);
- virtual ~ContentDirectory();
+ ContentDirectory(const UPnPDeviceDesc& dev, const UPnPServiceDesc& srv);
+ virtual ~ContentDirectory() {}
/** An empty one */
- ContentDirectory() : m_rdreqcnt(200), m_serviceKind(CDSKIND_UNKNOWN) {}
+ ContentDirectory() {}
enum ServiceKind {CDSKIND_UNKNOWN, CDSKIND_BUBBLE, CDSKIND_MEDIATOMB,
CDSKIND_MINIDLNA, CDSKIND_MINIM, CDSKIND_TWONKY
@@ -81,6 +73,7 @@
/** Test service type from discovery message */
static bool isCDService(const std::string& st);
+ virtual bool serviceTypeMatch(const std::string& tp);
/** Retrieve the directory services currently seen on the network */
static bool getServices(std::vector<CDSH>&);
@@ -156,12 +149,14 @@
int getSearchCapabilities(std::set<std::string>& result);
protected:
+ virtual bool serviceInit(const UPnPDeviceDesc& device,
+ const UPnPServiceDesc& service);
/* My service type string */
static const std::string SType;
private:
- int m_rdreqcnt; // Slice size to use when reading
- ServiceKind m_serviceKind;
+ int m_rdreqcnt{200}; // Slice size to use when reading
+ ServiceKind m_serviceKind{CDSKIND_UNKNOWN};
void evtCallback(const std::unordered_map<std::string, std::string>&);
void registerCallback();