/* * Copyright (C) 2018, The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #pragma once #include <memory> #include <string> #include "aidl_language.h" #include "options.h" namespace android { namespace aidl { namespace ndk { void GenerateNdk(const string& output_file, const Options& options, const AidlTypenames& types, const AidlDefinedType& defined_type, const IoDelegate& io_delegate); namespace internals { void GenerateSource(CodeWriter& out, const AidlTypenames& types, const AidlInterface& defined_type, const Options& options); void GenerateClassSource(CodeWriter& out, const AidlTypenames& types, const AidlInterface& defined_type, const Options& options); void GenerateClientSource(CodeWriter& out, const AidlTypenames& types, const AidlInterface& defined_type, const Options& options); void GenerateServerSource(CodeWriter& out, const AidlTypenames& types, const AidlInterface& defined_type, const Options& options); void GenerateInterfaceSource(CodeWriter& out, const AidlTypenames& types, const AidlInterface& defined_type, const Options& options); void GenerateClientHeader(CodeWriter& out, const AidlTypenames& types, const AidlInterface& defined_type, const Options& options); void GenerateServerHeader(CodeWriter& out, const AidlTypenames& types, const AidlInterface& defined_type, const Options& options); void GenerateInterfaceHeader(CodeWriter& out, const AidlTypenames& types, const AidlInterface& defined_type, const Options& options); void GenerateParcelHeader(CodeWriter& out, const AidlTypenames& types, const AidlStructuredParcelable& defined_type, const Options& options); void GenerateParcelSource(CodeWriter& out, const AidlTypenames& types, const AidlStructuredParcelable& defined_type, const Options& options); } // namespace internals } // namespace ndk } // namespace aidl } // namespace android