blob: 7ad0d6d23ee66f965b4aff5ce5e02534471fa5b5 [file] [log] [blame]
#ifndef INTERFACE_H_
#define INTERFACE_H_
#include "Scope.h"
#include <vector>
namespace android {
struct Method;
struct Interface : public Scope {
Interface(Interface *super);
void addMethod(Method *method);
bool isInterface() const override;
const Interface *superType() const;
const std::vector<Method *> &methods() const;
std::string getCppType(StorageMode mode, std::string *extra) const override;
void emitReaderWriter(
Formatter &out,
const std::string &name,
const std::string &parcelObj,
bool parcelObjIsPointer,
bool isReader,
ErrorMode mode) const override;
private:
Interface *mSuperType;
std::vector<Method *> mMethods;
DISALLOW_COPY_AND_ASSIGN(Interface);
};
} // namespace android
#endif // INTERFACE_H_