sbLocalDatabaseLibrary.cpp File Reference
#include "sbLocalDatabaseLibrary.h"
#include <nsArrayUtils.h>
#include <nsIArray.h>
#include <nsIClassInfo.h>
#include <nsIClassInfoImpl.h>
#include <nsIFile.h>
#include <nsIFileURL.h>
#include <nsIMutableArray.h>
#include <nsIObserverService.h>
#include <nsIPrefBranch.h>
#include <nsIPrefService.h>
#include <nsIProgrammingLanguage.h>
#include <nsIPropertyBag2.h>
#include <nsIProxyObjectManager.h>
#include <nsISimpleEnumerator.h>
#include <nsIStringEnumerator.h>
#include <nsISupportsPrimitives.h>
#include <nsIThread.h>
#include <nsIURI.h>
#include <nsIUUIDGenerator.h>
#include <nsIWritablePropertyBag2.h>
#include <sbIDatabaseQuery.h>
#include <sbIDatabaseResult.h>
#include <sbIDevice.h>
#include <sbIDeviceManager.h>
#include <sbILibraryFactory.h>
#include <sbILibraryManager.h>
#include <sbILibraryResource.h>
#include <sbILocalDatabaseLibraryCopyListener.h>
#include <sbILocalDatabaseGUIDArray.h>
#include <sbILocalDatabaseMigrationHelper.h>
#include <sbILocalDatabasePropertyCache.h>
#include <sbILocalDatabaseSimpleMediaList.h>
#include <sbIMediacoreTypeSniffer.h>
#include <sbIMediaItem.h>
#include <sbIMediaList.h>
#include <sbIMediaListView.h>
#include <sbISQLBuilder.h>
#include <nsITimer.h>
#include <DatabaseQuery.h>
#include <sbIDatabaseEngine.h>
#include <nsAutoLock.h>
#include <nsAutoPtr.h>
#include <nsCOMPtr.h>
#include <nsComponentManagerUtils.h>
#include <nsTHashtable.h>
#include <nsHashKeys.h>
#include <nsID.h>
#include <nsIInputStreamPump.h>
#include <nsMemory.h>
#include <nsNetUtil.h>
#include <nsServiceManagerUtils.h>
#include <nsThreadUtils.h>
#include <nsXPCOM.h>
#include <nsWeakReference.h>
#include <prinrval.h>
#include <prlog.h>
#include <prprf.h>
#include <prtime.h>
#include "sbLocalDatabaseCID.h"
#include "sbLocalDatabaseMediaItem.h"
#include "sbLocalDatabaseMediaListView.h"
#include "sbLocalDatabasePropertyCache.h"
#include "sbLocalDatabaseSimpleMediaListFactory.h"
#include "sbLocalDatabaseSchemaInfo.h"
#include "sbLocalDatabaseSmartMediaListFactory.h"
#include "sbLocalDatabaseGUIDArray.h"
#include "sbMediaListEnumSingleItemHelper.h"
#include <sbStandardProperties.h>
#include <sbSQLBuilderCID.h>
#include <sbTArrayStringEnumerator.h>
#include <sbVariantUtils.h>
#include <nsIVariant.h>
#include <nsUnicharUtils.h>
#include <sbProxiedComponentManager.h>

Go to the source code of this file.

Classes

class  sbLocalDatabaseLibraryAsyncRunner
 

Macros

#define NS_UUID_GENERATOR_CONTRACTID   "@mozilla.org/uuid-generator;1"
 
#define SB_MEDIAITEM_TYPEID   0
 
#define DEFAULT_ANALYZE_COUNT_LIMIT   1000
 
#define ANALYZE_COUNT_PREF   "songbird.library.localdatabase.analyzeCountLimit"
 
#define INVALID_COLLATION_INDEX_PREF_PREFIX   "songbird.databaseengine."
 
#define INVALID_COLLATION_INDEX_PREF_SUFFIX   ".invalidCollationIndex"
 
#define DEFAULT_MEDIAITEM_CACHE_SIZE   2500
 
#define DEFAULT_MEDIALIST_CACHE_SIZE   25
 
#define SB_MEDIALIST_FACTORY_DEFAULT_TYPE   1
 
#define SB_MEDIALIST_FACTORY_URI_PREFIX   "medialist('"
 
#define SB_MEDIALIST_FACTORY_URI_SUFFIX   "')"
 
#define SHUTDOWN_ASYNC_GRANULARITY_MS   1000
 
