summaryrefslogtreecommitdiffstats
path: root/LibOVR/Src/OVR_Win32_DeviceStatus.h
diff options
context:
space:
mode:
authorBrad Davis <[email protected]>2013-07-03 09:16:03 -0700
committerBrad Davis <[email protected]>2013-07-03 09:16:03 -0700
commitd46694c91c2bec4eb1e282c0c0101e6dab26e082 (patch)
treeeb5fba71edf1aedc0d6af9406881004289433b20 /LibOVR/Src/OVR_Win32_DeviceStatus.h
parent7fa8be4bc565adc9911c95c814480cc48bf2d13c (diff)
SDK 0.2.3
Diffstat (limited to 'LibOVR/Src/OVR_Win32_DeviceStatus.h')
-rw-r--r--LibOVR/Src/OVR_Win32_DeviceStatus.h202
1 files changed, 101 insertions, 101 deletions
diff --git a/LibOVR/Src/OVR_Win32_DeviceStatus.h b/LibOVR/Src/OVR_Win32_DeviceStatus.h
index 820e3a5..669a12e 100644
--- a/LibOVR/Src/OVR_Win32_DeviceStatus.h
+++ b/LibOVR/Src/OVR_Win32_DeviceStatus.h
@@ -1,101 +1,101 @@
-/************************************************************************************
-
-Filename : OVR_Win32_DeviceStatus.h
-Content : Win32-specific DeviceStatus header.
-Created : January 24, 2013
-Authors : Lee Cooper
-
-Copyright : Copyright 2013 Oculus VR, Inc. All Rights reserved.
-
-Use of this software is subject to the terms of the Oculus license
-agreement provided at the time of installation or download, or which
-otherwise accompanies this software in either electronic or hard copy form.
-
-*************************************************************************************/
-
-#ifndef OVR_Win32_DeviceStatus_h
-#define OVR_Win32_DeviceStatus_h
-
-#include <windows.h>
-#include "Kernel/OVR_String.h"
-#include "Kernel/OVR_RefCount.h"
-#include "Kernel/OVR_Array.h"
-
-namespace OVR { namespace Win32 {
-
-//-------------------------------------------------------------------------------------
-// ***** DeviceStatus
-//
-// DeviceStatus abstracts the handling of windows messages of interest for
-// example the WM_DEVICECHANGED message which occurs when a device is plugged/unplugged.
-// The device manager thread creates an instance of this class and passes its pointer
-// in the constructor. That thread is also responsible for periodically calling 'ProcessMessages'
-// to process queued windows messages. The client is notified via the 'OnMessage' method
-// declared in the 'DeviceMessages::Notifier' interface.
-class DeviceStatus : public RefCountBase<DeviceStatus>
-{
-public:
-
- // Notifier used for device messages.
- class Notifier
- {
- public:
- enum MessageType
- {
- DeviceAdded = 0,
- DeviceRemoved = 1,
- };
-
- virtual bool OnMessage(MessageType type, const String& devicePath)
- { OVR_UNUSED2(type, devicePath); return true; }
- };
-
- DeviceStatus(Notifier* const pClient);
- ~DeviceStatus();
-
- void operator = (const DeviceStatus&); // No assignment implementation.
-
- bool Initialize();
- void ShutDown();
-
- void ProcessMessages();
-
-private:
- enum
- {
- MaxUSBRecoveryAttempts = 20,
- USBRecoveryTimeInterval = 500 // ms
- };
- struct RecoveryTimerDesc
- {
- UINT_PTR TimerId;
- String DevicePath;
- unsigned NumAttempts;
- };
-
- static LRESULT CALLBACK WindowsMessageCallback( HWND hwnd,
- UINT message,
- WPARAM wParam,
- LPARAM lParam);
-
- bool MessageCallback(WORD messageType, const String& devicePath);
-
- void CleanupRecoveryTimer(UPInt index);
- RecoveryTimerDesc* FindRecoveryTimer(UINT_PTR timerId, UPInt* pindex);
- void FindAndCleanupRecoveryTimer(const String& devicePath);
-
-private: // data
- Notifier* const pNotificationClient; // Don't reference count a back-pointer.
-
- HWND hMessageWindow;
- HDEVNOTIFY hDeviceNotify;
-
- UINT_PTR LastTimerId;
- Array<RecoveryTimerDesc> RecoveryTimers;
-
- GUID HidGuid;
-};
-
-}} // namespace OVR::Win32
-
-#endif // OVR_Win32_DeviceStatus_h
+/************************************************************************************
+
+Filename : OVR_Win32_DeviceStatus.h
+Content : Win32-specific DeviceStatus header.
+Created : January 24, 2013
+Authors : Lee Cooper
+
+Copyright : Copyright 2013 Oculus VR, Inc. All Rights reserved.
+
+Use of this software is subject to the terms of the Oculus license
+agreement provided at the time of installation or download, or which
+otherwise accompanies this software in either electronic or hard copy form.
+
+*************************************************************************************/
+
+#ifndef OVR_Win32_DeviceStatus_h
+#define OVR_Win32_DeviceStatus_h
+
+#include <windows.h>
+#include "Kernel/OVR_String.h"
+#include "Kernel/OVR_RefCount.h"
+#include "Kernel/OVR_Array.h"
+
+namespace OVR { namespace Win32 {
+
+//-------------------------------------------------------------------------------------
+// ***** DeviceStatus
+//
+// DeviceStatus abstracts the handling of windows messages of interest for
+// example the WM_DEVICECHANGED message which occurs when a device is plugged/unplugged.
+// The device manager thread creates an instance of this class and passes its pointer
+// in the constructor. That thread is also responsible for periodically calling 'ProcessMessages'
+// to process queued windows messages. The client is notified via the 'OnMessage' method
+// declared in the 'DeviceMessages::Notifier' interface.
+class DeviceStatus : public RefCountBase<DeviceStatus>
+{
+public:
+
+ // Notifier used for device messages.
+ class Notifier
+ {
+ public:
+ enum MessageType
+ {
+ DeviceAdded = 0,
+ DeviceRemoved = 1,
+ };
+
+ virtual bool OnMessage(MessageType type, const String& devicePath)
+ { OVR_UNUSED2(type, devicePath); return true; }
+ };
+
+ DeviceStatus(Notifier* const pClient);
+ ~DeviceStatus();
+
+ void operator = (const DeviceStatus&); // No assignment implementation.
+
+ bool Initialize();
+ void ShutDown();
+
+ void ProcessMessages();
+
+private:
+ enum
+ {
+ MaxUSBRecoveryAttempts = 20,
+ USBRecoveryTimeInterval = 500 // ms
+ };
+ struct RecoveryTimerDesc
+ {
+ UINT_PTR TimerId;
+ String DevicePath;
+ unsigned NumAttempts;
+ };
+
+ static LRESULT CALLBACK WindowsMessageCallback( HWND hwnd,
+ UINT message,
+ WPARAM wParam,
+ LPARAM lParam);
+
+ bool MessageCallback(WORD messageType, const String& devicePath);
+
+ void CleanupRecoveryTimer(UPInt index);
+ RecoveryTimerDesc* FindRecoveryTimer(UINT_PTR timerId, UPInt* pindex);
+ void FindAndCleanupRecoveryTimer(const String& devicePath);
+
+private: // data
+ Notifier* const pNotificationClient; // Don't reference count a back-pointer.
+
+ HWND hMessageWindow;
+ HDEVNOTIFY hDeviceNotify;
+
+ UINT_PTR LastTimerId;
+ Array<RecoveryTimerDesc> RecoveryTimers;
+
+ GUID HidGuid;
+};
+
+}} // namespace OVR::Win32
+
+#endif // OVR_Win32_DeviceStatus_h