Songbird / Development / Songbird Add-Ons API Documentation

components/devices/base/public/sbIDeviceCapabilities.idl

00001 /*
00002 //
00003 // BEGIN SONGBIRD GPL
00004 // 
00005 // This file is part of the Songbird web player.
00006 //
00007 // Copyright© 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 
00027 #include "nsISupports.idl"
00028 
00029 interface nsIArray;
00030 interface sbIDevice;
00031 
00037 [scriptable, uuid(54d42a87-9031-4928-991e-e66f4916a90b)]
00038 interface sbIDeviceCapabilities : nsISupports
00039 {
00040 
00046   void setFunctionTypes([array, size_is(aFunctionTypesCount)]
00047                          in PRUint32 aFunctionTypes,
00048                         in unsigned long aFunctionTypesCount);
00049 
00055   void setEventTypes([array, size_is(aEventTypesCount)]
00056                       in unsigned long aEventTypes,
00057                      in unsigned long aEventTypesCount);
00058 
00065   void addContentTypes(in PRUint32 aFunctionType,
00066                 [array, size_is(aContentTypesCount)] in unsigned long aContentTypes,
00067                 in unsigned long aContentTypesCount);
00068   
00075   void addFormats(in PRUint32 aContentType,
00076                   [array, size_is(aFormatsCount)] in string aFormats,
00077                   in unsigned long aFormatsCount);
00078 
00083   void initDone();
00084 
00085 
00086   
00090   const PRUint32 FUNCTION_UNKNOWN        = 0x00;
00091   const PRUint32 FUNCTION_DEVICE         = 0x01;
00092   const PRUint32 FUNCTION_AUDIO_PLAYBACK = 0x02;
00093   const PRUint32 FUNCTION_AUDIO_CAPTURE  = 0x03;
00094   const PRUint32 FUNCTION_IMAGE_DISPLAY  = 0x04;
00095   const PRUint32 FUNCTION_IMAGE_CAPTURE  = 0x05;
00096   const PRUint32 FUNCTION_VIDEO_PLAYBACK = 0x06;
00097   const PRUint32 FUNCTION_VIDEO_CAPTURE  = 0x07;
00098 
00102   const PRUint32 FUNCTION_CLIENT_DEFINED = 0x80000000;
00103 
00107   // 
00108   void getSupportedFunctionTypes(out unsigned long aArrayCount,
00109                                  [retval, array, size_is(aArrayCount)]
00110                                   out PRUint32 aFunctionTypes);
00111 
00115   const PRUint32 CONTENT_UNKNOWN  = 0x00;
00116   const PRUint32 CONTENT_FILE     = 0x01;
00117   const PRUint32 CONTENT_FOLDER   = 0x02;
00118   const PRUint32 CONTENT_AUDIO    = 0x03;
00119   const PRUint32 CONTENT_IMAGE    = 0x04;
00120   const PRUint32 CONTENT_VIDEO    = 0x05;
00121   const PRUint32 CONTENT_PLAYLIST = 0x06;
00122   const PRUint32 CONTENT_ALBUM    = 0x07;
00123 
00127   const PRUint32 CONTENT_CLIENT_DEFINED = 0x80000000;
00128 
00132   void getSupportedContentTypes(in PRUint32 aFunctionType,
00133                                 out unsigned long aArrayCount,
00134                                 [retval, array, size_is(aArrayCount)]
00135                                 out PRUint32 aContentTypes);
00136 
00140   void getSupportedFormats(in PRUint32 aContentType,
00141                            out unsigned long aArrayCount,
00142                            [retval, array, size_is(aArrayCount)]
00143                            out string aSupportedFormats);
00144 
00148   void getSupportedEvents(out unsigned long aArrayCount,
00149                           [retval, array, size_is(aArrayCount)]
00150                            out unsigned long aSupportedEvents);
00151 };

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