XROAD
proto.h File Reference
#include "proto/c/proto/xroad_proto_reader.h"
#include "proto/xroad_proto_builder.h"
#include <common/xroad_common_types.h>
#include <common/xroad_string.h>
#include <cache/xroad_objects_types.h>
#include <cache/xroad_objects.h>
#include <node/xroad_node.h>
#include <mdata/engine/mdata_proto.h>
Include dependency graph for proto.h:

Go to the source code of this file.

Classes

struct  proto_encoded_data_t
 

Macros

#define proto_encode_prop_update(p, req_id, node, field_name, value)
 

Typedefs

typedef struct proto_s proto_t
 

Functions

proto_t * proto_create ()
 
void proto_destroy (proto_t *proto)
 
xroad_str_t proto_to_json (proto_t *p, const char *buf, size_t len)
 
proto_encoded_data_t proto_encode_request_failed (proto_t *proto, uint32_t req_id, xroad_str_t reason)
 
proto_encoded_data_t proto_encode_instr (proto_t *proto, uint32_t req_id, xroad_instr_t *instr, bool is_last)
 
proto_encoded_data_t proto_encode_order_rejected (proto_t *p, int64_t clord_id, xroad_rej_reason_t reason, xroad_str_t text)
 
proto_encoded_data_t proto_encode_cancel_rejected (proto_t *p, int64_t clord_id, xroad_rej_reason_t reason, xroad_str_t text)
 
proto_encoded_data_t proto_encode_replace_rejected (proto_t *p, int64_t clord_id, xroad_rej_reason_t reason, xroad_str_t text)
 
proto_encoded_data_t proto_encode_pong (proto_t *p, xroad_proto_Ping_table_t tbl)
 
proto_encoded_data_t proto_encode_order_accepted (proto_t *p, int64_t clord_id, xroad_accepted_t *msg)
 
proto_encoded_data_t proto_encode_order_canceled (proto_t *p, int64_t clord_id, xroad_canceled_t *msg)
 
proto_encoded_data_t proto_encode_trade (proto_t *p, xroad_order_rabbit_t *rorder, xroad_trade_t *msg)
 
proto_encoded_data_t proto_encode_trd_capt (proto_t *p, xroad_trd_capt_t *msg)
 
proto_encoded_data_t proto_encode_order_replaced (proto_t *p, xroad_order_rabbit_t *rorder, xroad_replaced_t *replaced)
 
proto_encoded_data_t proto_encode_acc_positions (proto_t *p, const xroad_acc_pos_t *acc_pos)
 
proto_encoded_data_t proto_encode_acc_pos_subs_result (proto_t *p, int32_t req_id, xroad_proto_SubsResult_enum_t subs_res)
 
proto_encoded_data_t proto_encode_ping (proto_t *p, int32_t req_id, uint64_t ts)
 
proto_encoded_data_t proto_encode_heartbeat (proto_t *p, uint64_t ts)
 
proto_encoded_data_t proto_encode_acc_balances (proto_t *p, const xroad_acc_balance_t *acc_bal)
 
proto_encoded_data_t proto_encode_acc_bal_subs_result (proto_t *p, int32_t req_id, xroad_proto_SubsResult_enum_t subs_res)
 
proto_encoded_data_t proto_encode_order_status (proto_t *p, int64_t clord_id, xroad_proto_OrdStatus_enum_t ord_status, double qty, double fill_qty, double avg_px, xroad_str_t reason)
 
proto_encoded_data_t proto_encode_prop_update_time (proto_t *p, int32_t req_id, const xroad_node_data_t *ndata, xroad_str_t field_name, xroad_time_t value)
 
proto_encoded_data_t proto_encode_prop_update_int (proto_t *p, int32_t req_id, const xroad_node_data_t *ndata, xroad_str_t field_name, int64_t value)
 
proto_encoded_data_t proto_encode_prop_update_str (proto_t *p, int32_t req_id, const xroad_node_data_t *ndata, xroad_str_t field_name, xroad_str_t value)
 
proto_encoded_data_t proto_encode_prop_update_double (proto_t *p, int32_t req_id, const xroad_node_data_t *ndata, xroad_str_t field_name, double value)
 
proto_encoded_data_t proto_encode_prop_error (proto_t *p, int32_t req_id, const xroad_node_data_t *ndata, xroad_str_t field_name, xroad_str_t reason)
 
proto_encoded_data_t proto_encode_action_response (proto_t *p, int32_t req_id, bool result, xroad_str_t reason)
 
proto_encoded_data_t proto_encode_md_subs_result (proto_t *p, uint32_t req_id, xroad_str_t alias, xroad_proto_MdType_enum_t type, xroad_proto_FieldId_enum_t field_id, xroad_str_t indicator, xroad_proto_SubsResult_enum_t result)
 
proto_encoded_data_t proto_encode_md_trade (proto_t *p, xroad_instr_t *instr, mdata_trade_t *trade, xroad_str_t source)
 
