changes
This commit is contained in:
+94
-66
@@ -38,78 +38,106 @@ bool DataStore::initialize()
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
util::ensureDirectoryExists(config::file::DIRECTORY);
|
if (!lockDataStore())
|
||||||
m_users.fileName = config::file::USER_FILE;
|
|
||||||
m_users.recordSize = sizeof(SerializedUser);
|
|
||||||
m_notifications.fileName = config::file::NOTIFICATION_FILE;
|
|
||||||
m_notifications.recordSize = sizeof(SerializedNotification);
|
|
||||||
m_services.fileName = config::file::SERVICE_FILE;
|
|
||||||
m_services.recordSize = sizeof(SerializedService);
|
|
||||||
m_comboPackages.fileName = config::file::COMBOPACKAGE_FILE;
|
|
||||||
m_comboPackages.recordSize = sizeof(SerializedComboPackage);
|
|
||||||
m_inventoryItems.fileName = config::file::INVENTORYITEM_FILE;
|
|
||||||
m_inventoryItems.recordSize = sizeof(SerializedInventoryItem);
|
|
||||||
m_serviceBookings.fileName = config::file::SERVICEBOOKING_FILE;
|
|
||||||
m_serviceBookings.recordSize = sizeof(SerializedServiceBooking);
|
|
||||||
m_jobCards.fileName = config::file::JOBCARD_FILE;
|
|
||||||
m_jobCards.recordSize = sizeof(SerializedJobCard);
|
|
||||||
m_invoices.fileName = config::file::INVOICE_FILE;
|
|
||||||
m_invoices.recordSize = sizeof(SerializedInvoice);
|
|
||||||
m_serviceManagementObservers.fileName = config::file::SERVICEMANAGEMENTOBSERVERS;
|
|
||||||
m_serviceManagementObservers.recordSize = sizeof(SerializedObserver);
|
|
||||||
m_paymentManagementObservers.fileName = config::file::PAYMENTMANAGEMENTOBSERVERS;
|
|
||||||
m_paymentManagementObservers.recordSize = sizeof(SerializedObserver);
|
|
||||||
m_inventoryManagementObservers.fileName = config::file::INVENTORYMANAGEMENTOBSERVERS;
|
|
||||||
m_inventoryManagementObservers.recordSize = sizeof(SerializedObserver);
|
|
||||||
if (!SharedMemory::createOrOpenMapping(m_users))
|
|
||||||
{
|
{
|
||||||
|
CloseHandle(m_globalMutex);
|
||||||
|
m_globalMutex = NULL;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!SharedMemory::createOrOpenMapping(m_notifications))
|
bool success = true;
|
||||||
|
do
|
||||||
{
|
{
|
||||||
return false;
|
util::ensureDirectoryExists(config::file::DIRECTORY);
|
||||||
}
|
m_users.fileName = config::file::USER_FILE;
|
||||||
if (!SharedMemory::createOrOpenMapping(m_services))
|
m_users.recordSize = sizeof(SerializedUser);
|
||||||
|
m_notifications.fileName = config::file::NOTIFICATION_FILE;
|
||||||
|
m_notifications.recordSize = sizeof(SerializedNotification);
|
||||||
|
m_services.fileName = config::file::SERVICE_FILE;
|
||||||
|
m_services.recordSize = sizeof(SerializedService);
|
||||||
|
m_comboPackages.fileName = config::file::COMBOPACKAGE_FILE;
|
||||||
|
m_comboPackages.recordSize = sizeof(SerializedComboPackage);
|
||||||
|
m_inventoryItems.fileName = config::file::INVENTORYITEM_FILE;
|
||||||
|
m_inventoryItems.recordSize = sizeof(SerializedInventoryItem);
|
||||||
|
m_serviceBookings.fileName = config::file::SERVICEBOOKING_FILE;
|
||||||
|
m_serviceBookings.recordSize = sizeof(SerializedServiceBooking);
|
||||||
|
m_jobCards.fileName = config::file::JOBCARD_FILE;
|
||||||
|
m_jobCards.recordSize = sizeof(SerializedJobCard);
|
||||||
|
m_invoices.fileName = config::file::INVOICE_FILE;
|
||||||
|
m_invoices.recordSize = sizeof(SerializedInvoice);
|
||||||
|
m_serviceManagementObservers.fileName = config::file::SERVICEMANAGEMENTOBSERVERS;
|
||||||
|
m_serviceManagementObservers.recordSize = sizeof(SerializedObserver);
|
||||||
|
m_paymentManagementObservers.fileName = config::file::PAYMENTMANAGEMENTOBSERVERS;
|
||||||
|
m_paymentManagementObservers.recordSize = sizeof(SerializedObserver);
|
||||||
|
m_inventoryManagementObservers.fileName = config::file::INVENTORYMANAGEMENTOBSERVERS;
|
||||||
|
m_inventoryManagementObservers.recordSize = sizeof(SerializedObserver);
|
||||||
|
if (!SharedMemory::createOrOpenMapping(m_users))
|
||||||
|
{
|
||||||
|
success = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!SharedMemory::createOrOpenMapping(m_notifications))
|
||||||
|
{
|
||||||
|
success = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!SharedMemory::createOrOpenMapping(m_services))
|
||||||
|
{
|
||||||
|
success = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!SharedMemory::createOrOpenMapping(m_comboPackages))
|
||||||
|
{
|
||||||
|
success = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!SharedMemory::createOrOpenMapping(m_inventoryItems))
|
||||||
|
{
|
||||||
|
success = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!SharedMemory::createOrOpenMapping(m_serviceBookings))
|
||||||
|
{
|
||||||
|
success = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!SharedMemory::createOrOpenMapping(m_jobCards))
|
||||||
|
{
|
||||||
|
success = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!SharedMemory::createOrOpenMapping(m_invoices))
|
||||||
|
{
|
||||||
|
success = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!SharedMemory::createOrOpenMapping(m_payments))
|
||||||
|
{
|
||||||
|
success = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!SharedMemory::createOrOpenMapping(m_serviceManagementObservers))
|
||||||
|
{
|
||||||
|
success = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!SharedMemory::createOrOpenMapping(m_paymentManagementObservers))
|
||||||
|
{
|
||||||
|
success = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!SharedMemory::createOrOpenMapping(m_inventoryManagementObservers))
|
||||||
|
{
|
||||||
|
success = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} while (false);
|
||||||
|
unlockDataStore();
|
||||||
|
if (!success)
|
||||||
{
|
{
|
||||||
return false;
|
shutdown();
|
||||||
}
|
}
|
||||||
if (!SharedMemory::createOrOpenMapping(m_comboPackages))
|
return success;
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (!SharedMemory::createOrOpenMapping(m_inventoryItems))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (!SharedMemory::createOrOpenMapping(m_serviceBookings))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (!SharedMemory::createOrOpenMapping(m_jobCards))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (!SharedMemory::createOrOpenMapping(m_invoices))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (!SharedMemory::createOrOpenMapping(m_payments))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (!SharedMemory::createOrOpenMapping(m_serviceManagementObservers))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (!SharedMemory::createOrOpenMapping(m_paymentManagementObservers))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (!SharedMemory::createOrOpenMapping(m_inventoryManagementObservers))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user