10#include <ocpp/common/database/database_connection.hpp>
11#include <ocpp/common/database/database_exceptions.hpp>
12#include <ocpp/common/types.hpp>
14namespace ocpp::common {
18 std::string message_type;
19 int32_t message_attempts;
21 std::string unique_id;
26 std::unique_ptr<DatabaseConnectionInterface> database;
27 const fs::path sql_migration_files_path;
28 const uint32_t target_schema_version;
41 const fs::path& sql_migration_files_path, uint32_t target_schema_version)
noexcept;
54 virtual std::vector<DBTransactionMessage>
61 const QueueType queue_type = QueueType::Transaction);
68 const QueueType queue_type = QueueType::Transaction);
Contains a DateTime implementation that can parse and create RFC 3339 compatible strings.
Definition: types.hpp:109
Definition: database_handler_common.hpp:24
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.
Definition: database_handler_common.cpp:103
virtual void init_sql()=0
Perform the initialization needed to use the database. Will be called by open_connection()
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.
Definition: database_handler_common.cpp:81
virtual std::vector< DBTransactionMessage > get_message_queue_messages(const QueueType queue_type=QueueType::Transaction)
Get messages from messages queue table specified by queue_type.
Definition: database_handler_common.cpp:37
virtual void clear_message_queue(const QueueType queue_type=QueueType::Transaction)
Deletes all entries from message queue table specified by queue_type.
Definition: database_handler_common.cpp:116
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 rem...
Definition: database_handler_common.cpp:11
void close_connection()
Closes the database connection.
Definition: database_handler_common.cpp:33
void open_connection()
Opens connection to database file and performs the initialization by calling init_sql()
Definition: database_handler_common.cpp:19
Definition: database_handler_common.hpp:16