--- a/libupnpp/control/cdirectory.hxx
+++ b/libupnpp/control/cdirectory.hxx
@@ -52,23 +52,18 @@
*/
class ContentDirectory : public Service {
public:
- /** Construct by copying data from device and service objects.
- *
- */
+
+ /** Construct by copying data from device and service objects. */
ContentDirectory(const UPnPDeviceDesc& device,
- const UPnPServiceDesc& service)
- : Service(device, service), m_rdreqcnt(200)
- {
- if (!m_modelName.compare("MediaTomb")) {
- // Readdir by 200 entries is good for most, but MediaTomb likes
- // them really big. Actually 1000 is better but I don't dare
- m_rdreqcnt = 500;
- }
- registerCallback();
- }
+ const UPnPServiceDesc& service);
/** An empty one */
- ContentDirectory() {}
+ ContentDirectory() : m_rdreqcnt(200), m_serviceKind(CDSKIND_UNKNOWN) {}
+
+ enum ServiceKind {CDSKIND_UNKNOWN, CDSKIND_BUBBLE, CDSKIND_MEDIATOMB,
+ CDSKIND_MINIDLNA, CDSKIND_MINIM, CDSKIND_TWONKY};
+
+ ServiceKind getKind() {return m_serviceKind;}
/** Test service type from discovery message */
static bool isCDService(const std::string& st);
@@ -147,6 +142,8 @@
private:
int m_rdreqcnt; // Slice size to use when reading
+ ServiceKind m_serviceKind;
+
void evtCallback(const std::unordered_map<std::string, std::string>&);
void registerCallback();
};