32 #ifndef __SB_MEDIALISTVIEWMAP_H__
33 #define __SB_MEDIALISTVIEWMAP_H__
35 #include <nsIObserver.h>
36 #include <sbILibrary.h>
37 #include <sbIMediaListViewMap.h>
38 #include <sbIMediaListView.h>
41 #include <nsHashKeys.h>
42 #include <nsClassHashtable.h>
43 #include <nsInterfaceHashtable.h>
44 #include <nsTHashtable.h>
49 #define SONGBIRD_MEDIALISTVIEWMAP_DESCRIPTION \
50 "Songbird MediaListViewMap"
51 #define SONGBIRD_MEDIALISTVIEWMAP_CONTRACTID \
52 "@songbirdnest.com/Songbird/library/MediaListViewMap;1"
53 #define SONGBIRD_MEDIALISTVIEWMAP_CLASSNAME \
54 "Songbird MediaListViewMap"
55 #define SONGBIRD_MEDIALISTVIEWMAP_CID \
56 { 0x16ea057c, 0xd4c2, 0x4921, { 0x99, 0x84, 0x13, 0xac, 0x42, 0x1a, 0x5f, 0x8d } }
59 class nsIComponentManager;
61 class nsIRDFDataSource;
65 struct nsModuleComponentInfo;
75 NS_DECL_SBIMEDIALISTVIEWMAP
79 static NS_METHOD
RegisterSelf(nsIComponentManager* aCompMgr,
81 const char* aLoaderStr,
83 const nsModuleComponentInfo *aInfo);
88 ~sbMediaListViewMap();
91 struct sbViewStateInfo {
92 sbViewStateInfo(
const nsAString& aLibraryGuid,
93 const nsAString& aListGuid,
95 : libraryGuid(aLibraryGuid),
99 MOZ_COUNT_CTOR(sbViewStateInfo);
104 MOZ_COUNT_DTOR(sbViewStateInfo);
107 nsString libraryGuid;
109 nsCOMPtr<sbIMediaListViewState> state;
112 typedef nsClassHashtableMT< nsISupportsHashKey, sbViewStateInfo > sbViewMapInner;
113 typedef nsClassHashtableMT< nsISupportsHashKey, sbViewMapInner > sbViewMap;
Factory for new library instances.
[USER CODE SHOULD NOT REFERENCE THIS CLASS]