Index: chromeos/dbus/media_transfer_protocol_daemon_client.h |
=================================================================== |
--- chromeos/dbus/media_transfer_protocol_daemon_client.h (revision 155895) |
+++ chromeos/dbus/media_transfer_protocol_daemon_client.h (working copy) |
@@ -18,9 +18,11 @@ |
#include "chromeos/chromeos_export.h" |
#include "chromeos/dbus/dbus_client_implementation_type.h" |
+class MtpFileEntry; |
+class MtpStorageInfo; |
+ |
namespace dbus { |
class Bus; |
-class Response; |
} |
namespace chromeos { |
@@ -30,137 +32,6 @@ |
OPEN_STORAGE_MODE_READ_ONLY, |
}; |
-// Values match libmtp values unless noted below. |
-// TODO(thestig) See if we can do better than this. |
-enum FileType { |
- FILE_TYPE_FOLDER = 0, |
- FILE_TYPE_JPEG = 14, |
- FILE_TYPE_JFIF = 15, |
- FILE_TYPE_TIFF = 16, |
- FILE_TYPE_BMP = 17, |
- FILE_TYPE_GIF = 18, |
- FILE_TYPE_PICT = 19, |
- FILE_TYPE_PNG = 20, |
- FILE_TYPE_WINDOWSIMAGEFORMAT = 25, |
- FILE_TYPE_JP2 = 40, |
- FILE_TYPE_JPX = 41, |
- // Truly unknown file type. |
- FILE_TYPE_UNKNOWN = 44, |
- // There's more file types to map to, but right now they are not interesting. |
- // Just assign a dummy value for now. |
- FILE_TYPE_OTHER = 9999 |
-}; |
- |
-// A class to represent information about a storage sent from mtpd. |
-class CHROMEOS_EXPORT StorageInfo { |
- public: |
- StorageInfo(); |
- StorageInfo(const std::string& storage_name, dbus::Response* response); |
- ~StorageInfo(); |
- |
- // Storage name. (e.g. usb:1,5:65537) |
- const std::string& storage_name() const { return storage_name_; } |
- |
- // Vendor. (e.g. Kodak) |
- const std::string& vendor() const { return vendor_; } |
- |
- // Vendor ID. (e.g. 0x040a) |
- uint16 vendor_id() const { return vendor_id_; } |
- |
- // Product. (e.g. DC4800) |
- const std::string& product() const { return product_; } |
- |
- // Vendor ID. (e.g. 0x0160) |
- uint16 product_id() const { return product_id_; } |
- |
- // Device flags as defined by libmtp. |
- uint32 device_flags() const { return device_flags_; } |
- |
- // Storage type as defined in libmtp. (e.g. PTP_ST_FixedROM) |
- uint16 storage_type() const { return storage_type_; } |
- |
- // File system type as defined in libmtp. (e.g. PTP_FST_DCF) |
- uint16 filesystem_type() const { return filesystem_type_; } |
- |
- // Access capability as defined in libmtp. (e.g. PTP_AC_ReadWrite) |
- uint16 access_capability() const { return access_capability_; } |
- |
- // Max capacity in bytes. |
- uint64 max_capacity() const { return max_capacity_; } |
- |
- // Free space in byte. |
- uint64 free_space_in_bytes() const { return free_space_in_bytes_; } |
- |
- // Free space in number of objects. |
- uint64 free_space_in_objects() const { return free_space_in_objects_; } |
- |
- // Storage description. (e.g. internal memory) |
- const std::string& storage_description() const { |
- return storage_description_; |
- } |
- |
- // Volume identifier. (e.g. the serial number, should be unique) |
- const std::string& volume_identifier() const { return volume_identifier_; } |
- |
- private: |
- void InitializeFromResponse(dbus::Response* response); |
- |
- // Device info. (A device can have multiple storages) |
- std::string vendor_; |
- uint16 vendor_id_; |
- std::string product_; |
- uint16 product_id_; |
- uint32 device_flags_; |
- |
- // Storage info. |
- std::string storage_name_; |
- uint16 storage_type_; |
- uint16 filesystem_type_; |
- uint16 access_capability_; |
- uint64 max_capacity_; |
- uint64 free_space_in_bytes_; |
- uint64 free_space_in_objects_; |
- std::string storage_description_; |
- std::string volume_identifier_; |
-}; |
- |
-// A class to represent information about a file entry sent from mtpd. |
-class CHROMEOS_EXPORT FileEntry { |
- public: |
- FileEntry(); |
- explicit FileEntry(dbus::Response* response); |
- ~FileEntry(); |
- |
- // ID for the file. |
- uint32 item_id() const { return item_id_; } |
- |
- // ID for the file's parent. |
- uint32 parent_id() const { return parent_id_; } |
- |
- // Name of the file. |
- const std::string& file_name() const { return file_name_; } |
- |
- // Size of the file. |
- uint64 file_size() const { return file_size_; } |
- |
- // Modification time of the file. |
- base::Time modification_date() const { return modification_date_; } |
- |
- // File type. |
- FileType file_type() const { return file_type_; } |
- |
- private: |
- void InitializeFromResponse(dbus::Response* response); |
- |
- // Storage info. |
- uint32 item_id_; |
- uint32 parent_id_; |
- std::string file_name_; |
- uint64 file_size_; |
- base::Time modification_date_; |
- FileType file_type_; |
-}; |
- |
// A class to make the actual DBus calls for mtpd service. |
// This class only makes calls, result/error handling should be done |
// by callbacks. |
@@ -176,7 +47,7 @@ |
// A callback to handle the result of GetStorageInfo. |
// The argument is the information about the specified storage. |
- typedef base::Callback<void(const StorageInfo& storage_info) |
+ typedef base::Callback<void(const MtpStorageInfo& storage_info) |
> GetStorageInfoCallback; |
// A callback to handle the result of OpenStorage. |
@@ -188,7 +59,7 @@ |
// A callback to handle the result of ReadDirectoryByPath/Id. |
// The argument is a vector of file entries. |
- typedef base::Callback<void(const std::vector<FileEntry>& file_entries) |
+ typedef base::Callback<void(const std::vector<MtpFileEntry>& file_entries) |
> ReadDirectoryCallback; |
// A callback to handle the result of ReadFileByPath/Id. |
@@ -198,7 +69,7 @@ |
// A callback to handle the result of GetFileInfoByPath/Id. |
// The argument is a file entry. |
- typedef base::Callback<void(const FileEntry& file_entry) |
+ typedef base::Callback<void(const MtpFileEntry& file_entry) |
> GetFileInfoCallback; |
// A callback to handle storage attach/detach events. |