MtpObjectInfo.h revision ab063847e6e893740749029a04cce1f6b7345ed5
103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)/*
203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) * Copyright (C) 2010 The Android Open Source Project
303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) *
403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) * Licensed under the Apache License, Version 2.0 (the "License");
503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) * you may not use this file except in compliance with the License.
603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) * You may obtain a copy of the License at
703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) *
803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) *      http://www.apache.org/licenses/LICENSE-2.0
903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) *
1003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) * Unless required by applicable law or agreed to in writing, software
1103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) * distributed under the License is distributed on an "AS IS" BASIS,
1203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) * See the License for the specific language governing permissions and
1403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) * limitations under the License.
1503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) */
1603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
1703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#ifndef _MTP_OBJECT_INFO_H
1803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#define _MTP_OBJECT_INFO_H
1903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
2003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "MtpTypes.h"
2103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
2203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)namespace android {
2303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
2403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)class MtpDataPacket;
2503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
2603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)class MtpObjectInfo {
2703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)public:
2803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    MtpObjectHandle     mHandle;
2903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    MtpStorageID        mStorageID;
3003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    MtpObjectFormat     mFormat;
3103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    uint16_t            mProtectionStatus;
3203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    uint32_t            mCompressedSize;
3303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    MtpObjectFormat     mThumbFormat;
3403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    uint32_t            mThumbCompressedSize;
3503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    uint32_t            mThumbPixWidth;
3603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    uint32_t            mThumbPixHeight;
3703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    uint32_t            mImagePixWidth;
3803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    uint32_t            mImagePixHeight;
3903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    uint32_t            mImagePixDepth;
4003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    MtpObjectHandle     mParent;
4103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    uint16_t            mAssociationType;
4203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    uint32_t            mAssociationDesc;
4303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    uint32_t            mSequenceNumber;
4403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    char*               mName;
4503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    time_t              mDateCreated;
4603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    time_t              mDateModified;
4703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    char*               mKeywords;
4803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
4903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)public:
5003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)                        MtpObjectInfo(MtpObjectHandle handle);
5103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    virtual             ~MtpObjectInfo();
5203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
5303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    bool                read(MtpDataPacket& packet);
5403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
5503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    void                print();
5603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)};
5703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
5803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)}; // namespace android
5903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
6003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#endif // _MTP_OBJECT_INFO_H
6103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)