sbIPDSysDevice.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_SYS_DEVICE_H__
28 #define __SB_IPD_SYS_DEVICE_H__
29 
30 //------------------------------------------------------------------------------
31 //------------------------------------------------------------------------------
32 //
33 // iPod system dependent device services defs.
34 //
35 //------------------------------------------------------------------------------
36 //------------------------------------------------------------------------------
37 
43 //------------------------------------------------------------------------------
44 //
45 // iPod system dependent device imported services.
46 //
47 //------------------------------------------------------------------------------
48 
49 // Local imports.
50 #include "sbIPDDevice.h"
51 
52 // MacOS X imports.
53 #include <Carbon/Carbon.h>
54 
55 
56 //------------------------------------------------------------------------------
57 //
58 // iPod system dependent device services classes.
59 //
60 // All fields and methods are in the "not locked" category with respect to
61 // threading.
62 //
63 //------------------------------------------------------------------------------
64 
69 class sbIPDSysDevice : public sbIPDDevice
70 {
71  //----------------------------------------------------------------------------
72  //
73  // Public interface.
74  //
75  //----------------------------------------------------------------------------
76 
77 public:
78 
79  //
80  // sbIDevice services.
81  //
82 
83  nsresult Eject();
84 
85 
86  //
87  // Constructors/destructors.
88  //
89 
90  sbIPDSysDevice(const nsID& aControllerID,
91  nsIPropertyBag* aProperties);
92 
94 
95  nsresult Initialize();
96 
97  void Finalize();
98 
99 
100  //----------------------------------------------------------------------------
101  //
102  // Public interface.
103  //
104  //----------------------------------------------------------------------------
105 
106 private:
107 
108  //
109  // Internal services fields.
110  //
111  // mProperties Set of device properties.
112  // mVolumeRefNum Device volume reference number.
113  //
114 
115  nsCOMPtr<nsIPropertyBag> mProperties;
116  FSVolumeRefNum mVolumeRefNum;
117 };
118 
119 
120 #endif // __SB_IPD_SYS_DEVICE_H__
121 
sbIPDSysDevice(const nsID &aControllerID, nsIPropertyBag *aProperties)
Songbird iPod Device Definitions.
nsresult Eject()
nsresult Initialize()