MediaResource.cpp revision ea15fd29af81490311af9e12949b43524c39400e
1231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu/* 2231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * Copyright 2015 The Android Open Source Project 3231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * 4231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * Licensed under the Apache License, Version 2.0 (the "License"); 5231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * you may not use this file except in compliance with the License. 6231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * You may obtain a copy of the License at 7231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * 8231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * http://www.apache.org/licenses/LICENSE-2.0 9231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * 10231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * Unless required by applicable law or agreed to in writing, software 11231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * distributed under the License is distributed on an "AS IS" BASIS, 12231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * See the License for the specific language governing permissions and 14231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu * limitations under the License. 15231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu */ 16231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 17231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu//#define LOG_NDEBUG 0 18231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu#define LOG_TAG "MediaResource" 19231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu#include <utils/Log.h> 20231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu#include <media/MediaResource.h> 21231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 22231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wunamespace android { 23231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 24ea15fd29af81490311af9e12949b43524c39400eRonghua WuMediaResource::MediaResource() 25ea15fd29af81490311af9e12949b43524c39400eRonghua Wu : mType(kUnspecified), 26ea15fd29af81490311af9e12949b43524c39400eRonghua Wu mSubType(kUnspecifiedSubType), 27ea15fd29af81490311af9e12949b43524c39400eRonghua Wu mValue(0) {} 28231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 29ea15fd29af81490311af9e12949b43524c39400eRonghua WuMediaResource::MediaResource(Type type, uint64_t value) 30231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu : mType(type), 31ea15fd29af81490311af9e12949b43524c39400eRonghua Wu mSubType(kUnspecifiedSubType), 32231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu mValue(value) {} 33231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 34ea15fd29af81490311af9e12949b43524c39400eRonghua WuMediaResource::MediaResource(Type type, SubType subType, uint64_t value) 35231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu : mType(type), 36231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu mSubType(subType), 37231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu mValue(value) {} 38231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 39231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wuvoid MediaResource::readFromParcel(const Parcel &parcel) { 40ea15fd29af81490311af9e12949b43524c39400eRonghua Wu mType = static_cast<Type>(parcel.readInt32()); 41ea15fd29af81490311af9e12949b43524c39400eRonghua Wu mSubType = static_cast<SubType>(parcel.readInt32()); 42231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu mValue = parcel.readUint64(); 43231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu} 44231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 45231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wuvoid MediaResource::writeToParcel(Parcel *parcel) const { 46ea15fd29af81490311af9e12949b43524c39400eRonghua Wu parcel->writeInt32(static_cast<int32_t>(mType)); 47ea15fd29af81490311af9e12949b43524c39400eRonghua Wu parcel->writeInt32(static_cast<int32_t>(mSubType)); 48231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu parcel->writeUint64(mValue); 49231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu} 50231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 51231c3d169ad029689f9d688b68179af7e96b8d78Ronghua WuString8 MediaResource::toString() const { 52231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu String8 str; 53ea15fd29af81490311af9e12949b43524c39400eRonghua Wu str.appendFormat("%s/%s:%llu", asString(mType), asString(mSubType), (unsigned long long)mValue); 54231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu return str; 55231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu} 56231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 57231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wubool MediaResource::operator==(const MediaResource &other) const { 58231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu return (other.mType == mType) && (other.mSubType == mSubType) && (other.mValue == mValue); 59231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu} 60231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 61231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wubool MediaResource::operator!=(const MediaResource &other) const { 62231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu return !(*this == other); 63231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu} 64231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu 65231c3d169ad029689f9d688b68179af7e96b8d78Ronghua Wu}; // namespace android 66