1335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood/*
2335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood * Copyright (C) 2010 The Android Open Source Project
3335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood *
4335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood * Licensed under the Apache License, Version 2.0 (the "License");
5335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood * you may not use this file except in compliance with the License.
6335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood * You may obtain a copy of the License at
7335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood *
8335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood *      http://www.apache.org/licenses/LICENSE-2.0
9335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood *
10335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood * Unless required by applicable law or agreed to in writing, software
11335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood * distributed under the License is distributed on an "AS IS" BASIS,
12335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood * See the License for the specific language governing permissions and
14335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood * limitations under the License.
15335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood */
16335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood
17335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood#ifndef _MTP_DEVICE_INFO_H
18335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood#define _MTP_DEVICE_INFO_H
19335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood
20335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwoodstruct stat;
21335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood
22335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwoodnamespace android {
23335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood
24335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwoodclass MtpDataPacket;
25335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood
26335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwoodclass MtpDeviceInfo {
27335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwoodpublic:
28335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    uint16_t                mStandardVersion;
29335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    uint32_t                mVendorExtensionID;
30335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    uint16_t                mVendorExtensionVersion;
31335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    char*                   mVendorExtensionDesc;
32335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    uint16_t                mFunctionalCode;
33335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    UInt16List*             mOperations;
34335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    UInt16List*             mEvents;
35335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    MtpDevicePropertyList*  mDeviceProperties;
36335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    MtpObjectFormatList*    mCaptureFormats;
37335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    MtpObjectFormatList*    mPlaybackFormats;
38335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    char*                   mManufacturer;
39335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    char*                   mModel;
40335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    char*                   mVersion;
41335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    char*                   mSerial;
42335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood
43335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwoodpublic:
44335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood                            MtpDeviceInfo();
45335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    virtual                 ~MtpDeviceInfo();
46335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood
47335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    void                    read(MtpDataPacket& packet);
48335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood
49335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood    void                    print();
50335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood};
51335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood
52335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood}; // namespace android
53335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood
54335dd2be955607f2632eabc25045857f2cc8b674Mike Lockwood#endif // _MTP_DEVICE_INFO_H
55