Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9bdbcb8d91 | |||
| e5787dfb98 |
+71
-80
@@ -13,42 +13,9 @@ Date: 19-May-2026
|
||||
#include "SerializedRecords.h"
|
||||
#include "FileHelper.h"
|
||||
|
||||
/*
|
||||
Function: DataStore
|
||||
Description: Constructs the DataStore singleton and initializes
|
||||
internal handles to their default values.
|
||||
Parameters:
|
||||
- None
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
DataStore::DataStore() :
|
||||
m_globalMutex(NULL) {}
|
||||
|
||||
/*
|
||||
Function: ~DataStore
|
||||
Description: Destroys the DataStore singleton and releases all
|
||||
cached application objects owned by the datastore.
|
||||
This includes users, notifications, services,
|
||||
combo packages, inventory items, service bookings,
|
||||
job cards, and invoices.
|
||||
Parameters:
|
||||
- None
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
DataStore::~DataStore()
|
||||
{
|
||||
clearCache(m_userCache);
|
||||
clearCache(m_notificationCache);
|
||||
clearCache(m_serviceCache);
|
||||
clearCache(m_comboPackageCache);
|
||||
clearCache(m_inventoryItemCache);
|
||||
clearCache(m_serviceBookingCache);
|
||||
clearCache(m_jobCardCache);
|
||||
clearCache(m_invoiceCache);
|
||||
}
|
||||
|
||||
/*
|
||||
Function: initialize
|
||||
Description: Initializes the shared-memory datastore.
|
||||
@@ -226,9 +193,9 @@ Parameters:
|
||||
Returns:
|
||||
- util::Map<std::string, TrackedRecord<User>>: Collection of user records
|
||||
*/
|
||||
util::Map<std::string, TrackedRecord<User>>& DataStore::getUsers()
|
||||
util::Map<std::string, TrackedRecord<User>> DataStore::getUsers()
|
||||
{
|
||||
return m_userCache;
|
||||
return util::Map<std::string, TrackedRecord<User>>();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -239,9 +206,9 @@ Parameters:
|
||||
Returns:
|
||||
- util::Map<std::string, TrackedRecord<Notification>>: Collection of notification records
|
||||
*/
|
||||
util::Map<std::string, TrackedRecord<Notification>>& DataStore::getNotifications()
|
||||
util::Map<std::string, TrackedRecord<Notification>> DataStore::getNotifications()
|
||||
{
|
||||
return m_notificationCache;
|
||||
return util::Map<std::string, TrackedRecord<Notification>>();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -252,9 +219,9 @@ Parameters:
|
||||
Returns:
|
||||
- util::Map<std::string, TrackedRecord<Service>>: Collection of service records
|
||||
*/
|
||||
util::Map<std::string, TrackedRecord<Service>>& DataStore::getServices()
|
||||
util::Map<std::string, TrackedRecord<Service>> DataStore::getServices()
|
||||
{
|
||||
return m_serviceCache;
|
||||
return util::Map<std::string, TrackedRecord<Service>>();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -265,9 +232,9 @@ Parameters:
|
||||
Returns:
|
||||
- util::Map<std::string, TrackedRecord<ComboPackage>>: Collection of combo package records
|
||||
*/
|
||||
util::Map<std::string, TrackedRecord<ComboPackage>>& DataStore::getComboPackages()
|
||||
util::Map<std::string, TrackedRecord<ComboPackage>> DataStore::getComboPackages()
|
||||
{
|
||||
return m_comboPackageCache;
|
||||
return util::Map<std::string, TrackedRecord<ComboPackage>>();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -278,9 +245,9 @@ Parameters:
|
||||
Returns:
|
||||
- util::Map<std::string, TrackedRecord<InventoryItem>>: Collection of inventory item records
|
||||
*/
|
||||
util::Map<std::string, TrackedRecord<InventoryItem>>& DataStore::getInventoryItems()
|
||||
util::Map<std::string, TrackedRecord<InventoryItem>> DataStore::getInventoryItems()
|
||||
{
|
||||
return m_inventoryItemCache;
|
||||
return util::Map<std::string, TrackedRecord<InventoryItem>>();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -291,9 +258,9 @@ Parameters:
|
||||
Returns:
|
||||
- util::Map<std::string, TrackedRecord<ServiceBooking>>: Collection of service booking records
|
||||
*/
|
||||
util::Map<std::string, TrackedRecord<ServiceBooking>>& DataStore::getServiceBookings()
|
||||
util::Map<std::string, TrackedRecord<ServiceBooking>> DataStore::getServiceBookings()
|
||||
{
|
||||
return m_serviceBookingCache;
|
||||
return util::Map<std::string, TrackedRecord<ServiceBooking>>();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -304,9 +271,9 @@ Parameters:
|
||||
Returns:
|
||||
- util::Map<std::string, TrackedRecord<JobCard>>: Collection of job card records
|
||||
*/
|
||||
util::Map<std::string, TrackedRecord<JobCard>>& DataStore::getJobCards()
|
||||
util::Map<std::string, TrackedRecord<JobCard>> DataStore::getJobCards()
|
||||
{
|
||||
return m_jobCardCache;
|
||||
return util::Map<std::string, TrackedRecord<JobCard>>();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -317,9 +284,22 @@ Parameters:
|
||||
Returns:
|
||||
- util::Map<std::string, TrackedRecord<Invoice>>: Collection of invoice records
|
||||
*/
|
||||
util::Map<std::string, TrackedRecord<Invoice>>& DataStore::getInvoices()
|
||||
util::Map<std::string, TrackedRecord<Invoice>> DataStore::getInvoices()
|
||||
{
|
||||
return m_invoiceCache;
|
||||
return util::Map<std::string, TrackedRecord<Invoice>>();
|
||||
}
|
||||
|
||||
/*
|
||||
Function: getPayments
|
||||
Description: Retrieves all payment records from the datastore.
|
||||
Parameters:
|
||||
- None
|
||||
Returns:
|
||||
- util::Map<std::string, TrackedRecord<Payment>>: Collection of payment records
|
||||
*/
|
||||
util::Map<std::string, TrackedRecord<Payment>> DataStore::getPayments()
|
||||
{
|
||||
return util::Map<std::string, TrackedRecord<Payment>>();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -328,11 +308,11 @@ Description: Retrieves all service management observer records from the datastor
|
||||
Parameters:
|
||||
- None
|
||||
Returns:
|
||||
- util::Map<std::string, User*>: Collection of observer records
|
||||
- util::Map<std::string, TrackedRecord<std::string>>: Collection of observer records
|
||||
*/
|
||||
util::Map<std::string, User*> DataStore::getServiceManagementObservers()
|
||||
util::Map<std::string, TrackedRecord<std::string>> DataStore::getServiceManagementObservers()
|
||||
{
|
||||
return util::Map<std::string, User*>();
|
||||
return util::Map<std::string, TrackedRecord<std::string>>();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -341,11 +321,11 @@ Description: Retrieves all payment management observer records from the datastor
|
||||
Parameters:
|
||||
- None
|
||||
Returns:
|
||||
- util::Map<std::string, User*>: Collection of observer records
|
||||
- util::Map<std::string, TrackedRecord<std::string>>: Collection of observer records
|
||||
*/
|
||||
util::Map<std::string, User*> DataStore::getPaymentManagementObservers()
|
||||
util::Map<std::string, TrackedRecord<std::string>> DataStore::getPaymentManagementObservers()
|
||||
{
|
||||
return util::Map<std::string, User*>();
|
||||
return util::Map<std::string, TrackedRecord<std::string>>();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -354,22 +334,22 @@ Description: Retrieves all inventory management observer records from the datast
|
||||
Parameters:
|
||||
- None
|
||||
Returns:
|
||||
- util::Map<std::string, User*>: Collection of observer records
|
||||
- util::Map<std::string, TrackedRecord<std::string>>: Collection of observer records
|
||||
*/
|
||||
util::Map<std::string, User*> DataStore::getInventoryManagementObservers()
|
||||
util::Map<std::string, TrackedRecord<std::string>> DataStore::getInventoryManagementObservers()
|
||||
{
|
||||
return util::Map<std::string, User*>();
|
||||
return util::Map<std::string, TrackedRecord<std::string>>();
|
||||
}
|
||||
|
||||
/*
|
||||
Function: saveUsers
|
||||
Description: Persists all user records to the datastore.
|
||||
Parameters:
|
||||
- None
|
||||
- users: util::Map<std::string, TrackedRecord<User>>&, collection of user records
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
void DataStore::saveUsers()
|
||||
void DataStore::saveUsers(util::Map<std::string, TrackedRecord<User>>& users)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -377,11 +357,11 @@ void DataStore::saveUsers()
|
||||
Function: saveNotifications
|
||||
Description: Persists all notification records to the datastore.
|
||||
Parameters:
|
||||
- None
|
||||
- notifications: util::Map<std::string, TrackedRecord<Notification>>&, collection of notification records
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
void DataStore::saveNotifications()
|
||||
void DataStore::saveNotifications(util::Map<std::string, TrackedRecord<Notification>>& notifications)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -389,11 +369,11 @@ void DataStore::saveNotifications()
|
||||
Function: saveServices
|
||||
Description: Persists all service records to the datastore.
|
||||
Parameters:
|
||||
- None
|
||||
- services: util::Map<std::string, TrackedRecord<Service>>&, collection of service records
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
void DataStore::saveServices()
|
||||
void DataStore::saveServices(util::Map<std::string, TrackedRecord<Service>>& services)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -401,11 +381,11 @@ void DataStore::saveServices()
|
||||
Function: saveComboPackages
|
||||
Description: Persists all combo package records to the datastore.
|
||||
Parameters:
|
||||
- None
|
||||
- comboPackages: util::Map<std::string, TrackedRecord<ComboPackage>>&, collection of combo package records
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
void DataStore::saveComboPackages()
|
||||
void DataStore::saveComboPackages(util::Map<std::string, TrackedRecord<ComboPackage>>& comboPackages)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -413,11 +393,11 @@ void DataStore::saveComboPackages()
|
||||
Function: saveInventoryItems
|
||||
Description: Persists all inventory item records to the datastore.
|
||||
Parameters:
|
||||
- None
|
||||
- inventoryItems: util::Map<std::string, TrackedRecord<InventoryItem>>&, collection of inventory item records
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
void DataStore::saveInventoryItems()
|
||||
void DataStore::saveInventoryItems(util::Map<std::string, TrackedRecord<InventoryItem>>& inventoryItems)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -425,11 +405,11 @@ void DataStore::saveInventoryItems()
|
||||
Function: saveServiceBookings
|
||||
Description: Persists all service booking records to the datastore.
|
||||
Parameters:
|
||||
- None
|
||||
- bookings: util::Map<std::string, TrackedRecord<ServiceBooking>>&, collection of service booking records
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
void DataStore::saveServiceBookings()
|
||||
void DataStore::saveServiceBookings(util::Map<std::string, TrackedRecord<ServiceBooking>>& bookings)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -437,11 +417,11 @@ void DataStore::saveServiceBookings()
|
||||
Function: saveJobCards
|
||||
Description: Persists all job card records to the datastore.
|
||||
Parameters:
|
||||
- None
|
||||
- jobCards: util::Map<std::string, TrackedRecord<JobCard>>&, collection of job card records
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
void DataStore::saveJobCards()
|
||||
void DataStore::saveJobCards(util::Map<std::string, TrackedRecord<JobCard>>& jobCards)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -449,11 +429,23 @@ void DataStore::saveJobCards()
|
||||
Function: saveInvoices
|
||||
Description: Persists all invoice records to the datastore.
|
||||
Parameters:
|
||||
- None
|
||||
- invoices: util::Map<std::string, TrackedRecord<Invoice>>&, collection of invoice records
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
void DataStore::saveInvoices()
|
||||
void DataStore::saveInvoices(util::Map<std::string, TrackedRecord<Invoice>>& invoices)
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
Function: savePayments
|
||||
Description: Persists all payment records to the datastore.
|
||||
Parameters:
|
||||
- payments: util::Map<std::string, TrackedRecord<Payment>>&, collection of payment records
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
void DataStore::savePayments(util::Map<std::string, TrackedRecord<Payment>>& payments)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -465,7 +457,7 @@ Parameters:
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
void DataStore::saveServiceManagementObservers(util::Map<std::string, User*>& observers)
|
||||
void DataStore::saveServiceManagementObservers(util::Map<std::string, TrackedRecord<std::string>>& observers)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -473,11 +465,11 @@ void DataStore::saveServiceManagementObservers(util::Map<std::string, User*>& ob
|
||||
Function: savePaymentManagementObservers
|
||||
Description: Persists all payment management observer records to the datastore.
|
||||
Parameters:
|
||||
- observers: util::Map<std::string, User*>&, collection of observer records
|
||||
- observers: util::Map<std::string, TrackedRecord<std::string>>&, collection of observer records
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
void DataStore::savePaymentManagementObservers(util::Map<std::string, User*>& observers)
|
||||
void DataStore::savePaymentManagementObservers(util::Map<std::string, TrackedRecord<std::string>>& observers)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -485,11 +477,11 @@ void DataStore::savePaymentManagementObservers(util::Map<std::string, User*>& ob
|
||||
Function: saveInventoryManagementObservers
|
||||
Description: Persists all inventory management observer records to the datastore.
|
||||
Parameters:
|
||||
- observers: util::Map<std::string, User*>&, collection of observer records
|
||||
- observers: util::Map<std::string, TrackedRecord<std::string>>&, collection of observer records
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
void DataStore::saveInventoryManagementObservers(util::Map<std::string, User*>& observers)
|
||||
void DataStore::saveInventoryManagementObservers(util::Map<std::string, TrackedRecord<std::string>>& observers)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -562,4 +554,3 @@ bool DataStore::unlockDataStore()
|
||||
}
|
||||
return ReleaseMutex(m_globalMutex) != 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,12 +20,12 @@ class InventoryItem;
|
||||
class ServiceBooking;
|
||||
class JobCard;
|
||||
class Invoice;
|
||||
class Payment;
|
||||
|
||||
class DataStore
|
||||
{
|
||||
private:
|
||||
DataStore();
|
||||
~DataStore();
|
||||
DataStore(const DataStore&) = delete;
|
||||
DataStore& operator=(const DataStore&) = delete;
|
||||
DataStore(DataStore&&) = delete;
|
||||
@@ -43,40 +43,34 @@ private:
|
||||
MappingInfo m_serviceManagementObservers;
|
||||
MappingInfo m_paymentManagementObservers;
|
||||
MappingInfo m_inventoryManagementObservers;
|
||||
util::Map<std::string, TrackedRecord<User>> m_userCache;
|
||||
util::Map<std::string, TrackedRecord<Notification>> m_notificationCache;
|
||||
util::Map<std::string, TrackedRecord<Service>> m_serviceCache;
|
||||
util::Map<std::string, TrackedRecord<ComboPackage>> m_comboPackageCache;
|
||||
util::Map<std::string, TrackedRecord<InventoryItem>> m_inventoryItemCache;
|
||||
util::Map<std::string, TrackedRecord<ServiceBooking>> m_serviceBookingCache;
|
||||
util::Map<std::string, TrackedRecord<JobCard>> m_jobCardCache;
|
||||
util::Map<std::string, TrackedRecord<Invoice>> m_invoiceCache;
|
||||
public:
|
||||
static DataStore& getInstance();
|
||||
bool initialize();
|
||||
void shutdown();
|
||||
util::Map<std::string, TrackedRecord<User>>& getUsers();
|
||||
util::Map<std::string, TrackedRecord<Notification>>& getNotifications();
|
||||
util::Map<std::string, TrackedRecord<Service>>& getServices();
|
||||
util::Map<std::string, TrackedRecord<ComboPackage>>& getComboPackages();
|
||||
util::Map<std::string, TrackedRecord<InventoryItem>>& getInventoryItems();
|
||||
util::Map<std::string, TrackedRecord<ServiceBooking>>& getServiceBookings();
|
||||
util::Map<std::string, TrackedRecord<JobCard>>& getJobCards();
|
||||
util::Map<std::string, TrackedRecord<Invoice>>& getInvoices();
|
||||
util::Map<std::string, User*> getServiceManagementObservers();
|
||||
util::Map<std::string, User*> getPaymentManagementObservers();
|
||||
util::Map<std::string, User*> getInventoryManagementObservers();
|
||||
void saveUsers();
|
||||
void saveNotifications();
|
||||
void saveServices();
|
||||
void saveComboPackages();
|
||||
void saveInventoryItems();
|
||||
void saveServiceBookings();
|
||||
void saveJobCards();
|
||||
void saveInvoices();
|
||||
void saveServiceManagementObservers(util::Map<std::string, User*>& observers);
|
||||
void savePaymentManagementObservers(util::Map<std::string, User*>& observers);
|
||||
void saveInventoryManagementObservers(util::Map<std::string, User*>& observers);
|
||||
util::Map<std::string, TrackedRecord<User>> getUsers();
|
||||
util::Map<std::string, TrackedRecord<Notification>> getNotifications();
|
||||
util::Map<std::string, TrackedRecord<Service>> getServices();
|
||||
util::Map<std::string, TrackedRecord<ComboPackage>> getComboPackages();
|
||||
util::Map<std::string, TrackedRecord<InventoryItem>> getInventoryItems();
|
||||
util::Map<std::string, TrackedRecord<ServiceBooking>> getServiceBookings();
|
||||
util::Map<std::string, TrackedRecord<JobCard>> getJobCards();
|
||||
util::Map<std::string, TrackedRecord<Invoice>> getInvoices();
|
||||
util::Map<std::string, TrackedRecord<Payment>> getPayments();
|
||||
util::Map<std::string, TrackedRecord<std::string>> getServiceManagementObservers();
|
||||
util::Map<std::string, TrackedRecord<std::string>> getPaymentManagementObservers();
|
||||
util::Map<std::string, TrackedRecord<std::string>> getInventoryManagementObservers();
|
||||
void saveUsers(util::Map<std::string, TrackedRecord<User>>& users);
|
||||
void saveNotifications(util::Map<std::string, TrackedRecord<Notification>>& notifications);
|
||||
void saveServices(util::Map<std::string, TrackedRecord<Service>>& services);
|
||||
void saveComboPackages(util::Map<std::string, TrackedRecord<ComboPackage>>& comboPackages);
|
||||
void saveInventoryItems(util::Map<std::string, TrackedRecord<InventoryItem>>& inventoryItems);
|
||||
void saveServiceBookings(util::Map<std::string, TrackedRecord<ServiceBooking>>& bookings);
|
||||
void saveJobCards(util::Map<std::string, TrackedRecord<JobCard>>& jobCards);
|
||||
void saveInvoices(util::Map<std::string, TrackedRecord<Invoice>>& invoices);
|
||||
void savePayments(util::Map<std::string, TrackedRecord<Payment>>& payments);
|
||||
void saveServiceManagementObservers(util::Map<std::string, TrackedRecord<std::string>>& observers);
|
||||
void savePaymentManagementObservers(util::Map<std::string, TrackedRecord<std::string>>& observers);
|
||||
void saveInventoryManagementObservers(util::Map<std::string, TrackedRecord<std::string>>& observers);
|
||||
bool lockDataStore();
|
||||
bool unlockDataStore();
|
||||
private:
|
||||
@@ -84,8 +78,6 @@ private:
|
||||
util::Map<std::string, TrackedRecord<TObject>> loadRecords(MappingInfo& mapping);
|
||||
template<typename TObject, typename TSerialized>
|
||||
void saveRecords(MappingInfo& mapping, util::Map<std::string, TrackedRecord<TObject>>& records);
|
||||
template<typename TObject> void clearCache(util::Map<std::string, TrackedRecord<TObject>>&cache);
|
||||
template<typename TObject> void refreshCache(util::Map<std::string, TrackedRecord<TObject>>&cache, util::Map<std::string, TrackedRecord<TObject>>&refreshedCache);
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -131,7 +123,9 @@ Description: Persists all modified and newly added records
|
||||
shared-memory mapping. Modified records overwrite
|
||||
their existing slots, while new records are
|
||||
appended to the end of the mapping. Records marked
|
||||
as CLEAN are ignored.
|
||||
as CLEAN are ignored. After persistence, all
|
||||
temporary objects owned by the tracked records are
|
||||
destroyed to release memory.
|
||||
Parameter:
|
||||
- mapping: Reference to the mapping where records are
|
||||
stored.
|
||||
@@ -167,47 +161,11 @@ template<typename TObject, typename TSerialized> void DataStore::saveRecords(Map
|
||||
TSerialized* destination = static_cast<TSerialized*>(SharedMemory::getRecordAddress(mapping, recordCount));
|
||||
*destination = serialized;
|
||||
SharedMemory::setRecordCount(mapping, recordCount + 1);
|
||||
record.slotIndex = recordCount;
|
||||
}
|
||||
record.state = RecordState::CLEAN;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Function: clearCache
|
||||
Description: Releases all objects owned by the cache and
|
||||
clears the cache contents.
|
||||
Parameters:
|
||||
- cache: Cache to be cleared.
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
template<typename TObject>
|
||||
void DataStore::clearCache(util::Map<std::string, TrackedRecord<TObject>>&cache)
|
||||
for (int index = 0; index < records.getSize(); ++index)
|
||||
{
|
||||
for (int index = 0; index < cache.getSize(); ++index)
|
||||
{
|
||||
delete cache.getValueAt(index).data;
|
||||
cache.getValueAt(index).data = nullptr;
|
||||
delete records.getValueAt(index).data;
|
||||
records.getValueAt(index).data = nullptr;
|
||||
}
|
||||
cache.clear();
|
||||
}
|
||||
|
||||
/*
|
||||
Function: refreshCache
|
||||
Description: Replaces the contents of an existing cache
|
||||
with a newly loaded cache. Existing cached
|
||||
objects are destroyed before ownership of
|
||||
the new cache contents is transferred.
|
||||
Parameters:
|
||||
- cache: Existing cache to refresh.
|
||||
- refreshedCache: Newly loaded cache contents.
|
||||
Returns:
|
||||
- None
|
||||
*/
|
||||
template<typename TObject>
|
||||
void DataStore::refreshCache(util::Map<std::string, TrackedRecord<TObject>>&cache, util::Map<std::string, TrackedRecord<TObject>>&refreshedCache)
|
||||
{
|
||||
clearCache(cache);
|
||||
cache = refreshedCache;
|
||||
}
|
||||
Reference in New Issue
Block a user