blob: c93f396b46769c40f65de25bc00547798b656857 [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
Andreas Huber85eabdb2016-08-25 11:24:49 -070036 void emitJavaFieldInitializer(
37 Formatter &out, const std::string &fieldName) const override;
38
39 void emitJavaFieldReaderWriter(
40 Formatter &out,
41 const std::string &blobName,
42 const std::string &fieldName,
43 const std::string &offset,
44 bool isReader) const override;
45
Andreas Huber881227d2016-08-02 14:20:21 -070046 bool needsEmbeddedReadWrite() const override;
47 bool resultNeedsDeref() const override;
Zhuoyao Zhang5158db42016-08-10 10:25:20 -070048
49 status_t emitVtsTypeDeclarations(Formatter &out) const override;
Andreas Huber85eabdb2016-08-25 11:24:49 -070050
51 void getAlignmentAndSize(size_t *align, size_t *size) const override;
Andreas Huberc9410c72016-07-28 12:18:40 -070052};
53
54} // namespace android
55
56#endif // STRING_TYPE_H_
57