1 /* 2 * Copyright (C) 2018 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #include <storage/ObbInfo.h> 18 19 #include <binder/Parcel.h> 20 #include <utils/String16.h> 21 #include <sys/types.h> 22 23 namespace android { 24 25 ObbInfo::ObbInfo(const String16 fileName, const String16 packageName, int32_t version, 26 int32_t flags, size_t saltSize, const uint8_t* salt) : mFileName(fileName), 27 mPackageName(packageName), mVersion(version), mFlags(flags), mSaltSize(saltSize), 28 mSalt(salt) {} 29 30 ObbInfo::~ObbInfo() {} 31 32 status_t ObbInfo::readFromParcel(const Parcel*) { 33 return INVALID_OPERATION; 34 } 35 36 status_t ObbInfo::writeToParcel(Parcel* p) const { 37 // Parcel write code must be kept in sync with 38 // frameworks/base/core/java/android/content/res/ObbInfo.java 39 p->writeString16(mFileName); 40 p->writeString16(mPackageName); 41 p->writeInt32(mVersion); 42 p->writeInt32(mFlags); 43 p->writeByteArray(mSaltSize, mSalt); 44 return OK; 45 } 46 47 }; // namespace android