- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / media_galleries / win / mtp_device_object_entry.h
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_MEDIA_GALLERIES_WIN_MTP_DEVICE_OBJECT_ENTRY_H_
6 #define CHROME_BROWSER_MEDIA_GALLERIES_WIN_MTP_DEVICE_OBJECT_ENTRY_H_
7
8 #include <vector>
9
10 #include "base/basictypes.h"
11 #include "base/strings/string16.h"
12 #include "base/time/time.h"
13
14 // MTPDeviceObjectEntry contains the media transfer protocol device object
15 // property values that are obtained using
16 // IPortableDeviceProperties::GetValues().
17 struct MTPDeviceObjectEntry {
18   MTPDeviceObjectEntry();  // Necessary for STL.
19   MTPDeviceObjectEntry(const string16& object_id,
20                        const string16& object_name,
21                        bool is_directory,
22                        int64 size,
23                        const base::Time& last_modified_time);
24
25   // The object identifier obtained using IEnumPortableDeviceObjectIDs::Next(),
26   // e.g. "o299".
27   string16 object_id;
28
29   // Friendly name of the object, e.g. "IMG_9911.jpeg".
30   string16 name;
31
32   // True if the current object is a directory/folder/album content type.
33   bool is_directory;
34
35   // The object file size in bytes, e.g. "882992".
36   int64 size;
37
38   // Last modified time of the object.
39   base::Time last_modified_time;
40 };
41
42 typedef std::vector<MTPDeviceObjectEntry> MTPDeviceObjectEntries;
43
44 #endif  // CHROME_BROWSER_MEDIA_GALLERIES_WIN_MTP_DEVICE_OBJECT_ENTRY_H_