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 nsIArray; 00035 00040 [scriptable, uuid(05bf2a32-81f6-4828-aa7c-b08a2a3ccf85)] 00041 interface sbILibraryStatistics : nsISupports 00042 { 00043 00044 const PRUint32 COLLECT_SUM = 0; 00045 00046 /* \brief collect distinct values of a property, sorted by the values of 00047 * another property. 00048 * \param aProperty the property whose values will be connected. 00049 * \param aCollectionMethod the method used to collect the other property's 00050 * values. 00051 * \param aOtherProperty the property whose values are used for sorting 00052 * \param aAscending should the results be returned in ascending order? 00053 * \param aMaxResults how many results should be collected. 00054 * \return an array of strings 00055 */ 00056 00057 nsIArray collectDistinctValues(in AString aProperty, 00058 in PRUint32 aCollectionMethod, in AString aOtherProperty, 00059 in boolean aAscending, in PRUint32 aMaxResults); 00060 }; 00061 00062