diff options
Diffstat (limited to 'mtp/MtpProperty.h')
-rw-r--r-- | mtp/MtpProperty.h | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/mtp/MtpProperty.h b/mtp/MtpProperty.h deleted file mode 100644 index 017d87567..000000000 --- a/mtp/MtpProperty.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - * 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. - * - * Copyright (C) 2014 TeamWin - bigbiff and Dees_Troy mtp database conversion to C++ - */ - -#ifndef _MTP_PROPERTY_H -#define _MTP_PROPERTY_H - -#include "MtpTypes.h" - - -class MtpDataPacket; - -struct MtpPropertyValue { - union { - int8_t i8; - uint8_t u8; - int16_t i16; - uint16_t u16; - int32_t i32; - uint32_t u32; - int64_t i64; - uint64_t u64; - int128_t i128; - uint128_t u128; - } u; - // string in UTF8 format - char* str; -}; - -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, - kFormDateTime = 3, - }; - - uint32_t mGroupCode; - uint8_t mFormFlag; - - // for range form - MtpPropertyValue mMinimumValue; - MtpPropertyValue mMaximumValue; - MtpPropertyValue mStepSize; - - // for enum form - int mEnumLength; - MtpPropertyValue* mEnumValues; - -public: - MtpProperty(); - MtpProperty(MtpPropertyCode propCode, - MtpDataType type, - bool writeable = false, - int defaultValue = 0); - virtual ~MtpProperty(); - - inline MtpPropertyCode getPropertyCode() const { return mCode; } - - void read(MtpDataPacket& packet); - void write(MtpDataPacket& packet); - - void setDefaultValue(const uint16_t* string); - void setCurrentValue(const uint16_t* string); - - void setFormRange(int min, int max, int step); - void setFormEnum(const int* values, int count); - void setFormDateTime(); - - void print(); - void print(MtpPropertyValue& value, MtpString& buffer); - - inline bool isDeviceProperty() const { - return ( ((mCode & 0xF000) == 0x5000) - || ((mCode & 0xF800) == 0xD000)); - } - -private: - void readValue(MtpDataPacket& packet, MtpPropertyValue& value); - void writeValue(MtpDataPacket& packet, MtpPropertyValue& value); - MtpPropertyValue* readArrayValues(MtpDataPacket& packet, int& length); - void writeArrayValues(MtpDataPacket& packet, - MtpPropertyValue* values, int length); -}; - - -#endif // _MTP_PROPERTY_H |