#ifndef __GRADIDO_LOGIN_SERVER_CONTROLLER_HEDERA_TOPIC_H #define __GRADIDO_LOGIN_SERVER_CONTROLLER_HEDERA_TOPIC_H /*! * * \author: Dario Rekowski * * \date: 03.09.2020 * * \brief: Class for Hedera Topic, connct db table with hedera object * */ #include "TableControllerBase.h" #include "../model/table/HederaTopic.h" #include "HederaId.h" #include "HederaAccount.h" namespace controller { class HederaTopic : public TableControllerBase, public NotificationList { public: ~HederaTopic(); static Poco::AutoPtr create(const std::string& name, int autoRenewAccountId, int autoRenewPeriod, int groupId); static std::vector> listAll(); static Poco::AutoPtr load(int id); //! \brief hedera call to create a hedera topic Poco::UInt64 hederaCreateTopic(); bool updateWithGetTopicInfos(Poco::AutoPtr user); inline bool deleteFromDB() { return mDBModel->deleteFromDB(); } Poco::AutoPtr getTopicHederaId(); Poco::AutoPtr getAutoRenewAccount(); inline Poco::AutoPtr getModel() { return _getModel(); } protected: HederaTopic(model::table::HederaTopic* dbModel); Poco::AutoPtr mTopicHederaId; Poco::AutoPtr mAutoRenewAccount; }; } #endif //__GRADIDO_LOGIN_SERVER_CONTROLLER_HEDERA_TOPIC_H