1e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood/*
2e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood * Copyright (C) 2010 The Android Open Source Project
3e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood *
4e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood * Licensed under the Apache License, Version 2.0 (the "License");
5e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood * you may not use this file except in compliance with the License.
6e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood * You may obtain a copy of the License at
7e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood *
8e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood *      http://www.apache.org/licenses/LICENSE-2.0
9e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood *
10e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood * Unless required by applicable law or agreed to in writing, software
11e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood * distributed under the License is distributed on an "AS IS" BASIS,
12e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood * See the License for the specific language governing permissions and
14e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood * limitations under the License.
15e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood */
16e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood
17e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood#ifndef _MTP_OBJECT_INFO_H
18e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood#define _MTP_OBJECT_INFO_H
19e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood
20e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood#include "MtpTypes.h"
21e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood
22e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwoodnamespace android {
23e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood
24e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwoodclass MtpDataPacket;
25e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood
26e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwoodclass MtpObjectInfo {
27e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwoodpublic:
28e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    MtpObjectHandle     mHandle;
29e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    MtpStorageID        mStorageID;
30e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    MtpObjectFormat     mFormat;
31e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    uint16_t            mProtectionStatus;
32e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    uint32_t            mCompressedSize;
33e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    MtpObjectFormat     mThumbFormat;
34e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    uint32_t            mThumbCompressedSize;
35e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    uint32_t            mThumbPixWidth;
36e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    uint32_t            mThumbPixHeight;
37e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    uint32_t            mImagePixWidth;
38e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    uint32_t            mImagePixHeight;
39e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    uint32_t            mImagePixDepth;
40e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    MtpObjectHandle     mParent;
41e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    uint16_t            mAssociationType;
42e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    uint32_t            mAssociationDesc;
43e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    uint32_t            mSequenceNumber;
44e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    char*               mName;
45e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    time_t              mDateCreated;
46e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    time_t              mDateModified;
47e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    char*               mKeywords;
48e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood
49e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwoodpublic:
50e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood                        MtpObjectInfo(MtpObjectHandle handle);
51e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    virtual             ~MtpObjectInfo();
52e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood
53ab063847e6e893740749029a04cce1f6b7345ed5Mike Lockwood    bool                read(MtpDataPacket& packet);
54e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood
55e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood    void                print();
56e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood};
57e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood
58e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood}; // namespace android
59e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood
60e13401bf532c7e4bf9ab82c7e9b13642838a927dMike Lockwood#endif // _MTP_OBJECT_INFO_H
61