00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00032 #include "nsISupports.idl"
00033
00034 interface nsISimpleEnumerator;
00035 interface nsIStringEnumerator;
00036 interface sbILibraryConstraint;
00037 interface sbILibraryConstraintGroup;
00038
00052 [scriptable, uuid(2890d9a4-68b5-4b7a-8f88-3cd05d05416c)]
00053 interface sbILibraryConstraintBuilder : nsISupports
00054 {
00059 sbILibraryConstraintBuilder includeConstraint(in sbILibraryConstraint aConstraint);
00060
00066 sbILibraryConstraintBuilder include(in AString aProperty,
00067 in AString aValue);
00068
00076 sbILibraryConstraintBuilder includeList(in AString aProperty,
00077 in nsIStringEnumerator aValues);
00078
00083 sbILibraryConstraintBuilder intersect();
00084
00088 sbILibraryConstraint get();
00089 };
00090
00091 [scriptable, uuid(c271cafb-fc06-4e56-bd01-368458117618)]
00092 interface sbILibraryConstraint : nsISupports
00093 {
00094 readonly attribute unsigned long groupCount;
00095 readonly attribute nsISimpleEnumerator groups;
00096 sbILibraryConstraintGroup getGroup(in unsigned long aIndex);
00097
00098 boolean equals(in sbILibraryConstraint aOtherConstraint);
00099 AString toString();
00100 };
00101
00102 [scriptable, uuid(37793a91-e229-4642-9c16-290b84e24b87)]
00103 interface sbILibraryConstraintGroup : nsISupports
00104 {
00105 readonly attribute nsIStringEnumerator properties;
00106 nsIStringEnumerator getValues(in AString aProperty);
00107 boolean hasProperty(in AString aProperty);
00108 boolean equals(in sbILibraryConstraintGroup aOtherGroup);
00109 AString toString();
00110 };
00111
00116 [scriptable, uuid(d9655856-f518-43f1-b096-25f52b0b629e)]
00117 interface sbILibrarySort : nsISupports
00118 {
00119 void init(in AString aProperty, in boolean aIsAscending);
00120
00121 readonly attribute AString property;
00122 readonly attribute boolean isAscending;
00123 AString toString();
00124 };
00125