ArrayType.h revision 881227d860c59471eee31d39946e96ce2daa35d6
1#ifndef ARRAY_TYPE_H_ 2 3#define ARRAY_TYPE_H_ 4 5#include "Type.h" 6 7#include <string> 8 9namespace android { 10 11struct ArrayType : public Type { 12 ArrayType(Type *elementType, const char *dimension); 13 14 void dump(Formatter &out) const override; 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 37 bool needsEmbeddedReadWrite() const override; 38 39private: 40 Type *mElementType; 41 std::string mDimension; 42 43 DISALLOW_COPY_AND_ASSIGN(ArrayType); 44}; 45 46} // namespace android 47 48#endif // ARRAY_TYPE_H_ 49 50