sbRemoteLibraryBase Class Referenceabstract

#include <sbRemoteLibraryBase.h>

Inheritance diagram for sbRemoteLibraryBase:
[legend]
Collaboration diagram for sbRemoteLibraryBase:
[legend]

Public Member Functions

NS_DECL_ISUPPORTS
NS_DECL_SBISCRIPTABLEFILTERRESULT
NS_DECL_SBISECURITYAGGREGATOR
NS_DECL_SBIREMOTELIBRARY
NS_DECL_SBIMEDIALISTENUMERATIONLISTENER
NS_IMETHOD 
GetGuid (nsAString &aGuid)
 
NS_IMETHOD GetCreated (PRInt64 *aCreated)
 
NS_IMETHOD GetUpdated (PRInt64 *aUpdated)
 
NS_IMETHOD GetUserEditable (PRBool *aUserEditable)
 
NS_IMETHOD GetPropertyIDs (nsIStringEnumerator **aPropertyIDs)
 
NS_IMETHOD GetProperties (sbIPropertyArray *aPropertyIDs, sbIPropertyArray **_retval)
 
NS_IMETHOD Equals (sbILibraryResource *aOtherLibraryResource, PRBool *_retval)
 
NS_IMETHOD GetProperty (const nsAString &aName, nsAString &_retval)
 
NS_IMETHOD SetProperties (sbIPropertyArray *aProperties)
 
 sbRemoteLibraryBase (sbRemotePlayer *aRemotePlayer)
 
NS_IMETHOD SetProperty (const nsAString &aID, const nsAString &aValue)
 
NS_IMETHOD GetClassName (char **aClassName)
 
NS_IMETHOD GetScriptableFlags (PRUint32 *aScriptableFlags)
 
NS_IMETHOD NewResolve (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsval id, PRUint32 flags, JSObject **objp, PRBool *_retval)
 
NS_IMETHOD GetProperty (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsval id, jsval *vp, PRBool *_retval)
 
virtual already_AddRefed
< sbIMediaItem
GetMediaItem ()
 
virtual already_AddRefed
< sbIMediaList
GetMediaList ()
 
- Public Member Functions inherited from sbIRemoteLibrary
sbIMediaItem createMediaItem (in AString aURL)
 Create a media item from a URL. More...
 
sbIRemoteMediaList createSimpleMediaList (in AString aName, [optional] in AString aSiteID)
 Create a simple media list. More...
 
void createMediaListFromURL (in AString aName, in AString aURL, [optional] in sbICreateMediaListCallback aCallback, [optional] in AString aSiteID)
 Create a media list from an exising playlist file. More...
 
void connectToDefaultLibrary (in AString aLibName)
 Connect the remote library to the main or web library. More...
 
sbIRemoteMediaList getMediaListBySiteID (in AString aSiteID)
 Get the media list with the given siteID. More...
 
- Public Member Functions inherited from sbIRemoteMediaList
sbIMediaListView getView ()
 
- Public Member Functions inherited from sbIMediaList
sbIMediaItem getItemByGuid (in AString aGuid)
 Get a media item in the list by guid. More...
 
sbIMediaItem getItemByIndex (in unsigned long aIndex)
 Get a media item in the list by index. More...
 
unsigned short getListContentType ()
 Get the content type of the media list. More...
 
void enumerateAllItems (in sbIMediaListEnumerationListener aEnumerationListener, [optional] in unsigned short aEnumerationType)
 Enumerate all items in the list. More...
 
void enumerateItemsByProperty (in AString aPropertyID, in AString aPropertyValue, in sbIMediaListEnumerationListener aEnumerationListener, [optional] in unsigned short aEnumerationType)
 Enumerate the media items in the list that match a given property ID and value. More...
 
void enumerateItemsByProperties (in sbIPropertyArray aProperties, in sbIMediaListEnumerationListener aEnumerationListener, [optional] in unsigned short aEnumerationType)
 Enumerate the media items that match a list of property IDs and values. More...
 
nsIArray getItemsByProperty (in AString aPropertyID, in AString aPropertyValue)
 
PRUint32 getItemCountByProperty (in AString aPropertyID, in AString aPropertyValue)
 
nsIArray getItemsByProperties (in sbIPropertyArray aProperties)
 
unsigned long indexOf (in sbIMediaItem aMediaItem, [optional] in unsigned long aStartFrom)
 Get the first index of a media item in the list. More...
 
unsigned long lastIndexOf (in sbIMediaItem aMediaItem, in unsigned long aStartFrom)
 Get the last index of a media item int he list. More...
 
