sbIPDUtils.cpp
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 
32 //------------------------------------------------------------------------------
33 //
34 // iPod device utility imported services.
35 //
36 //------------------------------------------------------------------------------
37 
38 // Local imports.
39 #include "sbIPDUtils.h"
40 
41 // Mozilla imports.
42 #include <nsServiceManagerUtils.h>
43 
44 // Songbird imports.
45 #include <sbIDeviceEvent.h>
46 #include <sbIDeviceEventTarget.h>
47 #include <sbIDeviceManager.h>
48 
49 
50 //------------------------------------------------------------------------------
51 //
52 // iPod device utility services.
53 //
54 //------------------------------------------------------------------------------
55 
71 nsresult
73  nsIVariant* aData,
74  nsISupports* aOrigin,
75  PRUint32 aDeviceState,
76  PRBool aAsync)
77 {
78  nsresult rv;
79 
80  // Get the device manager.
81  nsCOMPtr<sbIDeviceManager2>
82  manager = do_GetService("@songbirdnest.com/Songbird/DeviceManager;2", &rv);
83  NS_ENSURE_SUCCESS(rv, rv);
84 
85  // Use the device manager as the event target.
86  nsCOMPtr<sbIDeviceEventTarget> eventTarget = do_QueryInterface(manager, &rv);
87  NS_ENSURE_SUCCESS(rv, rv);
88 
89  // Create the event.
90  nsCOMPtr<sbIDeviceEvent> event;
91  rv = manager->CreateEvent(aType,
92  aData,
93  aOrigin,
94  aDeviceState,
96  getter_AddRefs(event));
97  NS_ENSURE_SUCCESS(rv, rv);
98 
99  // Dispatch the event.
100  PRBool dispatched;
101  rv = eventTarget->DispatchEvent(event, aAsync, &dispatched);
102  NS_ENSURE_SUCCESS(rv, rv);
103 
104  return NS_OK;
105 }
106 
return NS_OK
nsresult CreateAndDispatchDeviceManagerEvent(PRUint32 aType, nsIVariant *aData, nsISupports *aOrigin, PRUint32 aDeviceState, PRBool aAsync)
Definition: sbIPDUtils.cpp:72
Songbird iPod Device Utility Definitions.
var event
const unsigned long STATE_IDLE
Definition: sbIDevice.idl:220
_updateTextAndScrollDataForFrame aData