#include "ukccsearchserver.h"
#include "interface.h"

UkccSearchServer::UkccSearchServer(MainWindow* parent)
    : QDBusAbstractAdaptor(parent)
    , m_autoExitTimer(new QTimer(this))
{   
    parent->loadAllModules();
    m_autoExitTimer->setInterval(5000);
    m_autoExitTimer->setSingleShot(true);
    connect(m_autoExitTimer, &QTimer::timeout, this, [=]() {
        if(!this->parent()->isVisible()) {
            QCoreApplication::quit();
        }
    });
    m_autoExitTimer->start();
}

UkccSearchServer::~UkccSearchServer()
{
}

MainWindow* UkccSearchServer::parent() const
{
    return static_cast<MainWindow *>(QObject::parent());
}

QVariantMap UkccSearchServer::getSearchItems()
{
    QVariantMap searchMap = this->parent()->getSearchItems();
    m_autoExitTimer->start();
    return searchMap;
}
