summaryrefslogtreecommitdiffstats
path: root/tools/aidl/generate_java.h
blob: 4bfcfeba07c86789b0833d1df5c6c5e57c64fb4b (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
#ifndef GENERATE_JAVA_H
#define GENERATE_JAVA_H

#include "aidl_language.h"
#include "AST.h"

#include <string>

using namespace std;

int generate_java(const string& filename, const string& originalSrc,
                interface_type* iface);

Class* generate_binder_interface_class(const interface_type* iface);
Class* generate_rpc_interface_class(const interface_type* iface);

string gather_comments(extra_text_type* extra);
string append(const char* a, const char* b);

class VariableFactory
{
public:
    VariableFactory(const string& base); // base must be short
    Variable* Get(Type* type);
    Variable* Get(int index);
private:
    vector<Variable*> m_vars;
    string m_base;
    int m_index;
};

#endif // GENERATE_JAVA_H