Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(373)

Unified Diff: device/hid/hid_service_linux.h

Issue 230503003: Udev-related methods are extracted from HidServiceLinux into individual service. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Cleanup. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « device/hid/hid_connection_linux.h ('k') | device/hid/hid_service_linux.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: device/hid/hid_service_linux.h
diff --git a/device/hid/hid_service_linux.h b/device/hid/hid_service_linux.h
index ae730cea7ef4f0404fc65076d77a6759df1fb130..7bffd0979979f8f82d1bacdc8f25a7436c0ea101 100644
--- a/device/hid/hid_service_linux.h
+++ b/device/hid/hid_service_linux.h
@@ -5,73 +5,33 @@
#ifndef DEVICE_HID_HID_SERVICE_LINUX_H_
#define DEVICE_HID_HID_SERVICE_LINUX_H_
-#include <libudev.h>
-
-#include <map>
-#include <string>
-
+#include "base/compiler_specific.h"
#include "base/macros.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/message_loop/message_pump_libevent.h"
+#include "device/hid/device_monitor_linux.h"
#include "device/hid/hid_device_info.h"
#include "device/hid/hid_service.h"
+struct udev_device;
+
namespace device {
class HidConnection;
-template<typename T, void func(T*)>
-void DiscardReturnType(T* arg) { func(arg); }
-template<typename T, T* func(T*)>
-void DiscardReturnType(T* arg) { func(arg); }
-
-template<typename T, void func(T*)>
-struct Deleter {
- void operator()(T* enumerate) const {
- if (enumerate != NULL)
- func(enumerate);
- }
-};
-
-typedef Deleter<
- udev_enumerate,
- DiscardReturnType<udev_enumerate, udev_enumerate_unref> >
- UdevEnumerateDeleter;
-typedef Deleter<
- udev_device,
- DiscardReturnType<udev_device, udev_device_unref> > UdevDeviceDeleter;
-typedef Deleter<udev, DiscardReturnType<udev, udev_unref> > UdevDeleter;
-typedef Deleter<
- udev_monitor,
- DiscardReturnType<udev_monitor, udev_monitor_unref> > UdevMonitorDeleter;
-
-typedef scoped_ptr<udev_device, UdevDeviceDeleter> ScopedUdevDevicePtr;
-typedef scoped_ptr<udev_enumerate, UdevEnumerateDeleter> ScopedUdevEnumeratePtr;
-
class HidServiceLinux : public HidService,
- public base::MessagePumpLibevent::Watcher {
+ public DeviceMonitorLinux::Observer {
public:
HidServiceLinux();
virtual scoped_refptr<HidConnection> Connect(const HidDeviceId& device_id)
OVERRIDE;
- // Implements base::MessagePumpLibevent::Watcher
- virtual void OnFileCanReadWithoutBlocking(int fd) OVERRIDE;
- virtual void OnFileCanWriteWithoutBlocking(int fd) OVERRIDE;
+ // Implements base::DeviceMonitorLinux::Observer:
+ virtual void OnDeviceAdded(udev_device* device) OVERRIDE;
+ virtual void OnDeviceRemoved(udev_device* device) OVERRIDE;
private:
virtual ~HidServiceLinux();
- void Enumerate();
- void PlatformAddDevice(udev_device* device);
- void PlatformRemoveDevice(udev_device* raw_dev);
-
- scoped_ptr<udev, UdevDeleter> udev_;
- scoped_ptr<udev_monitor, UdevMonitorDeleter> monitor_;
- int monitor_fd_;
- base::MessagePumpLibevent::FileDescriptorWatcher monitor_watcher_;
-
DISALLOW_COPY_AND_ASSIGN(HidServiceLinux);
};
« no previous file with comments | « device/hid/hid_connection_linux.h ('k') | device/hid/hid_service_linux.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698