Songbird / Development / Songbird Add-Ons API Documentation

components/mediaimport/library/base/public/sbILibraryImporter.idl

00001 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /* vim: set sw=2 :miv */
00003 /*
00004 //
00005 // BEGIN SONGBIRD GPL
00006 //
00007 // This file is part of the Songbird web player.
00008 //
00009 // Copyright(c) 2005-2008 POTI, Inc.
00010 // http://songbirdnest.com
00011 //
00012 // This file may be licensed under the terms of of the
00013 // GNU General Public License Version 2 (the "GPL").
00014 //
00015 // Software distributed under the License is distributed
00016 // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
00017 // express or implied. See the GPL for the specific language
00018 // governing rights and limitations.
00019 //
00020 // You should have received a copy of the GPL along with this
00021 // program. If not, go to http://www.gnu.org/licenses/gpl.html
00022 // or write to the Free Software Foundation, Inc.,
00023 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00024 //
00025 // END SONGBIRD GPL
00026 //
00027 */
00028 
00029 /* *****************************************************************************
00030  *******************************************************************************
00031  *
00032  * Interface description for the library importer interface.
00033  *
00034  *******************************************************************************
00035  ******************************************************************************/
00036 
00037 #include "nsISupports.idl"
00038 
00039 
00047 [scriptable, uuid(D2CC37F4-A5DB-4226-966F-C51A9AE5686F)]
00048 interface sbILibraryImporterListener : nsISupports
00049 {
00059     void onLibraryChanged(
00060         in AString                  aLibFilePath,
00061         in AString                  aGUID);
00062 
00063 
00069     void onImportError();
00070 
00071 
00081     void onNonExistentMedia(
00082         in unsigned long            aNonExistentMediaCount,
00083         in unsigned long            aTrackCount);
00084 
00085 
00091     void onUnsupportedMedia();
00092 
00093 
00108     AString onDirtyPlaylist(
00109         in AString                  aPlaylistName,
00110         out boolean                 aApplyAll);
00111 };
00112 
00113 
00121 interface sbIJobProgress;
00122 
00123 [scriptable, uuid(04E3F8E9-70F4-4129-9A74-CEC88A8AEE93)]
00124 interface sbILibraryImporter : nsISupports
00125 {
00126     /*
00127      * Attributes.
00128      *
00129      * libraryType              Library type.
00130      * libraryReadableType      Readable library type.
00131      * libraryDefaultFileName   Default library file name.
00132      * libraryDefaultFilePath   Default library file path.
00133      * libraryFileExtensionList Comma separated list of library file extensions.
00134      * libraryPreviouslyImported
00135      *                          True if a library has previously been imported.
00136      * libraryPreviousImportPath
00137      *                          File path of previously imported library.
00138      */
00139 
00140     readonly attribute AString  libraryType;
00141     readonly attribute AString  libraryReadableType;
00142     readonly attribute AString  libraryDefaultFileName;
00143     readonly attribute AString  libraryDefaultFilePath;
00144     readonly attribute AString  libraryFileExtensionList;
00145     readonly attribute boolean  libraryPreviouslyImported;
00146     readonly attribute AString  libraryPreviousImportPath;
00147 
00148 
00153     void initialize();
00154 
00155 
00160     void finalize();
00161 
00162 
00174     sbIJobProgress import(
00175         in AString                  aLibFilePath,
00176         in AString                  aGUID,
00177         in boolean                  aCheckForChanges);
00178 
00179 
00186     void setListener(
00187         in sbILibraryImporterListener   aListener);
00188 };
00189 
00190 
00203 [scriptable, uuid(81c027cd-1c4d-42d7-8b70-134cba5175a1)]
00204 interface sbILibraryImporterManager : nsISupports
00205 {
00210   attribute sbILibraryImporter defaultLibraryImporter;
00211 };
00212 
00213 

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