sbRemoteSiteLibrary.h
Go to the documentation of this file.
1 /*
2 //
3 // BEGIN SONGBIRD GPL
4 //
5 // This file is part of the Songbird web player.
6 //
7 // Copyright(c) 2005-2008 POTI, Inc.
8 // http://songbirdnest.com
9 //
10 // This file may be licensed under the terms of of the
11 // GNU General Public License Version 2 (the "GPL").
12 //
13 // Software distributed under the License is distributed
14 // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
15 // express or implied. See the GPL for the specific language
16 // governing rights and limitations.
17 //
18 // You should have received a copy of the GPL along with this
19 // program. If not, go to http://www.gnu.org/licenses/gpl.html
20 // or write to the Free Software Foundation, Inc.,
21 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 //
23 // END SONGBIRD GPL
24 //
25  */
26 
27 #ifndef __SB_REMOTE_SITELIBRARY_H__
28 #define __SB_REMOTE_SITELIBRARY_H__
29 
30 #include "sbRemoteAPI.h"
31 #include "sbRemoteLibraryBase.h"
32 #include <sbIRemoteLibrary.h>
33 
34 #include <nsCOMPtr.h>
35 
36 class nsIFile;
37 class nsIURI;
38 class sbRemotePlayer;
39 
42 {
43 public:
44  NS_DECL_ISUPPORTS_INHERITED
45  NS_DECL_NSICLASSINFO
46  NS_DECL_SBIREMOTESITELIBRARY
47  NS_FORWARD_SBIREMOTELIBRARY(sbRemoteLibraryBase::)
49 
50  sbRemoteSiteLibrary(sbRemotePlayer* aRemotePlayer);
51 
52  static nsresult GetFilenameForSiteLibrary( const nsACString& aDomain,
53  const nsACString& aPath,
54  nsAString& _retval )
55  {
56  return GetFilenameForSiteLibraryInternal( aDomain, aPath, PR_TRUE, _retval );
57  }
58 
59 protected:
60  virtual ~sbRemoteSiteLibrary();
61  virtual nsresult InitInternalMediaList();
62 
63  // fetches the URI from the security mixin
64  already_AddRefed<nsIURI> GetURI();
65  // builds a path to the db file for the passed in domain and path
66  already_AddRefed<nsIFile> GetSiteLibraryFile( const nsACString &aDomain,
67  const nsACString &aPath );
68  static nsresult GetFilenameForSiteLibraryInternal( const nsACString& aDomain,
69  const nsACString& aPath,
70  PRBool aDoFixup,
71  nsAString& _retval );
72 
73  nsRefPtr<sbRemoteSiteMediaList> mRemSiteMediaList;
74 
75  // Only set in debug builds - used for validating library creation
76 #ifdef DEBUG
77  nsString mFilename;
78 #endif
79 };
80 
81 #endif // __SB_REMOTE_SITELIBRARY_H__
_updateCookies aPath
sbRemoteSiteLibrary(sbRemotePlayer *aRemotePlayer)
virtual nsresult InitInternalMediaList()
An interface for a sandbox library created by the website.
already_AddRefed< nsIFile > GetSiteLibraryFile(const nsACString &aDomain, const nsACString &aPath)
nsRefPtr< sbRemoteSiteMediaList > mRemSiteMediaList
#define SB_DECL_SECURITYCHECKEDCOMP_INIT
Definition: sbRemoteAPI.h:42
static nsresult GetFilenameForSiteLibrary(const nsACString &aDomain, const nsACString &aPath, nsAString &_retval)
already_AddRefed< nsIURI > GetURI()
static nsresult GetFilenameForSiteLibraryInternal(const nsACString &aDomain, const nsACString &aPath, PRBool aDoFixup, nsAString &_retval)