proto_encoded_data_t proto_encode_md_quote (proto_t *p, xroad_instr_t *instr, mdata_quote_t *quote, xroad_str_t source)
 
proto_encoded_data_t proto_encode_md_book (proto_t *p, xroad_instr_t *instr, mdata_book_20_t *book, xroad_str_t source)
 
proto_encoded_data_t proto_encode_md_field (proto_t *p, xroad_instr_t *instr, mdata_common_info_t *cinfo, xroad_proto_FieldId_enum_t field, xroad_str_t source)
 
proto_encoded_data_t proto_encode_md_indicator (proto_t *p, xroad_instr_t *instr, mdata_indicator_t *indicator, xroad_str_t type, xroad_str_t source)
 
proto_encoded_data_t proto_encode_sw_subs_result (proto_t *p, int32_t req_id, xroad_proto_SubsResult_enum_t subs_res)
 
proto_encoded_data_t proto_encode_sw_message (proto_t *p, mdata_speedway_t *speedway)
 

Detailed Description

Macro Definition Documentation

◆ proto_encode_prop_update

#define proto_encode_prop_update (   p,
  req_id,
  node,
  field_name,
  value 
)
Value:
_Generic((value), \
)(p, req_id, node, field_name, value)
proto_encoded_data_t proto_encode_prop_update_double(proto_t *p, int32_t req_id, const xroad_node_data_t *ndata, xroad_str_t field_name, double value)
proto_encoded_data_t proto_encode_prop_update_str(proto_t *p, int32_t req_id, const xroad_node_data_t *ndata, xroad_str_t field_name, xroad_str_t value)
proto_encoded_data_t proto_encode_prop_update_int(proto_t *p, int32_t req_id, const xroad_node_data_t *ndata, xroad_str_t field_name, int64_t value)
Definition: xroad_string.h:29

encode field with value update response

Function Documentation

◆ proto_create()

proto_t* proto_create ( )

create proto

Returns
proto instance

◆ proto_destroy()

void proto_destroy ( proto_t *  proto)

destroy proto instance

Parameters
[in]proto- proto instance to destroy

◆ proto_encode_acc_bal_subs_result()

proto_encoded_data_t proto_encode_acc_bal_subs_result ( proto_t *  p,
int32_t  req_id,
xroad_proto_SubsResult_enum_t  subs_res 
)

encode acc_balance subscription result

◆ proto_encode_acc_balances()

proto_encoded_data_t proto_encode_acc_balances ( proto_t *  p,
const xroad_acc_balance_t *  acc_bal 
)

encode acc_balances

◆ proto_encode_acc_pos_subs_result()

proto_encoded_data_t proto_encode_acc_pos_subs_result ( proto_t *  p,
int32_t  req_id,
xroad_proto_SubsResult_enum_t  subs_res 
)

encode acc_pos subscription result

◆ proto_encode_acc_positions()

proto_encoded_data_t proto_encode_acc_positions ( proto_t *  p,
const xroad_acc_pos_t *  acc_pos 
)

encode acc_positions

◆ proto_encode_action_response()

proto_encoded_data_t proto_encode_action_response ( proto_t *  p,
int32_t  req_id,
bool  result,
xroad_str_t  reason 
)

encode action error response

◆ proto_encode_cancel_rejected()

proto_encoded_data_t proto_encode_cancel_rejected ( proto_t *  p,
int64_t  clord_id,
xroad_rej_reason_t  reason,
xroad_str_t  text 
)

encode cancel rejected

◆ proto_encode_heartbeat()

proto_encoded_data_t proto_encode_heartbeat ( proto_t *  p,
uint64_t  ts 
)

encode heartbeat

◆ proto_encode_instr()

proto_encoded_data_t proto_encode_instr ( proto_t *  proto,
uint32_t  req_id,
xroad_instr_t *  instr,
bool  is_last 
)

encode instrument

◆ proto_encode_md_book()

proto_encoded_data_t proto_encode_md_book ( proto_t *  p,
xroad_instr_t *  instr,
mdata_book_20_t book,
xroad_str_t  source 
)

encode MD book

◆ proto_encode_md_field()

proto_encoded_data_t proto_encode_md_field ( proto_t *  p,
xroad_instr_t *  instr,
mdata_common_info_t cinfo,
xroad_proto_FieldId_enum_t  field,
xroad_str_t  source 
)

encode MD field

◆ proto_encode_md_indicator()

proto_encoded_data_t proto_encode_md_indicator ( proto_t *  p,
xroad_instr_t *  instr,
mdata_indicator_t indicator,
xroad_str_t  type,
xroad_str_t  source 
)

encode MD indicator

◆ proto_encode_md_quote()

proto_encoded_data_t proto_encode_md_quote ( proto_t *  p,
xroad_instr_t *  instr,
mdata_quote_t quote,
xroad_str_t  source 
)

encode MD bestprice

◆ proto_encode_md_subs_result()

