Chromium Code Reviews| Index: udev-device.h |
| diff --git a/udev-device.h b/udev-device.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..a2a1eacbdce985ff40e69e7b209cf8b2bc31791a |
| --- /dev/null |
| +++ b/udev-device.h |
| @@ -0,0 +1,64 @@ |
| +// Copyright (c) 2011 The Chromium OS Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CHOS_DISKS_UDEV_DEVICE_H_ |
| +#define CROS_DISKS_UDEV_DEVICE_H_ |
| + |
| +#include <base/basictypes.h> |
| +#include <string> |
| +#include <vector> |
| + |
| +#include "disk.h" |
| + |
| +struct udev_device; |
| + |
| +namespace cros_disks { |
| + |
| +// A utility class that helps query information about a udev device. |
| +class UdevDevice { |
| + public: |
| + |
| + UdevDevice(struct udev_device *dev); |
| + ~UdevDevice(); |
| + |
| + // Gets the string value of a device attribute. |
| + std::string GetAttribute(const char *key) const; |
| + |
| + // Checks if the value of a device attribute represents a Boolean true. |
| + bool IsAttributeTrue(const char *key) const; |
| + |
| + // Checks if a device attribute exists. |
| + bool HasAttribute(const char *key) const; |
| + |
| + // Gets the string value of a device property. |
| + std::string GetProperty(const char *key) const; |
| + |
| + // Checks if the value of a device property represents a Boolean true. |
| + bool IsPropertyTrue(const char *key) const; |
| + |
| + // Checks if a device property exists. |
| + bool HasProperty(const char *key) const; |
| + |
| + // Gets the total and remaining capacity of the device. |
| + void GetSizeInfo(uint64 *total_size, uint64 *remaining_size) const; |
| + |
| + // Checks if any media is available in the device. |
| + bool IsMediaAvailable() const; |
| + |
| + // Gets the mounted paths for the device. |
| + std::vector<std::string> GetMountedPaths() const; |
| + |
| + // Returns a Disk object based on the device information. |
| + Disk ToDisk() const; |
| + |
| + private: |
| + |
| + bool IsValueBooleanTrue(const char *value) const; |
| + |
| + mutable struct udev_device *dev_; |
|
rtc
2011/04/12 21:12:01
Can this be const?
Ben Chan
2011/04/12 21:18:46
Unfortunately, all udev_device_* function takes a
|
| +}; |
| + |
| +} // namespace cros_disks |
| + |
| +#endif // CROS_DISKS_UDEV_DEVICE_H_ |