Songbird / Development / Songbird Add-Ons API Documentation

components/library/base/public/sbILibraryConstraints.idl

Go to the documentation of this file.
00001 /*
00002 //
00003 // BEGIN SONGBIRD GPL
00004 //
00005 // This file is part of the Songbird web player.
00006 //
00007 // Copyright(c) 2005-2008 POTI, Inc.
00008 // http://songbirdnest.com
00009 //
00010 // This file may be licensed under the terms of of the
00011 // GNU General Public License Version 2 (the "GPL").
00012 //
00013 // Software distributed under the License is distributed
00014 // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
00015 // express or implied. See the GPL for the specific language
00016 // governing rights and limitations.
00017 //
00018 // You should have received a copy of the GPL along with this
00019 // program. If not, go to http://www.gnu.org/licenses/gpl.html
00020 // or write to the Free Software Foundation, Inc.,
00021 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00022 //
00023 // END SONGBIRD GPL
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 

Generated on Tue Mar 10 14:28:54 2009 for Songbird by  doxygen 1.5.2