// SPDX-FileCopyrightText: 2015 - 2022 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later #ifndef DP4LOGINMODULE_H #define DP4LOGINMODULE_H #include "login_module_interface.h" class Dp4LoginWidget; namespace dss { namespace module { class Dp4LoginModule: public QObject, public LoginModuleInterface { Q_OBJECT Q_PLUGIN_METADATA(IID "com.deepin.dde.shell.Modules.Login" FILE "login.json") Q_INTERFACES(dss::module::LoginModuleInterface) public: explicit Dp4LoginModule(QObject *parent = nullptr); ~Dp4LoginModule() override; void init() override; ModuleType type() const override { return CustomLoginType; } inline QString key() const override { return "dp4-login"; } QWidget *content() override; void setCallback(LoginCallBack *callback) override; std::string onMessage(const std::string &) override; void reset() override; private: void installTranslator(); private: LoginCallBack *m_callback; AuthCallbackFun m_callbackFun; AuthCallbackData *m_callbackData; MessageCallbackFun m_messageCallbackFunc; }; } } #endif //ASSIST_LOGIN_MODULE_H