#include "Application.h"
#include "BoostLog.h"
#include "Configuration.h"
#include "DeviceDiscovery.h"
#include "Widget.h"

int main(int argc, char *argv[]) {
    using namespace Amass;
    boost::log::initialize("logs/app");
    LOG(info) << "Compiled on: " << __DATE__ << " " << __TIME__ << std::endl;
    LOG(info) << "Git commit ID: " << GIT_COMMIT_ID << std::endl;
    LOG(info) << "Program version: " << APP_VERSION << std::endl;

    auto app = Singleton<Application>::instance<Construct>(argc, argv);
    app->initializeLogger();

    // Widget w;
    // w.setWindowTitle("L015上位机工具");
    // w.setMinimumWidth(1120);
    // w.setMinimumHeight(640);
    // w.show();
    // QObject::connect(app.get(), &Application::newLog, &w, &Widget::onNewLog);

    return app->exec();
}
