|
Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
|
Dependency injection container for database components. More...
#include <database_context.h>

Public Member Functions | |
| database_context () | |
| Default constructor - creates default implementations. | |
| ~database_context () | |
| Destructor - ensures clean shutdown. | |
| database_context (const database_context &)=delete | |
| database_context & | operator= (const database_context &)=delete |
| database_context (database_context &&)=delete | |
| database_context & | operator= (database_context &&)=delete |
| bool | is_initialized () const noexcept |
| Check if context is initialized. | |
| std::shared_ptr< monitoring::performance_monitor > | get_performance_monitor () const noexcept |
| Get performance monitor instance. | |
| std::shared_ptr< orm::entity_manager > | get_entity_manager () const noexcept |
| Get entity manager instance. | |
| std::shared_ptr< async::transaction_coordinator > | get_transaction_coordinator () const noexcept |
| Get transaction coordinator instance. | |
| std::shared_ptr< security::credential_manager > | get_credential_manager () const noexcept |
| Get credential manager instance. | |
| std::shared_ptr< security::access_control > | get_access_control () const noexcept |
| Get access control instance. | |
| std::shared_ptr< security::audit_logger > | get_audit_logger () const noexcept |
| Get audit logger instance. | |
| std::shared_ptr< security::security_monitor > | get_security_monitor () const noexcept |
| Get security monitor instance. | |
| std::shared_ptr< security::encryption_manager > | get_encryption_manager () const noexcept |
| Get encryption manager instance. | |
Private Attributes | |
| std::shared_ptr< monitoring::performance_monitor > | performance_monitor_ |
| Performance monitor instance (Sprint 3, Task 3.2) | |
| std::shared_ptr< orm::entity_manager > | entity_manager_ |
| Entity manager instance (Sprint 3, Task 3.1) | |
| std::shared_ptr< async::transaction_coordinator > | transaction_coordinator_ |
| Transaction coordinator instance (Sprint 3, Task 3.1) | |
| std::shared_ptr< security::credential_manager > | credential_manager_ |
| Security component instances (Sprint 3, Task 3.3) | |
| std::shared_ptr< security::access_control > | access_control_ |
| std::shared_ptr< security::audit_logger > | audit_logger_ |
| std::shared_ptr< security::security_monitor > | security_monitor_ |
| std::shared_ptr< security::encryption_manager > | encryption_manager_ |
| std::mutex | mutex_ |
| Mutex for thread-safe access. | |
Dependency injection container for database components.
This class manages the lifetime and dependencies of database components. It replaces singleton pattern with dependency injection, enabling:
Thread Safety: All methods are thread-safe. Component access is protected by internal synchronization.
Definition at line 79 of file database_context.h.
| database::database_context::database_context | ( | ) |
Default constructor - creates default implementations.
Creates a context with default implementations:
Definition at line 14 of file database_context.cpp.
| database::database_context::~database_context | ( | ) |
Destructor - ensures clean shutdown.
Definition at line 29 of file database_context.cpp.
|
delete |
|
delete |
|
inlinenoexcept |
Get access control instance.
Returns the access control for RBAC (Role-Based Access Control).
Definition at line 175 of file database_context.h.
References access_control_.
|
inlinenoexcept |
Get audit logger instance.
Returns the audit logger for security event logging.
Definition at line 188 of file database_context.h.
References audit_logger_.
|
inlinenoexcept |
Get credential manager instance.
Returns the credential manager for encrypted credential storage.
Definition at line 162 of file database_context.h.
References credential_manager_.
|
inlinenoexcept |
Get encryption manager instance.
Returns the encryption manager for data encryption and key management.
Definition at line 214 of file database_context.h.
References encryption_manager_.
|
inlinenoexcept |
Get entity manager instance.
Returns the ORM entity manager for entity metadata and query building.
Definition at line 136 of file database_context.h.
References entity_manager_.
|
inlinenoexcept |
Get performance monitor instance.
Returns the performance monitor for tracking query metrics, connection usage, and system performance.
Definition at line 123 of file database_context.h.
References performance_monitor_.
|
inlinenoexcept |
Get security monitor instance.
Returns the security monitor for threat detection and alerting.
Definition at line 201 of file database_context.h.
References security_monitor_.
|
inlinenoexcept |
Get transaction coordinator instance.
Returns the transaction coordinator for distributed transaction management.
Definition at line 149 of file database_context.h.
References transaction_coordinator_.
|
inlinenoexcept |
Check if context is initialized.
Definition at line 109 of file database_context.h.
References performance_monitor_.
|
delete |
|
delete |
|
private |
Definition at line 230 of file database_context.h.
Referenced by get_access_control().
|
private |
Definition at line 231 of file database_context.h.
Referenced by get_audit_logger().
|
private |
Security component instances (Sprint 3, Task 3.3)
Definition at line 229 of file database_context.h.
Referenced by get_credential_manager().
|
private |
Definition at line 233 of file database_context.h.
Referenced by get_encryption_manager().
|
private |
Entity manager instance (Sprint 3, Task 3.1)
Definition at line 223 of file database_context.h.
Referenced by get_entity_manager().
|
mutableprivate |
Mutex for thread-safe access.
Definition at line 236 of file database_context.h.
|
private |
Performance monitor instance (Sprint 3, Task 3.2)
Definition at line 220 of file database_context.h.
Referenced by get_performance_monitor(), and is_initialized().
|
private |
Definition at line 232 of file database_context.h.
Referenced by get_security_monitor().
|
private |
Transaction coordinator instance (Sprint 3, Task 3.1)
Definition at line 226 of file database_context.h.
Referenced by get_transaction_coordinator().