sbIPDFairPlayEvent.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set sw=2 :miv */
3 /*
4 //=BEGIN SONGBIRD GPL
5 //
6 // This file is part of the Songbird web player.
7 //
8 // Copyright(c) 2005-2009 POTI, Inc.
9 // http://www.songbirdnest.com
10 //
11 // This file may be licensed under the terms of of the
12 // GNU General Public License Version 2 (the GPL).
13 //
14 // Software distributed under the License is distributed
15 // on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either
16 // express or implied. See the GPL for the specific language
17 // governing rights and limitations.
18 //
19 // You should have received a copy of the GPL along with this
20 // program. If not, go to http://www.gnu.org/licenses/gpl.html
21 // or write to the Free Software Foundation, Inc.,
22 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
23 //
24 //=END SONGBIRD GPL
25 */
26 
27 #ifndef __SB_IPD_FAIRPLAYEVENT_H__
28 #define __SB_IPD_FAIRPLAYEVENT_H__
29 
30 //------------------------------------------------------------------------------
31 //------------------------------------------------------------------------------
32 //
33 // iPod device FairPlay event defs.
34 //
35 //------------------------------------------------------------------------------
36 //------------------------------------------------------------------------------
37 
43 //------------------------------------------------------------------------------
44 //
45 // iPod device FairPlay event imported services.
46 //
47 //------------------------------------------------------------------------------
48 
49 // Local imports.
50 #include "sbIIPDDeviceEvent.h"
51 
52 // Songbird imports.
53 #include <sbDeviceEvent.h>
54 #include <sbIDevice.h>
55 #include <sbIMediaItem.h>
56 
57 // Mozilla imports.
58 #include <nsStringAPI.h>
59 
60 
61 //------------------------------------------------------------------------------
62 //
63 // iPod device FairPlay event classes.
64 //
65 //------------------------------------------------------------------------------
66 
72  public sbDeviceEvent
73 {
74  //----------------------------------------------------------------------------
75  //
76  // Public interface.
77  //
78  //----------------------------------------------------------------------------
79 
80 public :
81 
82  //
83  // Interface declarations.
84  //
85 
87  NS_DECL_SBIIPDFAIRPLAYEVENT
88  NS_DECL_SBIIPDDEVICEEVENT
89  NS_FORWARD_SAFE_SBIDEVICEEVENT(mDeviceEvent)
90  NS_FORWARD_SAFE_SBDEVICEEVENT(mSBDeviceEvent)
91 
92 
93  //
94  // Public services.
95  //
96 
97  static nsresult CreateEvent(sbIPDFairPlayEvent** aFairPlayEvent,
98  sbIDevice* aDevice,
99  PRUint32 aType,
100  PRUint32 aUserID,
101  nsAString& aAccountName,
102  nsAString& aUserName,
103  sbIMediaItem* aMediaItem);
104 
105 
106  //----------------------------------------------------------------------------
107  //
108  // Protected interface.
109  //
110  //----------------------------------------------------------------------------
111 
112 protected:
113 
114  //
115  // Protect constructor/destructor.
116  //
117 
119 
120  virtual ~sbIPDFairPlayEvent();
121 
122 
123  //----------------------------------------------------------------------------
124  //
125  // Private interface.
126  //
127  //----------------------------------------------------------------------------
128 
129 private:
130 
131  //
132  // mDeviceEvent Base device event.
133  // mSBDeviceEvent QI'd mDeviceEvent.
134  // mUserID FairPlay user ID.
135  // mAccountName FairPlay account name.
136  // mUserName FairPlay user name.
137  // mMediaItem FairPlay media item.
138  //
139 
140  nsCOMPtr<sbIDeviceEvent> mDeviceEvent;
141  nsCOMPtr<sbDeviceEvent> mSBDeviceEvent;
142  PRUint32 mUserID;
143  nsString mAccountName;
144  nsString mUserName;
145  nsCOMPtr<sbIMediaItem> mMediaItem;
146 
147 
148  //
149  // Internal services.
150  //
151 
152  nsresult InitEvent(sbIDevice* aDevice,
153  PRUint32 aType,
154  PRUint32 aUserID,
155  nsAString& aAccountName,
156  nsAString& aUserName,
157  sbIMediaItem* aMediaItem);
158 };
159 
160 
161 #endif // __SB_IPD_FAIRPLAYEVENT_H__
162 
static sbDeviceEvent * CreateEvent()
iPod device event interface for FairPlay events.
#define NS_FORWARD_SAFE_SBDEVICEEVENT(_to)
Definition: sbDeviceEvent.h:84
Interface that defines a single item of media in the system.