sbBaseMediacore.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 
32 #ifndef __SB_BASEMEDIACORE_H__
33 #define __SB_BASEMEDIACORE_H__
34 
35 #include <sbIMediacore.h>
36 
37 #include <nsIClassInfo.h>
38 
39 #include <sbIMediacoreCapabilities.h>
40 #include <sbIMediacoreSequencer.h>
41 #include <sbIMediacoreStatus.h>
42 
43 #include <nsAutoLock.h>
44 #include <nsCOMPtr.h>
45 #include <nsStringGlue.h>
46 
48  public nsIClassInfo
49 {
50 public:
52  NS_DECL_NSICLASSINFO
53  NS_DECL_SBIMEDIACORE
54 
56 
57  // you have to call this before calling anything else.
58  nsresult InitBaseMediacore();
59 
60  nsresult SetInstanceName(const nsAString &aInstanceName);
61  nsresult SetCapabilities(sbIMediacoreCapabilities *aCapabilities);
62  nsresult SetStatus(sbIMediacoreStatus *aStatus);
63 
64  //Override me, see cpp file for implementation notes.
65  virtual nsresult OnInitBaseMediacore();
66 
67  //Override me, see cpp file for implementation notes.
68  virtual nsresult OnGetCapabilities();
69 
70  //Override me, see cpp file for implementation notes.
71  virtual nsresult OnSetSequencer(sbIMediacoreSequencer *aSequencer);
72 
73  //Override me, see cpp file for implementation notes.
74  virtual nsresult OnShutdown();
75 
76 protected:
77  virtual ~sbBaseMediacore();
78 
79  PRMonitor *mMonitor;
80 
81  nsString mInstanceName;
82 
83  nsCOMPtr<sbIMediacoreCapabilities> mCapabilities;
84  nsCOMPtr<sbIMediacoreStatus> mStatus;
85  nsCOMPtr<sbIMediacoreSequencer> mSequencer;
86 };
87 
88 #endif /* __SB_BASEMEDIACORE_H__ */
nsresult InitBaseMediacore()
virtual ~sbBaseMediacore()
virtual nsresult OnInitBaseMediacore()
nsresult SetCapabilities(sbIMediacoreCapabilities *aCapabilities)
PRMonitor * mMonitor
nsCOMPtr< sbIMediacoreCapabilities > mCapabilities
nsCOMPtr< sbIMediacoreStatus > mStatus
nsCOMPtr< sbIMediacoreSequencer > mSequencer
nsString mInstanceName
nsresult SetStatus(sbIMediacoreStatus *aStatus)
nsresult SetInstanceName(const nsAString &aInstanceName)
virtual nsresult OnShutdown()
NS_DECL_ISUPPORTS NS_DECL_NSICLASSINFO NS_DECL_SBIMEDIACORE sbBaseMediacore()
virtual nsresult OnSetSequencer(sbIMediacoreSequencer *aSequencer)
virtual nsresult OnGetCapabilities()