blob: 387e37d08732215503cd9cd9f85bb6191f64246f [file] [log] [blame]
The Android Open Source Project54b6cfa2008-10-21 07:00:00 -07001#ifndef DEVICE_TOOLS_AIDL_H
2#define DEVICE_TOOLS_AIDL_H
3
Alexey Zaytsev0aa7fe62008-10-21 23:52:01 +04004#include <string.h>
The Android Open Source Project54b6cfa2008-10-21 07:00:00 -07005#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;
The Android Open Source Projectba87e3e2009-03-13 13:04:22 -070024 string outputBaseFolder;
The Android Open Source Project54b6cfa2008-10-21 07:00:00 -070025 string depFileName;
Xavier Ducrohet18fff112011-08-25 11:58:17 -070026 bool autoDepFile;
The Android Open Source Project54b6cfa2008-10-21 07:00:00 -070027
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