70 lines
1.3 KiB
C++
Executable File
70 lines
1.3 KiB
C++
Executable File
#pragma once
|
|
|
|
|
|
|
|
#include <Common/LtsLogin/ltslogin_export.h>
|
|
#include <Plugins/OperatorManagement/opm_data_plugin_interface.h>
|
|
#include <Plugins/SituationReplayManagement/srm_data_plugin_interface.h>
|
|
#include <Plugins/AssetManagement/asm_data_plugin_interface.h>
|
|
|
|
#include <QObject>
|
|
|
|
|
|
namespace LtsPluginManager
|
|
{
|
|
class LtsPluginManager;
|
|
}
|
|
namespace LtsUtils
|
|
{
|
|
class RequestHelper;
|
|
}
|
|
namespace LtsSession
|
|
{
|
|
class LtsSession;
|
|
}
|
|
namespace DeveloperTools
|
|
{
|
|
class DevDialog;
|
|
}
|
|
|
|
namespace LtsLogin
|
|
{
|
|
|
|
class LTSLOGIN_EXPORT LtsLogin : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
LtsLogin();
|
|
~LtsLogin();
|
|
|
|
void login();
|
|
void logoff();
|
|
void setLoginPlugin(const QString &loginPluginIid) { m_loginPluginIid = loginPluginIid; }
|
|
|
|
private:
|
|
friend class DeveloperTools::DevDialog;
|
|
|
|
LtsSession::LtsSession *getAdminSession();
|
|
void showLogoutInformationDialog(AssetManagement::ShutdownAction action);
|
|
|
|
LtsPluginManager::LtsPluginManager *m_loginApp;
|
|
AssetManagement::ShutdownAction m_shutdownAction;
|
|
std::shared_ptr<AssetManagement::Interface::Dtc> m_asmDtc;
|
|
QString m_loginPluginIid;
|
|
bool m_isInLogoutDialog;
|
|
|
|
private slots:
|
|
void slotLoginDone();
|
|
void slotLogoutShutdown(const AssetManagement::WorkstationLogout &data, DataModification modType);
|
|
|
|
signals:
|
|
void signalLogout();
|
|
void signalStopBlock();
|
|
void signalLoginDone();
|
|
void signalLogoffDone();
|
|
|
|
};
|
|
|
|
}
|