mirror of
https://github.com/korenkonder/ReDIVA.git
synced 2026-10-11 08:38:18 +03:00
99 lines
1.7 KiB
C++
99 lines
1.7 KiB
C++
/*
|
|
by korenkonder
|
|
GitHub/GitLab: korenkonder
|
|
*/
|
|
|
|
#include "mdata_manager.hpp"
|
|
#include "pv_db.hpp"
|
|
|
|
MdataMgr mdata_manager;
|
|
|
|
MdataMgr::MdataMgr() : state() {
|
|
prefixes.push_back("");
|
|
prefixes.push_back("mdata_");
|
|
}
|
|
|
|
MdataMgr::~MdataMgr() {
|
|
|
|
}
|
|
|
|
bool MdataMgr::init() {
|
|
state = 0;
|
|
return true;
|
|
}
|
|
|
|
bool MdataMgr::ctrl() {
|
|
switch (state) {
|
|
case 0:
|
|
state = 1;
|
|
break;
|
|
case 1:
|
|
if (!task_pv_db_get()->field_99)
|
|
task_pv_db_add_paths();
|
|
state = 2;
|
|
break;
|
|
case 2:
|
|
if (task_pv_db_is_paths_empty())
|
|
state = 3;
|
|
break;
|
|
case 3:
|
|
task_pv_db_free_pv_data();
|
|
state = 4;
|
|
break;
|
|
case 4:
|
|
Log("--->LOAD ROM PVDB!\n");
|
|
if (!task_pv_db_get()->field_99)
|
|
task_pv_db_add_paths();
|
|
state = 5;
|
|
break;
|
|
case 5:
|
|
if (task_pv_db_is_paths_empty())
|
|
return true;
|
|
break;
|
|
case 6:
|
|
state = 15;
|
|
break;
|
|
case 15:
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
bool MdataMgr::dest() {
|
|
return true;
|
|
}
|
|
|
|
void MdataMgr::disp() {
|
|
|
|
}
|
|
|
|
void MdataMgr::basic() {
|
|
|
|
}
|
|
|
|
void MdataMgr::Log(const char* fmt, ...) {
|
|
char buf[0x400];
|
|
va_list args;
|
|
va_start(args, fmt);
|
|
size_t len = vsprintf_s(buf, sizeof(buf), fmt, args);
|
|
va_end(args);
|
|
log.append(fmt, len);
|
|
log.append(1, '\n');
|
|
}
|
|
|
|
const std::list<std::string>& MdataMgr::GetPrefixes() {
|
|
return prefixes;
|
|
}
|
|
|
|
bool mdata_manager_add_task() {
|
|
return app::TaskWork::add_task(mdata_manager_get(), 0, "M_DATA_MANAGER");
|
|
}
|
|
|
|
bool mdata_manager_del_task() {
|
|
return mdata_manager_get()->del();
|
|
}
|
|
|
|
MdataMgr* mdata_manager_get() {
|
|
return &mdata_manager;
|
|
}
|