1 /* 2 * Copyright (c) 2021 Huawei Device Co., Ltd. 3 * 4 * HDF is dual licensed: you can use it either under the terms of 5 * the GPL, or the BSD license, at your option. 6 * See the LICENSE file in the root of this repository for complete details. 7 */ 8 9 #ifndef HC_GEN_GENERATOR_H 10 #define HC_GEN_GENERATOR_H 11 12 #include <memory> 13 14 #include "ast.h" 15 16 namespace OHOS { 17 namespace Hardware { 18 class Generator { 19 public: Generator(const std::shared_ptr<Ast> & ast)20 explicit Generator(const std::shared_ptr<Ast> &ast) : ast_(ast) {} 21 22 virtual ~Generator() = default; 23 24 virtual bool Output() = 0; 25 26 protected: 27 std::shared_ptr<Ast> ast_; 28 }; 29 } // namespace Hardware 30 } // namespace OHOS 31 32 #endif // HC_GEN_GENERATOR_H 33