TypeDef.h revision 881227d860c59471eee31d39946e96ce2daa35d6
1#ifndef TYPE_DEF_H_
2
3#define TYPE_DEF_H_
4
5#include "NamedType.h"
6
7namespace android {
8
9struct TypeDef : public NamedType {
10    TypeDef(const char *name, Type *type);
11
12    void dump(Formatter &out) const override;
13
14    const Type *referencedType() const;
15
16    std::string getCppType(StorageMode mode, std::string *extra) const override;
17
18    void emitReaderWriter(
19            Formatter &out,
20            const std::string &name,
21            const std::string &parcelObj,
22            bool parcelObjIsPointer,
23            bool isReader,
24            ErrorMode mode) const override;
25
26    void emitReaderWriterEmbedded(
27            Formatter &out,
28            const std::string &name,
29            bool nameIsPointer,
30            const std::string &parcelObj,
31            bool parcelObjIsPointer,
32            bool isReader,
33            ErrorMode mode,
34            const std::string &parentName,
35            const std::string &offsetText) const override;
36
37private:
38    Type *mReferencedType;
39
40    DISALLOW_COPY_AND_ASSIGN(TypeDef);
41};
42
43}  // namespace android
44
45#endif  // TYPE_DEF_H_
46
47