sbRemoteWebMediaList.cpp
Go to the documentation of this file.
1 /*
2 //
3 // BEGIN SONGBIRD GPL
4 //
5 // This file is part of the Songbird web player.
6 //
7 // Copyright(c) 2005-2008 POTI, Inc.
8 // http://songbirdnest.com
9 //
10 // This file may be licensed under the terms of of the
11 // GNU General Public License Version 2 (the "GPL").
12 //
13 // Software distributed under the License is distributed
14 // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
15 // express or implied. See the GPL for the specific language
16 // governing rights and limitations.
17 //
18 // You should have received a copy of the GPL along with this
19 // program. If not, go to http://www.gnu.org/licenses/gpl.html
20 // or write to the Free Software Foundation, Inc.,
21 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 //
23 // END SONGBIRD GPL
24 //
25  */
26 
27 #include "sbRemoteWebMediaList.h"
28 #include "sbRemotePlayer.h"
30 
31 #include <prlog.h>
32 #include <sbClassInfoUtils.h>
33 
34 /*
35  * To log this module, set the following environment variable:
36  * NSPR_LOG_MODULES=sbRemoteMediaList:5
37  * LOG_LIST defined in sbRemoteMediaListBase.h/.cpp
38  */
39 #undef LOG
40 #define LOG(args) LOG_LIST(args)
41 
42 const static char* sPublicWProperties[] = { "" };
43 
44 const static char* sPublicRProperties[] =
45 { // sbILibraryResource
46  "site:guid",
47  "site:created",
48  "site:updated",
49 
50  // sbIMediaItem
51  "site:isMutable",
52  "site:mediaCreated",
53  "site:mediaUpdated",
54  "site:contentLength",
55  "site:contentType",
56 
57  // sbIMediaList
58  "site:name",
59  "site:type",
60  "site:length",
61  "site:isEmpty",
62 
63  // sbIRemoteMediaList
64  "site:selection",
65 
66  // nsIClassInfo
67  "classinfo:classDescription",
68  "classinfo:contractID",
69  "classinfo:classID",
70  "classinfo:implementationLanguage",
71  "classinfo:flags"
72 };
73 
74 const static char* sPublicMethods[] =
75 { // sbIMediaList
76  "site:getItemByGuid",
77  "site:getItemByIndex",
78  "site:enumerateAllItems",
79  "site:enumerateItemsByProperty",
80  "site:indexOf",
81  "site:lastIndexOf",
82  "site:contains",
83  "site:getDistinctValuesForProperty",
84 
85  // sbILibraryResource
86  "site:getProperty",
87  "site:equals",
88 
89  // sbIRemoteMediaList
90  "internal:getView"
91 };
92 
95  nsIClassInfo )
96 
97 NS_IMPL_CI_INTERFACE_GETTER7( sbRemoteWebMediaList,
101  sbIMediaList,
102  sbIMediaItem,
105 
106 SB_IMPL_CLASSINFO_INTERFACES_ONLY(sbRemoteWebMediaList)
107 
108 SB_IMPL_SECURITYCHECKEDCOMP_INIT_LIBRES(sbRemoteWebMediaList,
110  (mRemotePlayer, mMediaList) )
111 
112 sbRemoteWebMediaList::sbRemoteWebMediaList( sbRemotePlayer* aRemotePlayer,
113  sbIMediaList* aMediaList,
114  sbIMediaListView* aMediaListView ) :
115  sbRemoteMediaList( aRemotePlayer, aMediaList, aMediaListView )
116 {
117  LOG_LIST(("sbRemoteWebMediaList::sbRemoteWebMediaList()"));
118 }
119 
121 {
122  LOG_LIST(("sbRemoteWebMediaList::~sbRemoteWebMediaList()"));
123 }
124 
static const char * sPublicRProperties[]
static const char * sPublicMethods[]
A brief description of the contents of this interface.
nsISecurityCheckedComponent
A distinct view on a given media list.
#define LOG_LIST(args)
static const char * sPublicWProperties[]
A marker interface for objects that aggregate the security mixin.
General interface to data resources.
NS_IMPL_ISUPPORTS_INHERITED1(sbRemoteWebMediaList, sbRemoteMediaList, nsIClassInfo) NS_IMPL_CI_INTERFACE_GETTER7(sbRemoteWebMediaList
#define SB_IMPL_SECURITYCHECKEDCOMP_INIT_LIBRES(_class, _libres, _libresArgs)
Definition: sbRemoteAPI.h:94
Interface that defines a single item of media in the system.
#define SB_IMPL_CLASSINFO_INTERFACES_ONLY(_class)
An interface to control a media list from remote web pages.