00001 /*MT* 00002 00003 MediaTomb - http://www.mediatomb.cc/ 00004 00005 upnp_cds.h - this file is part of MediaTomb. 00006 00007 Copyright (C) 2005 Gena Batyan <bgeradz@mediatomb.cc>, 00008 Sergey 'Jin' Bostandzhyan <jin@mediatomb.cc> 00009 00010 Copyright (C) 2006-2010 Gena Batyan <bgeradz@mediatomb.cc>, 00011 Sergey 'Jin' Bostandzhyan <jin@mediatomb.cc>, 00012 Leonhard Wimmer <leo@mediatomb.cc> 00013 00014 MediaTomb is free software; you can redistribute it and/or modify 00015 it under the terms of the GNU General Public License version 2 00016 as published by the Free Software Foundation. 00017 00018 MediaTomb is distributed in the hope that it will be useful, 00019 but WITHOUT ANY WARRANTY; without even the implied warranty of 00020 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00021 GNU General Public License for more details. 00022 00023 You should have received a copy of the GNU General Public License 00024 version 2 along with MediaTomb; if not, write to the Free Software 00025 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. 00026 00027 $Id: upnp_cds.h 2081 2010-03-23 20:18:00Z lww $ 00028 */ 00029 00032 #ifndef __UPNP_CDS_H__ 00033 #define __UPNP_CDS_H__ 00034 00035 #include "common.h" 00036 #include "singleton.h" 00037 #include "action_request.h" 00038 #include "subscription_request.h" 00039 00043 class ContentDirectoryService : public Singleton<ContentDirectoryService> 00044 { 00045 protected: 00053 int systemUpdateID; 00054 00056 int stringLimit; 00057 00064 void upnp_action_Browse(zmm::Ref<ActionRequest> request); 00065 00070 void upnp_action_GetSearchCapabilities(zmm::Ref<ActionRequest> request); 00071 00076 void upnp_action_GetSortCapabilities(zmm::Ref<ActionRequest> request); 00077 00082 void upnp_action_GetSystemUpdateID(zmm::Ref<ActionRequest> request); 00083 00086 static zmm::String serviceType; 00088 static zmm::String serviceID; 00089 00090 public: 00094 ContentDirectoryService(); 00095 virtual ~ContentDirectoryService(); 00096 00097 static void setStaticArgs(zmm::String serviceType, zmm::String serviceID); 00098 00104 void process_action_request(zmm::Ref<ActionRequest> request); 00105 00111 void process_subscription_request(zmm::Ref<SubscriptionRequest> request); 00112 00119 void subscription_update(zmm::String containerUpdateIDs_CSV); 00120 }; 00121 00122 #endif // __UPNP_CDS_H__
1.6.1