BetaTrader
A HFT Eco-System
Loading...
Searching...
No Matches
OrderRepository.h
Go to the documentation of this file.
1
9#pragma once
10#include "common/Order.h"
11#include "data/DatabaseWorker.h"
12#include <functional>
13#include <vector>
14
15namespace data {
21 public:
22 explicit OrderRepository(DatabaseWorker* dbWorker);
23 virtual ~OrderRepository() = default;
24
25 virtual void initDatabase();
26 virtual void saveOrder(const common::Order& order);
27 virtual void loadOrdersForInstrument(
28 common::Instrument instrument,
29 std::function<void(std::vector<common::Order>)> callback);
30 virtual void removeOrder(common::OrderID orderId);
31 virtual void updateOrder(const common::Order& order);
32
33 private:
35 };
36} // namespace data
Asynchronous database worker abstraction.
Represents a single trading order in the system.
Definition Order.h:19
Executes database tasks asynchronously.
Definition DatabaseWorker.h:22
Persists and retrieves common::Order objects.
Definition OrderRepository.h:20
virtual void removeOrder(common::OrderID orderId)
Definition OrderRepository.cpp:133
virtual ~OrderRepository()=default
virtual void saveOrder(const common::Order &order)
Definition OrderRepository.cpp:30
virtual void loadOrdersForInstrument(common::Instrument instrument, std::function< void(std::vector< common::Order >)> callback)
Definition OrderRepository.cpp:65
virtual void initDatabase()
Definition OrderRepository.cpp:15
virtual void updateOrder(const common::Order &order)
Definition OrderRepository.cpp:149
DatabaseWorker * mDb
Definition OrderRepository.h:34
Instrument
Represents the financial instruments available for trading.
Definition Instrument.h:17
uint64_t OrderID
A type alias for unique order identifiers.
Definition Types.h:134
Definition Constant.h:13