27 #ifndef __SB_IPD_MARSHALL_H__
28 #define __SB_IPD_MARSHALL_H__
51 #include <sbIDeviceManager.h>
52 #include <sbIDeviceRegistrar.h>
55 #include <nsAutoLock.h>
56 #include <nsIClassInfo.h>
57 #include <nsInterfaceHashtable.h>
74 #define SB_IPDMARSHALL_CONTRACTID "@songbirdnest.com/Songbird/IPDMarshall;1"
75 #define SB_IPDMARSHALL_CLASSNAME "iPod Device Marshall"
76 #define SB_IPDMARSHALL_DESCRIPTION "iPod Device Marshall"
77 #define SB_IPDMARSHALL_CID \
82 { 0xae, 0x2b, 0x0f, 0xed, 0xb9, 0x47, 0xdf, 0x37 } \
113 NS_DECL_SBIDEVICEMARSHALL
142 ATOM mEventWindowClass;
149 nsresult EventInitialize();
151 void EventFinalize();
153 static LRESULT CALLBACK WindowEventHandler(HWND hwnd,
158 void _WindowEventHandler(HWND hwnd,
163 void HandleAddedEvent(
char aDriveLetter);
165 void HandleRemovedEvent(
char aDriveLetter);
178 nsCOMPtr<sbIDeviceManager2> mDeviceManager;
179 nsCOMPtr<sbIDeviceRegistrar> mDeviceRegistrar;
180 nsInterfaceHashtable<nsUint32HashKey, nsISupports>
188 nsresult Initialize();
192 nsresult ScanForConnectedDevices();
194 PRBool IsIPod(
char aDriveLetter);
NS_DECL_ISUPPORTS NS_DECL_SBIDEVICEMARSHALL NS_DECL_NSICLASSINFO sbIPDMarshall()