Implemented datastore shared memory codebase

Changes:
- Added SharedMemory module for file-backed memory-mapped storage
- Added MappingInfo, FileHeader, RecordState and TrackedRecord infrastructure
- Replaced CSV-based serialization with binary struct serialization
- Added DataStore initialization and shutdown lifecycle management
- Added datastore mutex synchronization for multi-process access
- Added shared-memory mapping configuration for all datastore entities
- Added generic loadRecords and saveRecords template infrastructure
- Added automatic datastore directory creation and .dat file storage
- Updated configuration to use binary datastore files and initial capacities
- Added enum underlying types for serialization compatibility
- Added password masking support for login, registration and password change flows
- Added Visual Studio project configuration for shared-memory components
- Added datastore-owned record caches for runtime object management
- Updated datastore APIs to return cached tracked-record collections by reference
- Added generic cache refresh and cleanup infrastructure
- Updated save operations to persist datastore caches directly
- Added automatic cache cleanup during datastore destruction
- Prepared datastore for multi-process shared-memory persistence
This commit is contained in:
2026-06-12 00:59:10 +05:30
parent 602b538830
commit d6e95abf72
21 changed files with 1402 additions and 101 deletions
@@ -12,28 +12,28 @@ Date: 19-May-2026
namespace util
{
enum class UserType
enum class UserType : int
{
ADMIN,
TECHNICIAN,
CUSTOMER
};
enum class PaymentMode
enum class PaymentMode : int
{
ONLINE,
OFFLINE,
NOTSET
};
enum class PaymentStatus
enum class PaymentStatus : int
{
PENDING,
COMPLETED,
PAID
};
enum class ServiceJobStatus
enum class ServiceJobStatus : int
{
PENDING,
STARTED,
@@ -42,7 +42,7 @@ namespace util
CANCELLED
};
enum class State
enum class State : int
{
ACTIVE,
INACTIVE