#include "topsysplugin.h"
#include "sysmainwindow/sysmainwindow.h"
#include "sysusermgt/sysuser.h"
#include "sysusermgtv1/sysuserv1.h"
#include "sysusermgtv1/sysusermgtv1.h"
#include "sysusermgt/sysusermgt.h"
#include "sysrolemgt/sysrole.h"
#include "sysrolemgt/sysrolemgt.h"
#include "sysenumlistmgt/sysenumlist.h"
#include "sysenumlistmgt/sysenumlistmgt.h"
#include "sysmoduleconfmgt/moduleconfmgt.h"
#include "sysmoduleconfmgt/moduleconfpanel.h"
#include "syscommugroupmgt/syscommugroup.h"
#include "syscommugroupmgt/syscommugroupmgt.h"
#include "sysconfigmgt/sysconfigmgt.h"
#include "sysconfigmgt/sysconfig.h"
#include "syslogconsole/syslogconsole.h"
#include "sysmacroconsole/sysmacroconsole.h"
#include "sysmainwindowv2/sysmainwindowv2.h"
#include "syscontactmgt/syscontact.h"
#include "syscontactmgt/syscontactmgt.h"
#include "syschartdevelopermgt/syschartdeveloper.h"
#include "syschartdevelopermgt/syschartdevelopermgt.h"
#include "syschartnavigationmgt/syschartnavigation.h"
#include "syschartnavigationmgt/syschartnavigationmgt.h"

QStringList TopSysPlugin::getClassList()
{    
    return QStringList() << QStringLiteral("SysMainWindow")
                         << QStringLiteral("SysUser")
                         << QStringLiteral("SysUserV1")
                         << QStringLiteral("SysUserMgt")
                         << QStringLiteral("SysUserMgtV1")
                         << QStringLiteral("SysRole")
                         << QStringLiteral("SysRoleMgt")
                         << QStringLiteral("SysModuleConfMgt")
                         << QStringLiteral("SysModuleConfPanel")
                         << QStringLiteral("SysEnumList")
                         << QStringLiteral("SysEnumListMgt")
                         << QStringLiteral("SysContact")
                         << QStringLiteral("SysContactMgt")
                         << QStringLiteral("SysCommuGroup")
                         << QStringLiteral("SysCommuGroupMgt")
                         << QStringLiteral("SysConfigMgtV2")
                         << QStringLiteral("SysConfigV2")
                         << QStringLiteral("SysLogConsole")
                         << QStringLiteral("SysMacroConsole")
                         << QStringLiteral("SysMainWindowV2")
                         << QStringLiteral("SysChartDeveloper")
                         << QStringLiteral("SysChartDeveloperMgt")
                         << QStringLiteral("SysChartNavigation")
                         << QStringLiteral("SysChartNavigationMgt");
}

TopClassAbs *TopSysPlugin::newClass(const QString &iClassName,
                                          const QString &iModuleName,
                                          const QVariantMap &iUrlPars)
{
    if (iClassName == QStringLiteral("SysMainWindow")) {
        return new SysMainWindow(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysUser")) {
        return new SysUser(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysUserV1")) {
        return new SysUserV1(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysUserMgt")) {
        return new SysUserMgt(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysUserMgtV1")) {
        return new SysUserMgtV1(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysRole")) {
        return new SysRole(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysRoleMgt")) {
        return new SysRoleMgt(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysModuleConfMgt")) {
        return new SysModuleConfMgt(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysModuleConfPanel")) {
        return new SysModuleConfPanel(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysEnumList")) {
        return new SysEnumList(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysEnumListMgt")) {
        return new SysEnumListMgt(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysCommuGroup")) {
        return new SysCommuGroup(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysCommuGroupMgt")) {
        return new SysCommuGroupMgt(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysConfigMgtV2")) {
        return new SysConfigMgt(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysConfigV2")) {
        return new SysConfig(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysLogConsole")) {
        return new SysLogConsole(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysMacroConsole")) {
        return new SysMacroConsole(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysMainWindowV2")) {
        return new SysMainWindowV2(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysContact")) {
        return new SysContact(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysContactMgt")) {
        return new SysContactMgt(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysChartDeveloper")) {
        return new SysChartDeveloper(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysChartDeveloperMgt")) {
        return new SysChartDeveloperMgt(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysChartNavigation")) {
        return new SysChartNavigation(iModuleName, iUrlPars, nullptr);
    } else if (iClassName == QStringLiteral("SysChartNavigationMgt")) {
        return new SysChartNavigationMgt(iModuleName, iUrlPars, nullptr);
    }
    return nullptr;
}