1#ifndef DEVICE_TOOLS_AIDL_H
2#define DEVICE_TOOLS_AIDL_H
3
4#include <string.h>
5#include <string>
6#include <vector>
7
8using namespace std;
9
10enum {
11    COMPILE_AIDL,
12    PREPROCESS_AIDL
13};
14
15// This struct is the parsed version of the command line options
16struct Options
17{
18    int task;
19    bool failOnParcelable;
20    vector<string> importPaths;
21    vector<string> preprocessedFiles;
22    string inputFileName;
23    string outputFileName;
24    string outputBaseFolder;
25    string depFileName;
26    bool autoDepFile;
27
28    vector<string> filesToPreprocess;
29};
30
31// takes the inputs from the command line and fills in the Options struct
32// Returns 0 on success, and nonzero on failure.
33// It also prints the usage statement on failure.
34int parse_options(int argc, const char* const* argv, Options *options);
35
36#endif // DEVICE_TOOLS_AIDL_H
37