boolean contains (in sbIMediaItem aMediaItem)
 Check if the list contains a media item. More...
 
void add (in sbIMediaItem aMediaItem)
 Add a media item to this list. More...
 
sbIMediaItem addItem (in sbIMediaItem aMediaItem)
 addItem a media item to this list More...
 
void addAll (in sbIMediaList aMediaList)
 Add the contents of a media list to this list. More...
 
void addSome (in nsISimpleEnumerator aMediaItems)
 Adds media items suppled by the provided enumerator NOTE: This method is now deprecated. More...
 
void addMediaItems (in nsISimpleEnumerator aMediaItems, in sbIAddMediaItemsListener aListener, in boolean aAsync)
 Adds media items suppled by the provided enumerator. More...
 
void remove (in sbIMediaItem aMediaItem)
 Remove the first occurrence of the given media item from the list. More...
 
void removeByIndex (in unsigned long aIndex)
 Remove a media item from the list by index. More...
 
void removeSome (in nsISimpleEnumerator aMediaItems)
 Removed media items suppled by the provided enumerator. More...
 
void clear ()
 Clear the list. More...
 
void addListener (in sbIMediaListListener aListener, [optional] in boolean aOwnsWeak, [optional] in unsigned long aFlags, [optional] in sbIPropertyArray aPropertyFilter)
 Add a listener to this media list. More...
 
void removeListener (in sbIMediaListListener aListener)
 Remove a listener from this media list. More...
 
sbIMediaListView createView ([optional] in sbIMediaListViewState aState)
 Create a new, raw view for this list. This is generally not the function that you want to use for making views as it will create a completely raw view, for example lacking any filterConstraint. Please consider using sbLibraryUtils.createStandardMediaListView and proceed carefully if you use this method instead. More...
 
void runInBatchMode (in sbIMediaListBatchCallback aCallback, [optional] in nsISupports aUserData)
 Runs the given callback with the given user data in batch mode. More...
 
nsIStringEnumerator getDistinctValuesForProperty (in AString aPropertyID)
 
- Public Member Functions inherited from sbIMediaItem
void testIsURIAvailable (in nsIObserver aObserver)
 Test if this media item is available for playback. More...
 
nsIChannel openInputStreamAsync (in nsIStreamListener aListener, in nsISupports aContext)
 Asynchronously get an input stream to the content of the media item. More...
 
nsIInputStream openInputStream ()
 Synchronously get an input stream to the content of the media item. More...
 
nsIOutputStream openOutputStream ()
 Get an output stream to the content of the media item. More...
 
AString toString ()
 Get a string representation of the media item, useful for debugging. More...
 
- Public Member Functions inherited from sbILibraryResource
AString getProperty (in AString aID)
 Get the value of a property of this resource. More...
 
void setProperty (in AString aID, in AString aValue)
 Set the value of a property on this resource. More...
 
sbIPropertyArray getProperties ([optional] in sbIPropertyArray aPropertyIDs)
 Get properties from this resource in a property array. More...
 
void setProperties (in sbIPropertyArray aProperties)
 Sets the properties and values in the supplied property array to this resource. This works as if you called setProperty on each property in the array. More...
 
boolean equals (in sbILibraryResource aOtherLibraryResource)
 Tests the equality of two library resources. More...
 
- Public Member Functions inherited from sbIMediaListEnumerationListener
unsigned short onEnumerationBegin (in sbIMediaList aMediaList)
 Called when enumeration is about to begin. More...
 
unsigned short onEnumeratedItem (in sbIMediaList aMediaList, in sbIMediaItem aMediaItem)
 Called once for each item in the enumeration. More...
 
void onEnumerationEnd (in sbIMediaList aMediaList, in nsresult aStatusCode)
 Called when enumeration has completed. More...
 
- Public Member Functions inherited from sbXPCScriptableStub
virtual ~sbXPCScriptableStub ()
 
NS_IMETHOD PreCreate (nsISupports *nativeObj, JSContext *cx, JSObject *globalObj, JSObject **parentObj)
 
NS_IMETHOD Create (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj)
 
NS_IMETHOD PostCreate (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj)
 
NS_IMETHOD AddProperty (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsval id, jsval *vp, PRBool *_retval)
 
NS_IMETHOD DelProperty (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsval id, jsval *vp, PRBool *_retval)
 
NS_IMETHOD GetProperty (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsval id, jsval *vp, PRBool *_retval)
 
