Typedefs | |
typedef struct ctl_tradeevent_s | ctl_tradeevent |
Opaque handle representing a trade event. | |
Functions | |
ctl_tradeevent * | ctl_trade_create_tradeevent (ctl_provider *provider, ctl_channel *channel, ctl_trade *trade, const char *type) |
Create a new trade event. | |
void | ctl_tradeevent_dealloc (ctl_tradeevent *ev) |
Free up the trade event. | |
void | ctl_tradeevent_add_field (ctl_tradeevent *ev, const char *name, const char *value) |
Add a field to a trade event. | |
const char * | ctl_tradeevent_get_type (ctl_tradeevent *ev) |
Get the type of the trade event. | |
const char * | ctl_tradeevent_get_field (ctl_tradeevent *ev, const char *name) |
Gets the value of a field on the tradeevent. | |
char const ** | ctl_tradeevent_get_fields (ctl_tradeevent *ev, int *num_ptr) |
Gets all fields on the trade event. |
The event may be client generated and received through the ctl_trade_listener interface or it may be generated by custom code to be sent to the client using the ctl_trade_process_event() method.
A TradeEvent typically represents a message received from the client or sent by the server. A message contains a set of fields and values which can be accessed using the ctl_tradeevent_get_field() and ctl_tradeevent_get_fields() methods.
A Typical message represented by a TradeEvent might be:
Field | Value |
MsgType | Execute |
MsgVersion | 5 |
RequestId | 123 |
TradeId | 456789 |
PriceVersion | 3 |
BuySell | BUY |
Price | 1.9950 |
ctl_tradeevent* ctl_trade_create_tradeevent | ( | ctl_provider * | provider, | |
ctl_channel * | channel, | |||
ctl_trade * | trade, | |||
const char * | type | |||
) |
Create a new trade event.
provider | - The trading provider | |
channel | - The trade channel | |
trade | - The trade to set the listener on | |
type | - The type of tradeevent to create (for example Open, Ack etc) |
void ctl_tradeevent_add_field | ( | ctl_tradeevent * | ev, | |
const char * | name, | |||
const char * | value | |||
) |
Add a field to a trade event.
ev | - The trade event to add the field to. | |
name | - The name of the field to add. | |
value | - The value of the field to add |
void ctl_tradeevent_dealloc | ( | ctl_tradeevent * | ev | ) |
Free up the trade event.
ev | - The event to free |
const char* ctl_tradeevent_get_field | ( | ctl_tradeevent * | ev, | |
const char * | name | |||
) |
Gets the value of a field on the tradeevent.
ev | - The tradeevent to query | |
name | - The name of the field to get |
char const** ctl_tradeevent_get_fields | ( | ctl_tradeevent * | ev, | |
int * | num_ptr | |||
) |
Gets all fields on the trade event.
ev | - The tradeevent to query | |
num_ptr | - Pointer to integer that will hold the number of fields on the event |
The returned value should be freed with ctl_free()
const char* ctl_tradeevent_get_type | ( | ctl_tradeevent * | ev | ) |
Get the type of the trade event.
ev | - The tradeevent to query |