sbRemotePlayer.cpp File Reference
#include "sbRemotePlayer.h"
#include "sbRemoteAPIUtils.h"
#include "sbRemoteCommands.h"
#include "sbRemoteLibrary.h"
#include "sbRemoteLibraryBase.h"
#include "sbRemoteMediaItemStatusEvent.h"
#include "sbRemotePlaylistClickEvent.h"
#include "sbRemoteSecurityEvent.h"
#include "sbRemoteSiteLibrary.h"
#include "sbRemoteWebLibrary.h"
#include "sbRemoteWebPlaylist.h"
#include "sbSecurityMixin.h"
#include "sbURIChecker.h"
#include <sbClassInfoUtils.h>
#include <sbIDataRemote.h>
#include <sbIDeviceManager.h>
#include <sbIDownloadDevice.h>
#include <sbILibrary.h>
#include <sbIMediacoreEvent.h>
#include <sbIMediacoreEventTarget.h>
#include <sbIMediacoreManager.h>
#include <sbIMediacorePlaybackControl.h>
#include <sbIMediacoreSequencer.h>
#include <sbIMediacoreVolumeControl.h>
#include <sbIMediaList.h>
#include <sbIMediaListView.h>
#include <sbIRemoteAPIService.h>
#include <sbIPlaylistClickEvent.h>
#include <sbIPlaylistCommands.h>
#include <sbITabBrowser.h>
#include <sbIPropertyInfo.h>
#include <sbIPropertyManager.h>
#include <sbPropertiesCID.h>
#include <sbStandardProperties.h>
#include <sbIPropertyBuilder.h>
#include <sbStringUtils.h>
#include <nsAutoPtr.h>
#include <nsDOMJSUtils.h>
#include <nsIArray.h>
#include <nsICategoryManager.h>
#include <nsIContentViewer.h>
#include <nsIDocShell.h>
#include <nsIDocShellTreeItem.h>
#include <nsIDocShellTreeOwner.h>
#include <nsIDocument.h>
#include <nsIDOMDocument.h>
#include <nsIDOMDocumentEvent.h>
#include <nsIDOMElement.h>
#include <nsIDOMEvent.h>
#include <nsIDOMEventTarget.h>
#include <nsIDOMMouseEvent.h>
#include <nsIDOMNodeList.h>
#include <nsIDOMNSEvent.h>
#include <nsIDOMWindow.h>
#include <nsPIDOMWindow.h>
#include <nsIDOMWindowInternal.h>
#include <nsIDOMXULDocument.h>
#include <nsIDOMXULElement.h>
#include <nsIInterfaceRequestorUtils.h>
#include <nsIJSContextStack.h>
#include <nsIPrefBranch.h>
#include <nsIPresShell.h>
#include <nsIPrivateDOMEvent.h>
#include <nsIPromptService.h>
#include <nsIScriptGlobalObject.h>
#include <nsIScriptNameSpaceManager.h>
#include <nsIStringBundle.h>
#include <nsITreeSelection.h>
#include <nsITreeView.h>
#include <nsIURI.h>
#include <nsIVariant.h>
#include <nsIWindowMediator.h>
#include <nsMemory.h>
#include <nsNetUtil.h>
#include <nsServiceManagerUtils.h>
#include <nsStringGlue.h>
#include <prlog.h>
#include <sbIDeviceBase.h>
#include <sbILibraryManager.h>
#include <nsIDialogParamBlock.h>
#include <nsISupportsPrimitives.h>
#include <nsIWindowWatcher.h>

Go to the source code of this file.

Classes

class  sbAutoPrincipalPusher
 
class  sbRemotePlayerEnumCallback
 

Macros

#define LOG(args)   PR_LOG(gRemotePlayerLog, PR_LOG_WARN, args)
 
#define TRACE(args)   PR_LOG(gRemotePlayerLog, PR_LOG_DEBUG, args)
 
#define RAPI_EVENT_CLASS   NS_LITERAL_STRING("Events")
 
#define RAPI_EVENT_TYPE   NS_LITERAL_STRING("remoteapi")
 
#define RAPI_EVENT_TYPE_DOWNLOADSTART   NS_LITERAL_STRING("downloadstart")
 
#define RAPI_EVENT_TYPE_DOWNLOADCOMPLETE   NS_LITERAL_STRING("downloadcomplete")
 
#define RAPI_EVENT_TYPE_BEFORETRACKCHANGE   NS_LITERAL_STRING("beforetrackchange")
 
#define RAPI_EVENT_TYPE_TRACKCHANGE   NS_LITERAL_STRING("trackchange")
 
#define RAPI_EVENT_TYPE_TRACKINDEXCHANGE   NS_LITERAL_STRING("trackindexchange")
 
#define RAPI_EVENT_TYPE_BEFOREVIEW   NS_LITERAL_STRING("beforeviewchange")
 