NS_IMETHOD SetProperty (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsval id, jsval *vp, PRBool *_retval)
 
NS_IMETHOD Enumerate (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRBool *_retval)
 
NS_IMETHOD NewEnumerate (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 enum_op, jsval *statep, jsid *idp, PRBool *_retval)
 
NS_IMETHOD NewResolve (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsval id, PRUint32 flags, JSObject **objp, PRBool *_retval)
 
NS_IMETHOD Convert (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 type, jsval *vp, PRBool *_retval)
 
NS_IMETHOD Finalize (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj)
 
NS_IMETHOD CheckAccess (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsval id, PRUint32 mode, jsval *vp, PRBool *_retval)
 
NS_IMETHOD Call (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 argc, jsval *argv, jsval *vp, PRBool *_retval)
 
NS_IMETHOD Construct (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, PRUint32 argc, jsval *argv, jsval *vp, PRBool *_retval)
 
NS_IMETHOD HasInstance (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsval val, PRBool *bp, PRBool *_retval)
 
NS_IMETHOD Trace (nsIXPConnectWrappedNative *wrapper, JSTracer *trc, JSObject *obj)
 
NS_IMETHOD Equality (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsval val, PRBool *_retval)
 
NS_IMETHOD OuterObject (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, JSObject **_retval)
 
NS_IMETHOD InnerObject (nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, JSObject **_retval)
 
NS_IMETHOD PostCreatePrototype (JSContext *cx, JSObject *proto)
 

Static Public Member Functions

static nsresult GetLibraryGUID (const nsAString &aLibraryID, nsAString &aLibraryGUID)
 

Protected Member Functions

virtual ~sbRemoteLibraryBase ()
 
virtual nsresult InitInternalMediaList ()=0
 
already_AddRefed
< sbIRemoteMediaList
GetMediaListBySiteID (const nsAString &aSiteID)
 
already_AddRefed< sbIMediaItemFindMediaItemWithMatchingScope (const nsCOMArray< sbIMediaItem > &aMediaItems)
 

Protected Attributes

PRBool mShouldScan
 
nsCOMPtr< sbILibrarymLibrary
 
nsRefPtr< sbRemoteMediaListBasemRemMediaList
 
nsCOMArray< sbIMediaItemmEnumerationArray
 
nsresult mEnumerationResult
 
nsCOMPtr
< nsISecurityCheckedComponent
mSecurityMixin
 
nsRefPtr< sbRemotePlayermRemotePlayer
 
PRBool mIgnoreHiddenPlaylists
 
PRBool mAllowDuplicates
 

Additional Inherited Members

- Public Attributes inherited from sbIScriptableFilterResult
readonly attribute
nsIStringEnumerator 
artists
 
readonly attribute
nsIStringEnumerator 
albums
 
readonly attribute
nsIStringEnumerator 
genres
 
readonly attribute
nsIStringEnumerator 
years
 
readonly attribute nsISupports items
 
readonly attribute
sbILibraryConstraint 
constraint
 
- Public Attributes inherited from sbISecurityAggregator
readonly attribute sbIRemotePlayer remotePlayer
 
- Public Attributes inherited from sbIRemoteLibrary
attribute boolean scanMediaOnCreation
 Control whether or not media is scanned when created. More...
 
readonly attribute
nsISimpleEnumerator 
playlists
 
readonly attribute nsIVariant mostPlayedArtists
 
- Public Attributes inherited from sbIMediaList
const unsigned short ENUMERATIONTYPE_SNAPSHOT = 0
 This flag means that the list being enumerated is a copy that may become out of date. More...
 
const unsigned short ENUMERATIONTYPE_LOCKING = 1
 This flag means that the list is protected from changes by other threads during the enumeration. More...
 
const unsigned short CONTENTTYPE_NONE = 0
 These flags specify the contentType of the media list. More...
 
const unsigned short CONTENTTYPE_AUDIO = 1
 
const unsigned short CONTENTTYPE_VIDEO = 2
 
const unsigned short CONTENTTYPE_MIX = 3
 
attribute AString name
 The name of the media list. More...
 
readonly attribute AString type
 The type of media list (eg "simple") More...
 
readonly attribute unsigned long length
 Returns the length of the list. More...
 
readonly attribute boolean isEmpty
 Is the list empty? More...
 
readonly attribute boolean userEditableContent
 True if the user should be allowed to edit the content of this media list. More...
 
const unsigned long LISTENER_FLAGS_ITEMADDED = 1 << 0
 
