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 #include "sbLibHal.h"
52 
53 
54 //------------------------------------------------------------------------------
55 //
56 // iPod system dependent device services classes.
57 //
58 // All fields and methods are in the "not locked" category with respect to
59 // threading.
60 //
61 //------------------------------------------------------------------------------
62 
68 {
69  //----------------------------------------------------------------------------
70  //
71  // Public interface.
72  //
73  //----------------------------------------------------------------------------
74 
75 public:
76 
77  //
78  // sbIDevice services.
79  //
80 
81  nsresult Eject();
82 
83 
84  //
85  // iPod system dependent device services.
86  //
87 
88  sbIPDSysDevice(const nsID& aControllerID,
89  nsIPropertyBag* aProperties);
90 
92 
93  nsresult Initialize();
94 
95  void Finalize();
96 
97 
98  //----------------------------------------------------------------------------
99  //
100  // Private interface.
101  //
102  //----------------------------------------------------------------------------
103 
104 private:
105 
106  //
107  // Internal services fields.
108  //
109  // mProperties Set of device properties.
110  // mSBLibHalCtx HAL library API context.
111  // mDeviceUDI Device HAL library UDI.
112  // mMediaPartUDI Device media partition HAL library UDI.
113  //
114 
115  nsCOMPtr<nsIPropertyBag> mProperties;
116  sbLibHalCtx* mSBLibHalCtx;
117  nsCString mDeviceUDI;
118  nsCString mMediaPartUDI;
119 
120 
121  //
122  // Internal services.
123  //
124 
125  nsresult GetMountPath(nsAString& aMountPath);
126 
127  nsresult GetFirewireGUID(nsAString& aFirewireGUID);
128 };
129 
130 
131 #endif // __SB_IPD_SYS_DEVICE_H__
132 
sbIPDSysDevice(const nsID &aControllerID, nsIPropertyBag *aProperties)
Songbird iPod Device Definitions.
nsresult Eject()
nsresult Initialize()