Coordinator.h revision dc981333b38f47f416b9b810dc80e5cf2d7ac68a
1#ifndef COORDINATOR_H_
2
3#define COORDINATOR_H_
4
5#include <android-base/macros.h>
6#include <string>
7#include <utils/KeyedVector.h>
8
9namespace android {
10
11struct AST;
12struct FQName;
13struct Type;
14
15struct Coordinator {
16    Coordinator(const std::string &interfacesPath);
17    ~Coordinator();
18
19    AST *parse(const FQName &fqName);
20
21    Type *lookupType(const FQName &fqName) const;
22
23    std::string getPackagePath(const FQName &fqName) const;
24
25private:
26    std::string mInterfacesPath;
27    KeyedVector<FQName, AST *> mCache;
28
29    DISALLOW_COPY_AND_ASSIGN(Coordinator);
30};
31
32}  // namespace android
33
34#endif  // COORDINATOR_H_
35