const unsigned long LISTENER_FLAGS_BEFOREITEMREMOVED = 1 << 1
 
const unsigned long LISTENER_FLAGS_AFTERITEMREMOVED = 1 << 2
 
const unsigned long LISTENER_FLAGS_ITEMUPDATED = 1 << 3
 
const unsigned long LISTENER_FLAGS_BEFORELISTCLEARED = 1 << 4
 
const unsigned long LISTENER_FLAGS_LISTCLEARED = 1 << 5
 
const unsigned long LISTENER_FLAGS_BATCHBEGIN = 1 << 6
 
const unsigned long LISTENER_FLAGS_BATCHEND = 1 << 7
 
const unsigned long LISTENER_FLAGS_ITEMMOVED = 1 << 8
 
const unsigned long LISTENER_FLAGS_ALL = 0xffffffff
 
- Public Attributes inherited from sbIMediaItem
readonly attribute sbILibrary library
 The library that this media item is contained in. More...
 
readonly attribute boolean isMutable
 Can the media item be changed? More...
 
readonly attribute
sbIMediaItemController 
itemController
 An interface to the media item controller (if any) that determines this item's availability for playback. More...
 
attribute long long mediaCreated
 Creation time of the media item as a unix timestamp. More...
 
attribute long long mediaUpdated
 Last modification time of the media item as a unix timestamp. More...
 
attribute nsIURI contentSrc
 A nsIURI that resolves to the content of the media item. More...
 
attribute long long contentLength
 Size (in bytes) of the content of the media item. More...
 
attribute AString contentType
 Content type of the content of the media item, typically a mime type (should this be renamed?) More...
 
- Public Attributes inherited from sbILibraryResource
readonly attribute AString guid
 The guid of this resource. More...
 
readonly attribute long long created
 The creation time of this resource as a unix timestamp. More...
 
readonly attribute long long updated
 The last update time of this resource as a unix timestamp. More...
 
readonly attribute
nsIStringEnumerator 
propertyIDs
 Returns a string enumerator of the IDs of all the properties set on this resource. More...
 
readonly attribute boolean userEditable
 True if users should be allowed to modify the resource. More...
 
- Public Attributes inherited from sbIMediaListEnumerationListener
const unsigned short CONTINUE = 0
 
const unsigned short CANCEL = 1
 

Detailed Description

Definition at line 72 of file sbRemoteLibraryBase.h.

Constructor & Destructor Documentation

sbRemoteLibraryBase::sbRemoteLibraryBase ( sbRemotePlayer aRemotePlayer)
sbRemoteLibraryBase::~sbRemoteLibraryBase ( )
protectedvirtual

Definition at line 271 of file sbRemoteLibraryBase.cpp.

Member Function Documentation

NS_IMETHOD sbRemoteLibraryBase::Equals ( sbILibraryResource aOtherLibraryResource,
PRBool *  _retval 
)
inline

Definition at line 93 of file sbRemoteLibraryBase.h.

already_AddRefed< sbIMediaItem > sbRemoteLibraryBase::FindMediaItemWithMatchingScope ( const nsCOMArray< sbIMediaItem > &  aMediaItems)
protected

Definition at line 1296 of file sbRemoteLibraryBase.cpp.

Here is the call graph for this function:

NS_IMETHODIMP sbRemoteLibraryBase::GetClassName ( char **  aClassName)

Definition at line 992 of file sbRemoteLibraryBase.cpp.

Here is the caller graph for this function:

NS_IMETHOD sbRemoteLibraryBase::GetCreated ( PRInt64 *  aCreated)
inline

Definition at line 93 of file sbRemoteLibraryBase.h.

NS_DECL_ISUPPORTS NS_DECL_SBISCRIPTABLEFILTERRESULT NS_DECL_SBISECURITYAGGREGATOR NS_DECL_SBIREMOTELIBRARY NS_DECL_SBIMEDIALISTENUMERATIONLISTENER NS_IMETHOD sbRemoteLibraryBase::GetGuid ( nsAString &  aGuid)
inline

Definition at line 93 of file sbRemoteLibraryBase.h.

nsresult sbRemoteLibraryBase::GetLibraryGUID ( const nsAString &  aLibraryID,
nsAString &  aLibraryGUID 
)
static

Definition at line 1195 of file sbRemoteLibraryBase.cpp.

Here is the caller graph for this function:

already_AddRefed< sbIMediaItem > sbRemoteLibraryBase::GetMediaItem ( )
virtual

Implements sbIWrappedMediaItem.

