154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project#ifndef DEVICE_TOOLS_AIDL_H 254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project#define DEVICE_TOOLS_AIDL_H 354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 40aa7fe6876d533610b4b993035030b946cc32e4cAlexey Zaytsev#include <string.h> 554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project#include <string> 654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project#include <vector> 754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectusing namespace std; 954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 1054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectenum { 1154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project COMPILE_AIDL, 1254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project PREPROCESS_AIDL 1354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project}; 1454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 1554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project// This struct is the parsed version of the command line options 1654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectstruct Options 1754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project{ 1854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project int task; 1954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project bool failOnParcelable; 2054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project vector<string> importPaths; 2154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project vector<string> preprocessedFiles; 2254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project string inputFileName; 2354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project string outputFileName; 24ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project string outputBaseFolder; 2554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project string depFileName; 2618fff11e15dc1b4fe53cb37fa39637aa3fb9bc36Xavier Ducrohet bool autoDepFile; 2754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 2854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project vector<string> filesToPreprocess; 2954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project}; 3054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 3154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project// takes the inputs from the command line and fills in the Options struct 3254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project// Returns 0 on success, and nonzero on failure. 3354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project// It also prints the usage statement on failure. 3454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectint parse_options(int argc, const char* const* argv, Options *options); 3554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 3654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project#endif // DEVICE_TOOLS_AIDL_H 37