blob: 4745c355d8cd9d202a906202822c1b67c21edd21 [file] [log] [blame]
Adam Lesinski98aa3ad2015-04-06 11:46:52 -07001#ifndef AAPT_FLAG_H
2#define AAPT_FLAG_H
3
4#include "StringPiece.h"
5
6#include <functional>
7#include <string>
8#include <vector>
9
10namespace aapt {
11namespace flag {
12
13void requiredFlag(const StringPiece& name, const StringPiece& description,
14 std::function<void(const StringPiece&)> action);
15
16void optionalFlag(const StringPiece& name, const StringPiece& description,
17 std::function<void(const StringPiece&)> action);
18
Adam Lesinski5886a922015-04-15 20:29:22 -070019void optionalSwitch(const StringPiece& name, const StringPiece& description, bool resultWhenSet,
20 bool* result);
Adam Lesinski98aa3ad2015-04-06 11:46:52 -070021
Adam Lesinski769de982015-04-10 19:43:55 -070022void usageAndDie(const StringPiece& command);
23
Adam Lesinski98aa3ad2015-04-06 11:46:52 -070024void parse(int argc, char** argv, const StringPiece& command);
25
26const std::vector<std::string>& getArgs();
27
28} // namespace flag
29} // namespace aapt
30
31#endif // AAPT_FLAG_H