Definition at line 909 of file sbRemoteLibraryBase.cpp.

already_AddRefed< sbIMediaList > sbRemoteLibraryBase::GetMediaList ( )
virtual

Implements sbIWrappedMediaList.

Definition at line 915 of file sbRemoteLibraryBase.cpp.

already_AddRefed< sbIRemoteMediaList > sbRemoteLibraryBase::GetMediaListBySiteID ( const nsAString &  aSiteID)
protected

Definition at line 622 of file sbRemoteLibraryBase.cpp.

NS_IMETHOD sbRemoteLibraryBase::GetProperties ( sbIPropertyArray aPropertyIDs,
sbIPropertyArray **  _retval 
)
inline

Definition at line 93 of file sbRemoteLibraryBase.h.

NS_IMETHOD sbRemoteLibraryBase::GetProperty ( const nsAString &  aName,
nsAString &  _retval 
)
inline

Definition at line 93 of file sbRemoteLibraryBase.h.

NS_IMETHODIMP sbRemoteLibraryBase::GetProperty ( nsIXPConnectWrappedNative *  wrapper,
JSContext *  cx,
JSObject *  obj,
jsval  id,
jsval *  vp,
PRBool *  _retval 
)

Definition at line 1041 of file sbRemoteLibraryBase.cpp.

Here is the call graph for this function:

NS_IMETHOD sbRemoteLibraryBase::GetPropertyIDs ( nsIStringEnumerator **  aPropertyIDs)
inline

Definition at line 93 of file sbRemoteLibraryBase.h.

NS_IMETHODIMP sbRemoteLibraryBase::GetScriptableFlags ( PRUint32 *  aScriptableFlags)

Definition at line 1001 of file sbRemoteLibraryBase.cpp.

NS_IMETHOD sbRemoteLibraryBase::GetUpdated ( PRInt64 *  aUpdated)
inline

Definition at line 93 of file sbRemoteLibraryBase.h.

NS_IMETHOD sbRemoteLibraryBase::GetUserEditable ( PRBool *  aUserEditable)
inline

Definition at line 93 of file sbRemoteLibraryBase.h.

virtual nsresult sbRemoteLibraryBase::InitInternalMediaList ( )
protectedpure virtual
NS_IMETHODIMP sbRemoteLibraryBase::NewResolve ( nsIXPConnectWrappedNative *  wrapper,
JSContext *  cx,
JSObject *  obj,
jsval  id,
PRUint32  flags,
JSObject **  objp,
PRBool *  _retval 
)

Definition at line 1018 of file sbRemoteLibraryBase.cpp.

NS_IMETHOD sbRemoteLibraryBase::SetProperties ( sbIPropertyArray aProperties)
inline

Definition at line 93 of file sbRemoteLibraryBase.h.

NS_IMETHODIMP sbRemoteLibraryBase::SetProperty ( const nsAString &  aID,
const nsAString &  aValue 
)

Definition at line 283 of file sbRemoteLibraryBase.cpp.

Here is the call graph for this function:

Member Data Documentation

PRBool sbRemoteLibraryBase::mAllowDuplicates
protected

Definition at line 154 of file sbRemoteLibraryBase.h.

nsCOMArray<sbIMediaItem> sbRemoteLibraryBase::mEnumerationArray
protected

Definition at line 145 of file sbRemoteLibraryBase.h.

nsresult sbRemoteLibraryBase::mEnumerationResult
protected

Definition at line 146 of file sbRemoteLibraryBase.h.

PRBool sbRemoteLibraryBase::mIgnoreHiddenPlaylists
protected

Definition at line 153 of file sbRemoteLibraryBase.h.

nsCOMPtr<sbILibrary> sbRemoteLibraryBase::mLibrary
protected

Definition at line 141 of file sbRemoteLibraryBase.h.

nsRefPtr<sbRemoteMediaListBase> sbRemoteLibraryBase::mRemMediaList
protected

Definition at line 142 of file sbRemoteLibraryBase.h.

nsRefPtr<sbRemotePlayer> sbRemoteLibraryBase::mRemotePlayer
protected

Definition at line 151 of file sbRemoteLibraryBase.h.

nsCOMPtr<nsISecurityCheckedComponent> sbRemoteLibraryBase::mSecurityMixin
protected

Definition at line 149 of file sbRemoteLibraryBase.h.

PRBool sbRemoteLibraryBase::mShouldScan
protected

Definition at line 140 of file sbRemoteLibraryBase.h.


The documentation for this class was generated from the following files: