#ifndef DEVICE_SERIAL_SERIAL_DEVICE_ENUMERATOR_LINUX_H_
#define DEVICE_SERIAL_SERIAL_DEVICE_ENUMERATOR_LINUX_H_
#include <libudev.h>
#include "base/memory/scoped_ptr.h"
#include "device/serial/serial_device_enumerator.h"
#include "device/serial/serial_device_info.h"
namespace device {
class SerialDeviceEnumeratorLinux : public SerialDeviceEnumerator {
public:
SerialDeviceEnumeratorLinux();
virtual ~SerialDeviceEnumeratorLinux();
virtual void GetDevices(SerialDeviceInfoList* devices) OVERRIDE;
private:
struct UdevDeleter {
void operator()(udev* handle);
};
scoped_ptr<udev, UdevDeleter> udev_;
DISALLOW_COPY_AND_ASSIGN(SerialDeviceEnumeratorLinux);
};
}
#endif