#include "main_thread.h"
#include <dpl/assert.h>
#include <dpl/wrt-dao-ro/WrtDatabase.h>
-#include <ace-dao-ro/AceDAOReadOnly.h>
+#include <ace_api_client.h>
#include <wrt-commons/auto-save-dao-rw/auto_save_dao.h>
+#include <dpl/wrt-dao-ro/WrtDatabase.h>
#include <dpl/singleton_impl.h>
+#include <popup-runner/popup-runner.h>
IMPLEMENT_SINGLETON(MainThread)
using namespace WrtDB;
MainThread::MainThread() : m_attached(false) {
}
-MainThread::~MainThread() {
- Assert(!m_attached);
+MainThread::~MainThread()
+{
+ if (m_attached) {
+ LogError("Destroyed without detach");
+ }
}
void MainThread::AttachDatabases()
{
Assert(!m_attached);
// Attach databases
- AceDB::AceDAOReadOnly::attachToThreadRO();
+ ace_return_t ret = ace_client_initialize(Wrt::Popup::run_popup);
+ Assert(ACE_OK == ret);
WrtDB::WrtDatabase::attachToThreadRO();
AutoSaveDB::AutoSaveDAO::attachDatabaseRW();
m_attached = true;
Assert(m_attached);
m_attached = false;
// Detach databases
- AceDB::AceDAOReadOnly::detachFromThread();
+ ace_return_t ret = ace_client_shutdown();
+ Assert(ACE_OK == ret);
WrtDB::WrtDatabase::detachFromThread();
AutoSaveDB::AutoSaveDAO::detachDatabase();
}