2026-02-24 20:57:59 +04:00
|
|
|
#include "logos_manager.h"
|
|
|
|
|
|
|
|
|
|
#include <QCoreApplication>
|
|
|
|
|
#include <QDir>
|
|
|
|
|
#include <iostream>
|
|
|
|
|
|
2026-02-26 10:39:27 -03:00
|
|
|
int app_main(LogosModules* modules, int argc, char* argv[]);
|
2026-02-24 20:57:59 +04:00
|
|
|
|
|
|
|
|
int main(int argc, char* argv[]) {
|
2026-02-26 11:55:31 -03:00
|
|
|
if (argc < 2) {
|
|
|
|
|
std::cerr << "Usage: " << argv[0] << " <upload|download> <arguments>" << std::endl;
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-24 20:57:59 +04:00
|
|
|
QCoreApplication app(argc, argv);
|
|
|
|
|
QCoreApplication::setOrganizationName("Logos");
|
|
|
|
|
QCoreApplication::setApplicationName("LogosStorageCLI");
|
|
|
|
|
|
2026-02-26 10:39:27 -03:00
|
|
|
Logos logos(QCoreApplication::applicationDirPath() + "/../modules");
|
2026-02-24 20:57:59 +04:00
|
|
|
if (!logos.init()) {
|
|
|
|
|
std::cerr << "Failed to initialize Logos" << std::endl;
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-26 10:39:27 -03:00
|
|
|
int result = app_main(logos.modules(), argc, argv);
|
2026-02-24 21:04:18 +04:00
|
|
|
logos.cleanup();
|
2026-02-26 10:39:27 -03:00
|
|
|
return result;
|
|
|
|
|
}
|
2026-02-24 21:04:18 +04:00
|
|
|
|
2026-02-26 10:39:27 -03:00
|
|
|
int app_main(LogosModules* modules, int argc, char* argv[]) {
|
2026-02-26 11:55:31 -03:00
|
|
|
if (argc < 4) {
|
|
|
|
|
std::cerr << "Usage: " << argv[0] << " <bootstrap-spr> <cid> <file>" << std::endl;
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const QString jsonConfig = "{"
|
|
|
|
|
"\"listen-addrs\": [\"/ip4/0.0.0.0/tcp/8001\"],"
|
|
|
|
|
"\"disc-port\": 9001,"
|
|
|
|
|
"\"nat\": \"none\""
|
|
|
|
|
"}";
|
|
|
|
|
|
|
|
|
|
if (!modules->storage_module.init(jsonConfig)) {
|
|
|
|
|
std::cerr << "Failed to initialize storage module" << std::endl;
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-24 20:57:59 +04:00
|
|
|
return 0;
|
2026-02-26 10:39:27 -03:00
|
|
|
}
|