proto_encoded_data_t proto_encode_md_subs_result ( proto_t *  p,
uint32_t  req_id,
xroad_str_t  alias,
xroad_proto_MdType_enum_t  type,
xroad_proto_FieldId_enum_t  field_id,
xroad_str_t  indicator,
xroad_proto_SubsResult_enum_t  result 
)

encode md_subs result

◆ proto_encode_md_trade()

proto_encoded_data_t proto_encode_md_trade ( proto_t *  p,
xroad_instr_t *  instr,
mdata_trade_t trade,
xroad_str_t  source 
)

encode MD trade

◆ proto_encode_order_accepted()

proto_encoded_data_t proto_encode_order_accepted ( proto_t *  p,
int64_t  clord_id,
xroad_accepted_t *  msg 
)

encode order accepted

◆ proto_encode_order_canceled()

proto_encoded_data_t proto_encode_order_canceled ( proto_t *  p,
int64_t  clord_id,
xroad_canceled_t *  msg 
)

encode order canceled

◆ proto_encode_order_rejected()

proto_encoded_data_t proto_encode_order_rejected ( proto_t *  p,
int64_t  clord_id,
xroad_rej_reason_t  reason,
xroad_str_t  text 
)

encode order reject

◆ proto_encode_order_replaced()

proto_encoded_data_t proto_encode_order_replaced ( proto_t *  p,
xroad_order_rabbit_t *  rorder,
xroad_replaced_t *  replaced 
)

encode order replaced

◆ proto_encode_order_status()

proto_encoded_data_t proto_encode_order_status ( proto_t *  p,
int64_t  clord_id,
xroad_proto_OrdStatus_enum_t  ord_status,
double  qty,
double  fill_qty,
double  avg_px,
xroad_str_t  reason 
)

encode order_status

◆ proto_encode_ping()

proto_encoded_data_t proto_encode_ping ( proto_t *  p,
int32_t  req_id,
uint64_t  ts 
)

encode ping

◆ proto_encode_pong()

proto_encoded_data_t proto_encode_pong ( proto_t *  p,
xroad_proto_Ping_table_t  tbl 
)

encode pong

◆ proto_encode_prop_error()

proto_encoded_data_t proto_encode_prop_error ( proto_t *  p,
int32_t  req_id,
const xroad_node_data_t ndata,
xroad_str_t  field_name,
xroad_str_t  reason 
)

encode field with error response

◆ proto_encode_prop_update_double()

proto_encoded_data_t proto_encode_prop_update_double ( proto_t *  p,
int32_t  req_id,
const xroad_node_data_t ndata,
xroad_str_t  field_name,
double  value 
)

encode field with double value update response

◆ proto_encode_prop_update_int()

proto_encoded_data_t proto_encode_prop_update_int ( proto_t *  p,
int32_t  req_id,
const xroad_node_data_t ndata,
xroad_str_t  field_name,
int64_t  value 
)

encode field with int64_t value update response

◆ proto_encode_prop_update_str()

proto_encoded_data_t proto_encode_prop_update_str ( proto_t *  p,
int32_t  req_id,
const xroad_node_data_t ndata,
xroad_str_t  field_name,
xroad_str_t  value 
)

encode field with xroad_str_t value update response

◆ proto_encode_prop_update_time()

proto_encoded_data_t proto_encode_prop_update_time ( proto_t *  p,
int32_t  req_id,
const xroad_node_data_t ndata,
xroad_str_t  field_name,
xroad_time_t  value 
)

encode field with time value update response

◆ proto_encode_replace_rejected()

proto_encoded_data_t proto_encode_replace_rejected ( proto_t *  p,
int64_t  clord_id,
xroad_rej_reason_t  reason,
xroad_str_t  text 
)

encode replace rejected

◆ proto_encode_request_failed()

proto_encoded_data_t proto_encode_request_failed ( proto_t *  proto,
uint32_t  req_id,
xroad_str_t  reason 
)

encode request failed

◆ proto_encode_sw_message()

proto_encoded_data_t proto_encode_sw_message ( proto_t *  p,
mdata_speedway_t speedway 
)

encode SW message

◆ proto_encode_sw_subs_result()

proto_encoded_data_t proto_encode_sw_subs_result ( proto_t *  p,
int32_t  req_id,
xroad_proto_SubsResult_enum_t  subs_res 
)

encode speedway subscription result

◆ proto_encode_trade()

proto_encoded_data_t proto_encode_trade ( proto_t *  p,
xroad_order_rabbit_t *  rorder,
xroad_trade_t *  msg 
)

encode trade

◆ proto_encode_trd_capt()

proto_encoded_data_t proto_encode_trd_capt ( proto_t *  p,
xroad_trd_capt_t *  msg 
)

encode trd_capt

◆ proto_to_json()

xroad_str_t proto_to_json ( proto_t *  p,
const char *  buf,
size_t  len 
)

print encoded data to JSON

Parameters
[in]p- proto instalnce
[in]buf- buffer to print
[in]len- buffer length
Returns
JSON string