#define RAPI_EVENT_TYPE_VIEW   NS_LITERAL_STRING("viewchange")
 
#define RAPI_EVENT_TYPE_STOP   NS_LITERAL_STRING("playbackstopped")
 
#define SB_PREFS_ROOT   NS_LITERAL_STRING("songbird.")
 
#define SB_EVENT_CMNDS_UP   NS_LITERAL_STRING("playlist-commands-updated")
 
#define SB_WEB_TABBROWSER   NS_LITERAL_STRING("sb-tabbrowser")
 
#define SB_LIB_NAME_MAIN   "main"
 
#define SB_LIB_NAME_WEB   "web"
 
#define SB_DATAREMOTE_FACEPLATE_STATUS   NS_LITERAL_STRING("faceplate.status.override.text")
 
#define RAPI_VERSION_MAJOR   1
 
#define RAPI_VERSION_MINOR   0
 

Functions

static NS_DEFINE_CID (kRemotePlayerCID,{0x645e064c, 0xe547, 0x444c,{0xbb, 0x41, 0x8f, 0x2e, 0x5b, 0x12, 0x70, 0x0b}})
 
 UnbindAndRelease (const nsAString &aKey, sbRemoteObserver &aRemObs, void *userArg)
 
 NS_IMPL_ISUPPORTS7 (sbRemotePlayer, nsIClassInfo, nsISecurityCheckedComponent, sbIRemotePlayer, nsIDOMEventListener, nsISupportsWeakReference, sbIMediacoreEventListener, sbISecurityAggregator) NS_IMPL_CI_INTERFACE_GETTER6(sbRemotePlayer
 
sbISecurityAggregator SB_IMPL_CLASSINFO (sbRemotePlayer,"@songbirdnest.com/remoteapi/remoteplayer;1","Songbird Remote Player", nsIProgrammingLanguage::CPLUSPLUS, 0, kRemotePlayerCID) sbRemotePlayer
 
static nsresult StandardPlay (nsIWeakReference *aWeakRef)
 

Variables

static const char * sPublicWProperties []
 
static const char * sPublicRProperties []
 
static const char * sPublicMethods []
 
static const char * sPublicMetadata []
 
static const char * sPublicCategoryConversions [][2]
 
 nsISecurityCheckedComponent
 
 sbIRemotePlayer
 
 nsIDOMEventListener
 
 nsISupportsWeakReference
 
 sbIMediacoreEventListener
 

Macro Definition Documentation

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

Definition at line 128 of file sbRemotePlayer.cpp.

#define RAPI_EVENT_CLASS   NS_LITERAL_STRING("Events")

Definition at line 223 of file sbRemotePlayer.cpp.

#define RAPI_EVENT_TYPE   NS_LITERAL_STRING("remoteapi")

Definition at line 224 of file sbRemotePlayer.cpp.

#define RAPI_EVENT_TYPE_BEFORETRACKCHANGE   NS_LITERAL_STRING("beforetrackchange")

Definition at line 227 of file sbRemotePlayer.cpp.

#define RAPI_EVENT_TYPE_BEFOREVIEW   NS_LITERAL_STRING("beforeviewchange")

Definition at line 230 of file sbRemotePlayer.cpp.

#define RAPI_EVENT_TYPE_DOWNLOADCOMPLETE   NS_LITERAL_STRING("downloadcomplete")

Definition at line 226 of file sbRemotePlayer.cpp.

#define RAPI_EVENT_TYPE_DOWNLOADSTART   NS_LITERAL_STRING("downloadstart")

Definition at line 225 of file sbRemotePlayer.cpp.

#define RAPI_EVENT_TYPE_STOP   NS_LITERAL_STRING("playbackstopped")

Definition at line 232 of file sbRemotePlayer.cpp.

#define RAPI_EVENT_TYPE_TRACKCHANGE   NS_LITERAL_STRING("trackchange")

Definition at line 228 of file sbRemotePlayer.cpp.

#define RAPI_EVENT_TYPE_TRACKINDEXCHANGE   NS_LITERAL_STRING("trackindexchange")

Definition at line 229 of file sbRemotePlayer.cpp.

#define RAPI_EVENT_TYPE_VIEW   NS_LITERAL_STRING("viewchange")

Definition at line 231 of file sbRemotePlayer.cpp.

#define RAPI_VERSION_MAJOR   1

Definition at line 242 of file sbRemotePlayer.cpp.

#define RAPI_VERSION_MINOR   0

Definition at line 243 of file sbRemotePlayer.cpp.

#define SB_DATAREMOTE_FACEPLATE_STATUS   NS_LITERAL_STRING("faceplate.status.override.text")

Definition at line 240 of file sbRemotePlayer.cpp.

#define SB_EVENT_CMNDS_UP   NS_LITERAL_STRING("playlist-commands-updated")

Definition at line 234 of file sbRemotePlayer.cpp.

#define SB_LIB_NAME_MAIN   "main"

Definition at line 237 of file sbRemotePlayer.cpp.

#define SB_LIB_NAME_WEB   "web"

Definition at line 238 of file sbRemotePlayer.cpp.

#define SB_PREFS_ROOT   NS_LITERAL_STRING("songbird.")

Definition at line 233 of file sbRemotePlayer.cpp.

#define SB_WEB_TABBROWSER   NS_LITERAL_STRING("sb-tabbrowser")

Definition at line 235 of file sbRemotePlayer.cpp.

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

Definition at line 129 of file sbRemotePlayer.cpp.

Function Documentation

static NS_DEFINE_CID ( kRemotePlayerCID  ,
{0x645e064c, 0xe547, 0x444c,{0xbb, 0x41, 0x8f, 0x2e, 0x5b, 0x12, 0x70, 0x0b}}   
)
static
sbISecurityAggregator SB_IMPL_CLASSINFO ( sbRemotePlayer  ,
"@songbirdnest.com/remoteapi/remoteplayer;1"  ,
"Songbird Remote Player"  ,
nsIProgrammingLanguage::CPLUSPLUS  ,
,
kRemotePlayerCID   
)

Definition at line 341 of file sbRemotePlayer.cpp.

static nsresult StandardPlay ( nsIWeakReference *  aWeakRef)
inlinestatic

Definition at line 1329 of file sbRemotePlayer.cpp.

UnbindAndRelease ( const nsAString &  aKey,
sbRemoteObserver aRemObs,
void *  userArg 
)

Definition at line 247 of file sbRemotePlayer.cpp.

Here is the caller graph for this function:

Variable Documentation

nsIDOMEventListener

Definition at line 334 of file sbRemotePlayer.cpp.

nsISecurityCheckedComponent

Definition at line 334 of file sbRemotePlayer.cpp.

nsISupportsWeakReference

Definition at line 334 of file sbRemotePlayer.cpp.

Definition at line 334 of file sbRemotePlayer.cpp.

Definition at line 334 of file sbRemotePlayer.cpp.

const char* sPublicCategoryConversions[][2]
static
Initial value:
=
{ { "Control Playback", "playback_control:" },
{ "Read Current", "playback_read:" },
{ "Read Library", "library_read:" },
{ "Modify Library", "library_write:" } }

Definition at line 216 of file sbRemotePlayer.cpp.

const char* sPublicMetadata[]
static
Initial value:
=
{ "metadata.artist",
"metadata.title",
"metadata.album",
"metadata.genre",
"metadata.position",
"metadata.length",
"metadata.position.str",
"metadata.length.str",
"playlist.shuffle",
"playlist.repeat",
"playlist.shuffle.disabled",
"faceplate.volume",
"faceplate.mute",
"faceplate.playing",
"faceplate.paused" }

Definition at line 195 of file sbRemotePlayer.cpp.

const char* sPublicMethods[]
static
Initial value:
=
{ "playback_control:play",
"playback_control:playMediaList",
"playback_control:stop",
"playback_control:pause",
"playback_control:previous",
"playback_control:next",
"playback_control:playURL",
"library_write:downloadItem",
"library_write:downloadList",
"library_write:downloadSelected",
"site:setSiteScope",
"library_read:libraries",
"playback_read:removeListener",
"playback_read:addListener",
"site:supportsVersion",
"site:createTextProperty",
"site:createDateTimeProperty",
"site:createURIProperty",
"site:createNumberProperty",
"site:createImageProperty",
"site:createRatingsProperty",
"site:createButtonProperty",
"site:createDownloadButtonProperty",
"site:hasAccess" }

Definition at line 167 of file sbRemotePlayer.cpp.

const char* sPublicRProperties[]
static
Initial value:
=
{ "site:apiVersionMajor",
"site:apiVersionMinor",
"site:playing",
"site:paused",
"site:repeat",
"site:shuffle",
"site:position",
"site:duration",
"site:volume",
"site:mute",
"site:name",
"library_read:playlists",
"site:webLibrary",
"site:mainLibrary",
"site:siteLibrary",
"site:webPlaylist",
"site:downloadMediaList",
"playback_read:currentArtist",
"playback_read:currentAlbum",
"playback_read:currentTrack",
"site:commands",
"classinfo:classDescription",
"classinfo:contractID",
"classinfo:classID",
"classinfo:implementationLanguage",
"classinfo:flags" }

Definition at line 139 of file sbRemotePlayer.cpp.

const char* sPublicWProperties[]
static
Initial value:
=
{ "playback_control:position" }

Definition at line 136 of file sbRemotePlayer.cpp.