sbMediacoreEvent.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_MEDIACOREEVENT_H__
33 #define __SB_MEDIACOREEVENT_H__
34 
35 #include <sbIMediacoreEvent.h>
36 
37 #include <nsIVariant.h>
38 
39 #include <sbIMediacore.h>
40 #include <sbIMediacoreError.h>
41 #include <sbIMediacoreEventTarget.h>
42 
43 #include <nsAutoLock.h>
44 #include <nsCOMPtr.h>
45 
47 {
48 public:
50  NS_DECL_SBIMEDIACOREEVENT
51 
53 
54  nsresult Init(PRUint32 aType,
55  sbIMediacoreError *aError,
56  nsIVariant *aData,
57  sbIMediacore *aOrigin);
58 
59  nsresult SetTarget(sbIMediacoreEventTarget *aTarget);
60 
61  void Dispatch();
62  PRBool WasDispatched();
63 
67  static nsresult CreateEvent(PRUint32 aType,
68  sbIMediacoreError * aError,
69  nsIVariant *aData,
70  sbIMediacore *aOrigin,
71  sbIMediacoreEvent **retval);
72 
73 protected:
74  virtual ~sbMediacoreEvent();
75 
76  PRLock* mLock;
77  PRUint32 mType;
78 
79  nsCOMPtr<sbIMediacoreError> mError;
80  nsCOMPtr<nsIVariant> mData;
81 
82  nsCOMPtr<sbIMediacore> mOrigin;
83  nsCOMPtr<sbIMediacoreEventTarget> mTarget;
84 
85  PRBool mDispatched;
86 };
87 
88 #endif /* __SB_MEDIACOREEVENT_H__ */
nsCOMPtr< nsIVariant > mData
NS_DECL_ISUPPORTS NS_DECL_SBIMEDIACOREEVENT sbMediacoreEvent()
nsresult Init(PRUint32 aType, sbIMediacoreError *aError, nsIVariant *aData, sbIMediacore *aOrigin)
Definition of the sbIMediacoreEvent interface.
nsresult SetTarget(sbIMediacoreEventTarget *aTarget)
virtual ~sbMediacoreEvent()
static nsresult CreateEvent(PRUint32 aType, sbIMediacoreError *aError, nsIVariant *aData, sbIMediacore *aOrigin, sbIMediacoreEvent **retval)
nsCOMPtr< sbIMediacore > mOrigin
nsCOMPtr< sbIMediacoreError > mError
nsCOMPtr< sbIMediacoreEventTarget > mTarget
_updateTextAndScrollDataForFrame aData