#include <stdarg.h>
#include <sys/types.h>
#include "sl4c.h"
#include "datasrc.h"
Go to the source code of this file.
Classes | |
struct | ctl_trade_listener |
Listener interface that should be registered if you wish to receive events for a trade. More... | |
struct | ctl_channel_listener |
Listener interface that should be registered if you wish to receive notification of trade creation and closing. More... | |
struct | ctl_app_listener |
Listener interface that should be registered to receive notification of tradechannel creation and closing. More... | |
Typedefs | |
typedef struct ctl_trade_s | ctl_trade |
Opaque handle representing a trade. | |
typedef struct ctl_tradeevent_s | ctl_tradeevent |
Opaque handle representing a trade event. | |
typedef struct ctl_channel_s | ctl_channel |
Opaque handle representing a trade channel. | |
typedef struct ctl_provider_s | ctl_provider |
Opaque handle representing a trading provider. | |
typedef void(* | ctl_audit_log_cb )(void *ctx, ctl_provider *provider, const char *id, ctl_trade *trade, ctl_tradeevent *ev) |
Definition of the function that you should implement to receive audit logging. | |
typedef void(* | ctl_log_cb )(void *ctx, ctl_loglevel level, const char *fmt, va_list ap) |
Callback type for logging. | |
Enumerations | |
enum | ctl_error { ctl_error_OK, ctl_error_FAILED_SOURCE_GUARD, ctl_error_INVALID_TRANSITION, ctl_error_UNKNOWN_CHANNEL, ctl_error_UNKNOWN_TRADE, ctl_error_INVALID_PARAMETERS, ctl_error_MISSING_REQUIRED_FIELD } |
Error codes used by the library. More... | |
enum | ctl_loglevel { ctl_LOG_FINEST = 1, ctl_LOG_FINER, ctl_LOG_DEBUG, ctl_LOG_INFO, ctl_LOG_NOTIFY, ctl_LOG_WARN, ctl_LOG_ERROR, ctl_LOG_CRITICAL, ctl_LOG_CONFIG } |
Enumeration that represents the available logging levels. More... | |
Functions | |
CTL_EXPORT ctl_provider * | ctl_create_sl_provider (streamlink *sl, int num_models, const char *const *models) |
Create a StreamLink trading provider. | |
CTL_EXPORT ctl_channel * | ctl_provider_create_channel (ctl_provider *provider, const char *subject, ctl_channel_listener *listener, void *context) |
Create a trade channel using the supplied provider. | |
CTL_EXPORT ctl_trade * | ctl_channel_create_trade (ctl_provider *provider, ctl_channel *channel, const char *model) |
Create a trade on the specified trade channel. | |
CTL_EXPORT ctl_provider * | ctl_create_ds_provider (ctl_app_listener *listener, void *context, int num_models, const char *const *models, const char *namespacePattern) |
Create a DataSource trading provider. | |
CTL_EXPORT void | ctl_provider_set_audit_dslog (ctl_provider *provider, ds_log_t *log) |
Set the logfile that audit logs will be written to. | |
CTL_EXPORT void | ctl_provider_set_audit_logger (ctl_provider *provider, ctl_audit_log_cb callback, void *ctx) |
Set the callback function for the audit logger. | |
CTL_EXPORT void | ctl_provider_set_use_generic_messages (ctl_provider *provider, int use_generic_messages) |
Set whether the Trading provider will use generic messages. | |
CTL_EXPORT ctl_provider * | ctl_create_ds_client_provider (int num_models, const char *const *models) |
Create a DataSource client Trading provider. | |
CTL_EXPORT void | ctl_provider_set_application_listener (ctl_provider *provider, ctl_app_listener *listener, void *context) |
Set the application listener for the supplied provider. | |
CTL_EXPORT void | ctl_provider_dealloc (ctl_provider *provider) |
Deallocate the trading provider. | |
CTL_EXPORT void | ctl_channel_set_listener (ctl_provider *provider, ctl_channel *channel, ctl_channel_listener *listener, void *context) |
Set the listener on the trade channel. | |
CTL_EXPORT const char * | ctl_channel_get_username (ctl_provider *provider, ctl_channel *channel) |
Get the name of the user that opened the specified channel. | |
CTL_EXPORT const char * | ctl_channel_get_subject (ctl_provider *provider, ctl_channel *channel) |
Get the subject of the TradeChannel. | |
CTL_EXPORT void * | ctl_channel_get_user_pointer (ctl_provider *provider, ctl_channel *channel) |
Gets the user pointer on the ctl_trade object. | |
CTL_EXPORT void | ctl_channel_set_user_pointer (ctl_provider *provider, ctl_channel *channel, void *ptr) |
Set a user pointer on the ctl_channel object. | |
CTL_EXPORT void | ctl_channel_close (ctl_provider *provider, ctl_channel *channel) |
Forcibly close the trade channel. | |
CTL_EXPORT void | ctl_trade_set_listener (ctl_provider *provider, ctl_channel *channel, ctl_trade *trade, ctl_trade_listener *listener, void *context) |
Set the listener for the specified trade. | |
CTL_EXPORT ctl_error | ctl_trade_process_event (ctl_provider *provider, ctl_channel *channel, ctl_trade *trade, ctl_tradeevent *tradeevent) |
Process an event for the specified trade. | |
CTL_EXPORT const char * | ctl_trade_get_field (ctl_provider *provider, ctl_channel *channel, ctl_trade *trade, const char *fieldname) |
Get a field that is stored on the trade. | |
CTL_EXPORT const char * | ctl_trade_get_protocol (ctl_provider *provider, ctl_channel *channel, ctl_trade *trade) |
Get the name of the trade model that is in use for the specified trade. | |
CTL_EXPORT const char * | ctl_trade_get_requestid (ctl_provider *provider, ctl_channel *channel, ctl_trade *trade) |
Get the client generated identifier that is in use for the specified trade. | |
CTL_EXPORT const char * | ctl_trade_get_state (ctl_provider *provider, ctl_channel *channel, ctl_trade *trade) |
Get the current state of the specified trade. | |
CTL_EXPORT void * | ctl_trade_get_user_pointer (ctl_provider *provider, ctl_channel *channel, ctl_trade *trade) |
Gets the user pointer on the ctl_trade object. | |
CTL_EXPORT void | ctl_trade_set_user_pointer (ctl_provider *provider, ctl_channel *channel, ctl_trade *trade, void *ptr) |
Set a user pointer on the ctl_trade object. | |
CTL_EXPORT ctl_tradeevent * | ctl_trade_create_tradeevent (ctl_provider *provider, ctl_channel *channel, ctl_trade *trade, const char *type) |
Create a new trade event. | |
CTL_EXPORT void | ctl_tradeevent_add_field (ctl_tradeevent *ev, const char *name, const char *value) |
Add a field to a trade event. | |
CTL_EXPORT const char * | ctl_tradeevent_get_type (ctl_tradeevent *ev) |
Get the type of the trade event. | |
CTL_EXPORT const char * | ctl_tradeevent_get_field (ctl_tradeevent *ev, const char *name) |
Gets the value of a field on the tradeevent. | |
CTL_EXPORT char const ** | ctl_tradeevent_get_fields (ctl_tradeevent *ev, int *num_ptr) |
Gets all fields on the trade event. | |
CTL_EXPORT void | ctl_tradeevent_dealloc (ctl_tradeevent *ev) |
Free up the trade event. | |
CTL_EXPORT void | ctl_set_log_callback (ctl_provider *provider, ctl_log_cb callback, void *ctx) |
Set the log callback function. | |
CTL_EXPORT void | ctl_free (void *ptr) |
Free the supplied memory block. | |
CTL_EXPORT void | ctl_log (ctl_provider *provider, ctl_loglevel level, const char *fmt,...) |
Log a message to the logfile for the provider. | |
CTL_EXPORT void | ctl_set_allocator (void *(*realloc_func)(void *ctx, void *orig, size_t size), void(*free_func)(void *ctx, void *), void *ctx) |
Set the allocator that will be used by the library. | |
CTL_EXPORT void * | ctl_malloc (size_t size) |
Allocate a chunk of memory. | |
CTL_EXPORT void * | ctl_realloc (void *orig, size_t size) |
Reallocate the supplied memory. | |
CTL_EXPORT char * | ctl_strdup (const char *orig) |
Duplicate the supplied string. | |
CTL_EXPORT void * | ctl_calloc (size_t nmemb, size_t size) |
Allocate and zero an array of elements. | |
CTL_EXPORT const char * | ctl_loglevel_tostring (ctl_loglevel level) |
Return a textual description for the given log level. | |
CTL_EXPORT const char * | ctl_error_tostring (ctl_error error) |
Return a textual description for the given error code. | |
CTL_EXPORT char * | ctl_tradeevent_tostring (ctl_tradeevent *trade, char *buf, size_t buflen) |
Create a string representation of a ctl_tradeevent object. | |
CTL_EXPORT char * | ctl_trade_tostring (ctl_trade *trade, char *buf, size_t buflen) |
Create a string representation of a ctl_trade object. | |
CTL_EXPORT char * | ctl_channel_tostring (ctl_channel *channel, char *buf, size_t buflen) |
Create a string representation of a ctl_channel object. |
If you want to build a DataSource Trading adapter then you must define HAVE_DSDK prior to including this file. Alternatively, if you want to build a StreamLink Trading application then you must define HAVE_STREAMLINK prior to including this file.
CTL_EXPORT void ctl_provider_dealloc | ( | ctl_provider * | provider | ) |
Deallocate the trading provider.
provider | - The trading provider to deallocate |