25 #ifndef __SBPROPERTYMANAGER_H__
26 #define __SBPROPERTYMANAGER_H__
28 #include <sbIPropertyManager.h>
29 #include <nsIObserver.h>
32 #include <nsStringGlue.h>
35 #include <nsInterfaceHashtable.h>
37 struct nsModuleComponentInfo;
38 class nsIComponentManager;
47 NS_DECL_SBIPROPERTYMANAGER
56 nsresult RegisterFilterListPickerProperties();
58 nsresult RegisterDateTime(
const nsAString& aPropertyID,
59 const nsAString& aDisplayKey,
61 nsIStringBundle* aStringBundle,
64 PRBool aRemoteReadable,
65 PRBool aRemoteWritable);
67 nsresult RegisterDuration(
const nsAString& aPropertyID,
68 const nsAString& aDisplayKey,
69 nsIStringBundle* aStringBundle,
72 PRBool aRemoteReadable,
73 PRBool aRemoteWritable);
75 nsresult RegisterNumber(
const nsAString& aPropertyID,
76 const nsAString& aDisplayKey,
77 nsIStringBundle* aStringBundle,
84 PRBool aRemoteReadable,
85 PRBool aRemoteWritable,
89 nsresult RegisterProgress(
const nsAString& aValuePropertyID,
90 const nsAString& aValueDisplayKey,
91 const nsAString& aModePropertyID,
92 const nsAString& aModeDisplayKey,
93 nsIStringBundle* aStringBundle,
96 PRBool aRemoteReadable,
97 PRBool aRemoteWritable);
104 nsresult RegisterBlob(
const nsAString& aPropertyID,
105 const nsAString& aDisplayKey,
106 nsIStringBundle* aStringBundle,
107 PRBool aUserViewable,
108 PRBool aUserEditable,
109 PRBool aUsedInIdentity,
112 PRBool aRemoteReadable,
113 PRBool aRemoteWritable);
115 nsresult RegisterText(
const nsAString& aPropertyID,
116 const nsAString& aDisplayKey,
117 nsIStringBundle* aStringBundle,
118 PRBool aUserViewable,
119 PRBool aUserEditable,
120 PRBool aUsedInIdentity,
123 PRBool aRemoteReadable,
124 PRBool aRemoteWritable,
125 PRBool aCompressWhitespace = PR_TRUE,
128 nsresult RegisterURI(
const nsAString& aPropertyID,
129 const nsAString& aDisplayKey,
130 nsIStringBundle* aStringBundle,
131 PRBool aUserViewable,
132 PRBool aUserEditable,
133 PRBool aRemoteReadable,
134 PRBool aRemoteWritable);
136 nsresult RegisterImage(
const nsAString& aPropertyID,
137 const nsAString& aDisplayKey,
138 nsIStringBundle* aStringBundle,
139 PRBool aUserViewable,
140 PRBool aUserEditable,
141 PRBool aRemoteReadable,
142 PRBool aRemoteWritable);
144 nsresult RegisterBoolean(
const nsAString &aPropertyID,
145 const nsAString &aDisplayKey,
146 nsIStringBundle* aStringBundle,
147 PRBool aUserViewable,
148 PRBool aUserEditable,
149 PRBool aRemoteReadable,
150 PRBool aRemoteWritable,
151 PRBool aShouldSuppress = PR_TRUE);
153 nsresult RegisterImageLink(
const nsAString &aPropertyID,
154 const nsAString &aDisplayKey,
155 nsIStringBundle* aStringBundle,
156 PRBool aUserViewable,
157 PRBool aUserEditable,
158 PRBool aRemoteReadable,
159 PRBool aRemoteWritable,
160 const nsAString &aUrlPropertyID);
162 nsresult RegisterTrackTypeImageLabel(
const nsAString& aPropertyID,
163 const nsAString& aDisplayKey,
164 nsIStringBundle* aStringBundle,
165 PRBool aUserViewable,
166 PRBool aUserEditable,
167 PRBool aRemoteReadable,
168 PRBool aRemoteWritable,
169 const nsAString &aUrlPropertyID);
172 const nsAString &aPropertyID,
173 const nsAString &aDisplayKey,
174 nsIStringBundle* aStringBundle);
177 PRBool aRemoteReadable,
178 PRBool aRemoteWritable);
nsTArray< nsString > mPropIDs
nsInterfaceHashtableMT< nsStringHashKey, sbIPropertyArray > mPropDependencyMap
An interface used to describe a metadata property for use by the UI and other sbILibrary interfaces (...
virtual ~sbPropertyManager()
NS_DECL_ISUPPORTS NS_DECL_SBIPROPERTYMANAGER sbPropertyManager()
Property unit converter interface This is an interface songbird property converter, used to convert a property value between its various units representations.
NS_METHOD CreateSystemProperties()
nsInterfaceHashtableMT< nsStringHashKey, sbIPropertyInfo > mPropInfoHashtable
An interface to carry around arrays of nsIProperty instances. Users of this interface should only QI ...
Manager for system wide metadata properties.