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