BetaTrader
A HFT Eco-System
Loading...
Searching...
No Matches
ExecutionPublisher.h
Go to the documentation of this file.
1//
2// Created by sujal on 29-10-2025.
3//
4#pragma once
5
6#include "common/Order.h"
7#include "common/Trade.h"
8#include "common_fix/ExecutionReport.h" // Include the report type
9#include <string>
10
11namespace trading_core {
22 public:
26 ExecutionPublisher() = default;
27
32
37
42
50 static void publishExecution(const common::Order& order,
51 const std::string& action);
52
57 static void publishTrade(const common::Trade& trade);
58
65 static void publishRejection(const common::OrderID& orderId,
66 const common::ClientID& clientId,
67 const std::string_view& reason);
68 };
69} // namespace trading_core
Represents a single trading order in the system.
Definition Order.h:19
Represents a single trade execution in the system.
Definition Trade.h:19
A utility class for publishing execution reports, trades, and rejections.
Definition ExecutionPublisher.h:21
~ExecutionPublisher()=default
Default destructor.
static void publishTrade(const common::Trade &trade)
Publishes a trade execution.
Definition ExecutionPublisher.cpp:50
ExecutionPublisher & operator=(const ExecutionPublisher &)=delete
Copy assignment operator is deleted to prevent copying.
static void publishExecution(const common::Order &order, const std::string &action)
Publishes an execution report for an order.
Definition ExecutionPublisher.cpp:13
ExecutionPublisher()=default
Default constructor is deleted to prevent instantiation.
ExecutionPublisher(const ExecutionPublisher &)=delete
Copy constructor is deleted to prevent copying.
static void publishRejection(const common::OrderID &orderId, const common::ClientID &clientId, const std::string_view &reason)
Publishes a rejection for an order.
Definition ExecutionPublisher.cpp:113
uint64_t OrderID
A type alias for unique order identifiers.
Definition Types.h:134
std::string ClientID
A type alias for client identifiers.
Definition Types.h:140
Definition CancelOrder.h:10