blob: 7b78305ad6cd00f07b351aec099cd3f5fe7df240 [file] [log] [blame]
Andreas Huberc9410c72016-07-28 12:18:40 -07001#ifndef STRING_TYPE_H_
2
3#define STRING_TYPE_H_
4
5#include "Type.h"
6
7namespace android {
8
9struct StringType : public Type {
10 StringType();
11
Andreas Huber881227d2016-08-02 14:20:21 -070012 std::string getCppType(StorageMode mode, std::string *extra) const override;
13
Andreas Huber2831d512016-08-15 09:33:47 -070014 std::string getJavaType() const override;
15 std::string getJavaSuffix() const override;
16
Andreas Huber881227d2016-08-02 14:20:21 -070017 void emitReaderWriter(
18 Formatter &out,
19 const std::string &name,
20 const std::string &parcelObj,
21 bool parcelObjIsPointer,
22 bool isReader,
23 ErrorMode mode) const override;
24
25 void emitReaderWriterEmbedded(
26 Formatter &out,
27 const std::string &name,
28 bool nameIsPointer,
29 const std::string &parcelObj,
30 bool parcelObjIsPointer,
31 bool isReader,
32 ErrorMode mode,
33 const std::string &parentName,
34 const std::string &offsetText) const override;
35
36 bool needsEmbeddedReadWrite() const override;
37 bool resultNeedsDeref() const override;
Zhuoyao Zhang5158db42016-08-10 10:25:20 -070038
39 status_t emitVtsTypeDeclarations(Formatter &out) const override;
Andreas Huberc9410c72016-07-28 12:18:40 -070040};
41
42} // namespace android
43
44#endif // STRING_TYPE_H_
45