#define BATCHCREATE_NOTIFICATION_INTERVAL_MS   100
 
#define SB_ILIBRESOURCE_CAST(_ptr)   static_cast<sbILibraryResource*>(static_cast<sbIMediaItem*>(static_cast<sbLocalDatabaseMediaItem*>(_ptr)))
 
#define SB_IMEDIALIST_CAST(_ptr)   static_cast<sbIMediaList*>(static_cast<sbLocalDatabaseMediaListBase*>(_ptr))
 
#define SB_IMEDIAITEM_CAST(_ptr)   static_cast<sbIMediaItem*>(static_cast<sbLocalDatabaseMediaItem*>(_ptr))
 
#define DEFAULT_SORT_PROPERTY   SB_PROPERTY_CREATED
 
#define DEFAULT_FETCH_SIZE   1000
 
#define TRACE(args)   PR_LOG(gLibraryLog, PR_LOG_DEBUG, args)
 
#define LOG(args)   PR_LOG(gLibraryLog, PR_LOG_WARN, args)
 
#define LOG_SUBMESSAGE_SPACE   " - "
 

Functions

template<class V , typename T >
PLDHashOperator PR_CALLBACK CopyInterfaceHashtableEntry (typename V::KeyType aKey, T *aData, void *aUserData)
 
 NS_IMPL_THREADSAFE_ISUPPORTS1 (sbLocalDatabaseLibraryAsyncRunner, nsIRunnable)
 
 NS_IMPL_THREADSAFE_ISUPPORTS1 (sbLibraryInsertingEnumerationListener, sbIMediaListEnumerationListener) NS_IMETHODIMP sbLibraryInsertingEnumerationListener
 
 NS_IMPL_ISUPPORTS1 (sbLibraryRemovingEnumerationListener, sbIMediaListEnumerationListener) NS_IMETHODIMP sbLibraryRemovingEnumerationListener
 
 NS_IMPL_ISUPPORTS_INHERITED5 (sbLocalDatabaseLibrary, sbLocalDatabaseMediaListBase, nsIClassInfo, nsIObserver, sbILibrary, sbILocalDatabaseLibrary, sbILibraryStatistics) NS_IMPL_CI_INTERFACE_GETTER8(sbLocalDatabaseLibrary
 
static PRBool IsDeviceLibrary (sbILibrary *aLibrary)
 
 NS_IMPL_THREADSAFE_ISUPPORTS1 (sbBatchCreateTimerCallback, nsITimerCallback)
 

Variables

const PRUint32 REMOVE_ALL_TYPES = 0
 
const PRUint32 REMOVE_AUDIO_TYPE_ONLY = 1
 
const PRUint32 REMOVE_VIDEO_TYPE_ONLY = 2
 
 nsIClassInfo
 
 nsIObserver
 
 nsISupportsWeakReference
 
 sbILibrary
 
 sbILibraryResource
 
 sbIMediaItem
 
 sbIMediaList
 
 sbILibraryStatistics
 

Macro Definition Documentation

#define ANALYZE_COUNT_PREF   "songbird.library.localdatabase.analyzeCountLimit"

Definition at line 109 of file sbLocalDatabaseLibrary.cpp.

#define BATCHCREATE_NOTIFICATION_INTERVAL_MS   100

Definition at line 128 of file sbLocalDatabaseLibrary.cpp.

#define DEFAULT_ANALYZE_COUNT_LIMIT   1000

Definition at line 108 of file sbLocalDatabaseLibrary.cpp.

#define DEFAULT_FETCH_SIZE   1000

Definition at line 140 of file sbLocalDatabaseLibrary.cpp.

#define DEFAULT_MEDIAITEM_CACHE_SIZE   2500

Definition at line 113 of file sbLocalDatabaseLibrary.cpp.

#define DEFAULT_MEDIALIST_CACHE_SIZE   25

Definition at line 114 of file sbLocalDatabaseLibrary.cpp.

#define DEFAULT_SORT_PROPERTY   SB_PROPERTY_CREATED

Definition at line 138 of file sbLocalDatabaseLibrary.cpp.

#define INVALID_COLLATION_INDEX_PREF_PREFIX   "songbird.databaseengine."

Definition at line 110 of file sbLocalDatabaseLibrary.cpp.

#define INVALID_COLLATION_INDEX_PREF_SUFFIX   ".invalidCollationIndex"

Definition at line 111 of file sbLocalDatabaseLibrary.cpp.

#define LOG (   args)    PR_LOG(gLibraryLog, PR_LOG_WARN, args)

Definition at line 151 of file sbLocalDatabaseLibrary.cpp.

#define LOG_SUBMESSAGE_SPACE   " - "

Definition at line 154 of file sbLocalDatabaseLibrary.cpp.

#define NS_UUID_GENERATOR_CONTRACTID   "@mozilla.org/uuid-generator;1"

Definition at line 104 of file sbLocalDatabaseLibrary.cpp.

#define SB_ILIBRESOURCE_CAST (   _ptr)    static_cast<sbILibraryResource*>(static_cast<sbIMediaItem*>(static_cast<sbLocalDatabaseMediaItem*>(_ptr)))

Definition at line 131 of file sbLocalDatabaseLibrary.cpp.

#define SB_IMEDIAITEM_CAST (   _ptr)    static_cast<sbIMediaItem*>(static_cast<sbLocalDatabaseMediaItem*>(_ptr))

Definition at line 135 of file sbLocalDatabaseLibrary.cpp.

#define SB_IMEDIALIST_CAST (   _ptr)    static_cast<sbIMediaList*>(static_cast<sbLocalDatabaseMediaListBase*>(_ptr))

Definition at line 133 of file sbLocalDatabaseLibrary.cpp.

#define SB_MEDIAITEM_TYPEID   0

Definition at line 106 of file sbLocalDatabaseLibrary.cpp.

#define SB_MEDIALIST_FACTORY_DEFAULT_TYPE   1

Definition at line 116 of file sbLocalDatabaseLibrary.cpp.

#define SB_MEDIALIST_FACTORY_URI_PREFIX   "medialist('"

Definition at line 117 of file sbLocalDatabaseLibrary.cpp.

#define SB_MEDIALIST_FACTORY_URI_SUFFIX   "')"

Definition at line 118 of file sbLocalDatabaseLibrary.cpp.

#define SHUTDOWN_ASYNC_GRANULARITY_MS   1000

Definition at line 124 of file sbLocalDatabaseLibrary.cpp.

#define TRACE (   args)    PR_LOG(gLibraryLog, PR_LOG_DEBUG, args)

To log this module, set the following environment variable: NSPR_LOG_MODULES=sbLocalDatabaseLibrary:5

Definition at line 150 of file sbLocalDatabaseLibrary.cpp.

Function Documentation

template<class V , typename T >
PLDHashOperator PR_CALLBACK CopyInterfaceHashtableEntry ( typename V::KeyType  aKey,
T *  aData,
void *  aUserData 
)

Copies the contents of a nsInterfaceHashtableMT to another

Definition at line 166 of file sbLocalDatabaseLibrary.cpp.

static PRBool IsDeviceLibrary ( sbILibrary aLibrary)
static

Determins if the library is a device library

Definition at line 1191 of file sbLocalDatabaseLibrary.cpp.

NS_IMPL_THREADSAFE_ISUPPORTS1 ( sbLocalDatabaseLibraryAsyncRunner  ,
nsIRunnable   
)
NS_IMPL_THREADSAFE_ISUPPORTS1 ( sbLibraryInsertingEnumerationListener  ,
sbIMediaListEnumerationListener   
)

See sbIMediaListListener.idl

Definition at line 224 of file sbLocalDatabaseLibrary.cpp.

NS_IMPL_THREADSAFE_ISUPPORTS1 ( sbBatchCreateTimerCallback  ,
nsITimerCallback   
)

Variable Documentation

nsIClassInfo

Definition at line 531 of file sbLocalDatabaseLibrary.cpp.

nsIObserver

Definition at line 531 of file sbLocalDatabaseLibrary.cpp.

nsISupportsWeakReference

Definition at line 531 of file sbLocalDatabaseLibrary.cpp.

const PRUint32 REMOVE_ALL_TYPES = 0

Definition at line 157 of file sbLocalDatabaseLibrary.cpp.

const PRUint32 REMOVE_AUDIO_TYPE_ONLY = 1

Definition at line 158 of file sbLocalDatabaseLibrary.cpp.

const PRUint32 REMOVE_VIDEO_TYPE_ONLY = 2

Definition at line 159 of file sbLocalDatabaseLibrary.cpp.

Definition at line 531 of file sbLocalDatabaseLibrary.cpp.

Definition at line 531 of file sbLocalDatabaseLibrary.cpp.

Definition at line 531 of file sbLocalDatabaseLibrary.cpp.

Definition at line 531 of file sbLocalDatabaseLibrary.cpp.