ocpp 0.24.1
A C++ implementation of the Open Charge Point Protocol
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ocpp::common::DatabaseHandlerCommon Class Referenceabstract
Inheritance diagram for ocpp::common::DatabaseHandlerCommon:
ocpp::v16::DatabaseHandler ocpp::v2::DatabaseHandler ocpp::v2::InitDeviceModelDb

Public Member Functions

 DatabaseHandlerCommon (std::unique_ptr< DatabaseConnectionInterface > database, const fs::path &sql_migration_files_path, uint32_t target_schema_version) noexcept
 Common database handler class Class handles some common database functionality like inserting and removing transaction messages. More...
 
void open_connection ()
 Opens connection to database file and performs the initialization by calling init_sql()
 
void close_connection ()
 Closes the database connection.
 
virtual std::vector< DBTransactionMessageget_message_queue_messages (const QueueType queue_type=QueueType::Transaction)
 Get messages from messages queue table specified by queue_type. More...
 
virtual void insert_message_queue_message (const DBTransactionMessage &message, const QueueType queue_type=QueueType::Transaction)
 Insert a new message into messages queue table specified by queue_type. More...
 
virtual void remove_message_queue_message (const std::string &unique_id, const QueueType queue_type=QueueType::Transaction)
 Remove a message from the messages queue table specified by queue_type. More...
 
virtual void clear_message_queue (const QueueType queue_type=QueueType::Transaction)
 Deletes all entries from message queue table specified by queue_type. More...
 

Protected Member Functions

virtual void init_sql ()=0
 Perform the initialization needed to use the database. Will be called by open_connection() More...
 

Protected Attributes

std::unique_ptr< DatabaseConnectionInterfacedatabase
 
const fs::path sql_migration_files_path
 
const uint32_t target_schema_version
 

Constructor & Destructor Documentation

◆ DatabaseHandlerCommon()

ocpp::common::DatabaseHandlerCommon::DatabaseHandlerCommon ( std::unique_ptr< DatabaseConnectionInterface database,
const fs::path &  sql_migration_files_path,
uint32_t  target_schema_version 
)
explicitnoexcept

Common database handler class Class handles some common database functionality like inserting and removing transaction messages.

Parameters
databaseInterface for the database connection
sql_migration_files_pathFilesystem path to migration file folder
target_schema_versionThe required schema version of the database

Member Function Documentation

◆ clear_message_queue()

void ocpp::common::DatabaseHandlerCommon::clear_message_queue ( const QueueType  queue_type = QueueType::Transaction)
virtual

Deletes all entries from message queue table specified by queue_type.

Parameters
queue_type,defaultsto QueueType::Transaction

◆ get_message_queue_messages()

std::vector< DBTransactionMessage > ocpp::common::DatabaseHandlerCommon::get_message_queue_messages ( const QueueType  queue_type = QueueType::Transaction)
virtual

Get messages from messages queue table specified by queue_type.

Parameters
queue_type,defaultsto QueueType::Transaction
Returns
The transaction messages.

◆ init_sql()

virtual void ocpp::common::DatabaseHandlerCommon::init_sql ( )
protectedpure virtual

Perform the initialization needed to use the database. Will be called by open_connection()

Implemented in ocpp::v2::InitDeviceModelDb.

◆ insert_message_queue_message()

void ocpp::common::DatabaseHandlerCommon::insert_message_queue_message ( const DBTransactionMessage message,
const QueueType  queue_type = QueueType::Transaction 
)
virtual

Insert a new message into messages queue table specified by queue_type.

Parameters
messageThe message to be stored.
queue_type,defaultsto QueueType::Transaction

◆ remove_message_queue_message()

void ocpp::common::DatabaseHandlerCommon::remove_message_queue_message ( const std::string &  unique_id,
const QueueType  queue_type = QueueType::Transaction 
)
virtual

Remove a message from the messages queue table specified by queue_type.

Parameters
unique_idThe unique id of the transaction message
queue_type,defaultsto QueueType::Transaction
Returns
True on success.

The documentation for this class was generated from the following files: