summaryrefslogtreecommitdiff
path: root/tools/aidl/options.h
blob: 65d0961d27fc90a2cd0969f9e29322b182167a4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef AIDL_OPTIONS_H_
#define AIDL_OPTIONS_H_

#include <string.h>
#include <string>
#include <vector>

using std::string;
using std::vector;

enum {
    COMPILE_AIDL,
    PREPROCESS_AIDL
};

// This struct is the parsed version of the command line options
struct Options
{
    int task{COMPILE_AIDL};
    bool failOnParcelable{false};
    vector<string> importPaths;
    vector<string> preprocessedFiles;
    string inputFileName;
    string outputFileName;
    string outputBaseFolder;
    string depFileName;
    bool autoDepFile{false};

    vector<string> filesToPreprocess;
};

// takes the inputs from the command line and fills in the Options struct
// Returns 0 on success, and nonzero on failure.
// It also prints the usage statement on failure.
int parse_options(int argc, const char* const* argv, Options *options);

#endif // AIDL_OPTIONS_H_