summaryrefslogtreecommitdiffstats
path: root/media/mtp/MtpProperty.h
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2010-06-05 22:45:01 -0400
committerMike Lockwood <lockwood@android.com>2010-06-07 09:34:41 -0400
commita6c490b8b2d96ebaab632286029463f932ae3b6b (patch)
tree05f47b431aa13127a4f62d9676d21f45169a7d9f /media/mtp/MtpProperty.h
parent7dfffd78637f99ce396e7ce2008b05b2d5aec131 (diff)
downloadframeworks_av-a6c490b8b2d96ebaab632286029463f932ae3b6b.zip
frameworks_av-a6c490b8b2d96ebaab632286029463f932ae3b6b.tar.gz
frameworks_av-a6c490b8b2d96ebaab632286029463f932ae3b6b.tar.bz2
MTP: host support for retrieving device property descriptors
Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'media/mtp/MtpProperty.h')
-rw-r--r--media/mtp/MtpProperty.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/media/mtp/MtpProperty.h b/media/mtp/MtpProperty.h
new file mode 100644
index 0000000..6372290
--- /dev/null
+++ b/media/mtp/MtpProperty.h
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MTP_PROPERTY_H
+#define _MTP_PROPERTY_H
+
+#include "MtpTypes.h"
+
+namespace android {
+
+class MtpDataPacket;
+
+class MtpProperty {
+public:
+ MtpPropertyCode mCode;
+ MtpDataType mType;
+ bool mWriteable;
+ MtpPropertyValue mDefaultValue;
+ MtpPropertyValue mCurrentValue;
+
+ // for array types
+ int mDefaultArrayLength;
+ MtpPropertyValue* mDefaultArrayValues;
+ int mCurrentArrayLength;
+ MtpPropertyValue* mCurrentArrayValues;
+
+ enum {
+ kFormNone = 0,
+ kFormRange = 1,
+ kFormEnum = 2,
+ };
+ uint8_t mFormFlag;
+
+ // for range form
+ MtpPropertyValue mMinimumValue;
+ MtpPropertyValue mMaximumValue;
+ MtpPropertyValue mStepSize;
+
+ // for enum form
+ int mEnumLength;
+ MtpPropertyValue* mEnumValues;
+
+public:
+ MtpProperty();
+ virtual ~MtpProperty();
+
+ void read(MtpDataPacket& packet);
+
+ void print();
+
+private:
+ void readValue(MtpDataPacket& packet, MtpPropertyValue& value);
+ MtpPropertyValue* readArrayValues(MtpDataPacket& packet, int& length);
+};
+
+}; // namespace android
+
+#endif // _MTP_PROPERTY_H