AudioClient.h revision 21da647792c0b78ab3943be0f32066015d5e8c34
1/* 2 * Copyright (C) 2017 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 18#ifndef ANDROID_AUDIO_CLIENT_H 19#define ANDROID_AUDIO_CLIENT_H 20 21#include <binder/Parcel.h> 22#include <system/audio.h> 23#include <utils/String16.h> 24 25namespace android { 26 27class AudioClient { 28 public: 29 AudioClient() : 30 clientUid(-1), clientPid(-1), clientTid(-1), packageName("") {} 31 32 uid_t clientUid; 33 pid_t clientPid; 34 pid_t clientTid; 35 String16 packageName; 36 37 status_t readFromParcel(Parcel *parcel) { 38 clientUid = parcel->readInt32(); 39 clientPid = parcel->readInt32(); 40 clientTid = parcel->readInt32(); 41 packageName = parcel->readString16(); 42 return NO_ERROR; 43 } 44 45 status_t writeToParcel(Parcel *parcel) const { 46 parcel->writeInt32(clientUid); 47 parcel->writeInt32(clientPid); 48 parcel->writeInt32(clientTid); 49 parcel->writeString16(packageName); 50 return NO_ERROR; 51 } 52}; 53 54}; // namespace android 55 56#endif // ANDROID_AUDIO_CLIENT_H 57