11941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn/* 21941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn * Copyright (C) 2016 The Android Open Source Project 31941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn * 41941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn * Licensed under the Apache License, Version 2.0 (the "License"); 51941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn * you may not use this file except in compliance with the License. 61941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn * You may obtain a copy of the License at 71941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn * 81941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn * http://www.apache.org/licenses/LICENSE-2.0 91941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn * 101941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn * Unless required by applicable law or agreed to in writing, software 111941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn * distributed under the License is distributed on an "AS IS" BASIS, 121941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn * See the License for the specific language governing permissions and 141941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn * limitations under the License. 151941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn */ 161941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn 171941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn// 181941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn#ifndef ANDROID_ISHELL_CALLBACK_H 191941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn#define ANDROID_ISHELL_CALLBACK_H 201941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn 211941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn#include <binder/IInterface.h> 221941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn 231941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackbornnamespace android { 241941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn 251941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn// ---------------------------------------------------------------------- 261941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn 271941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackbornclass IShellCallback : public IInterface 281941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn{ 291941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackbornpublic: 301941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn DECLARE_META_INTERFACE(ShellCallback); 311941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn 321941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn virtual int openOutputFile(const String16& path, const String16& seLinuxContext) = 0; 331941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn 341941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn enum { 351941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn OP_OPEN_OUTPUT_FILE = IBinder::FIRST_CALL_TRANSACTION 361941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn }; 371941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn}; 381941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn 391941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn// ---------------------------------------------------------------------- 401941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn 411941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackbornclass BnShellCallback : public BnInterface<IShellCallback> 421941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn{ 431941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackbornpublic: 441941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn virtual status_t onTransact( uint32_t code, 451941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn const Parcel& data, 461941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn Parcel* reply, 471941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn uint32_t flags = 0); 481941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn}; 491941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn 501941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn// ---------------------------------------------------------------------- 511941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn 521941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn}; // namespace android 531941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn 541941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn#endif // ANDROID_ISHELL_CALLBACK_H 551941a404d642b3dfaac365ba494f1e9912876f00Dianne Hackborn 56