MESSAGE BUS SERVER
Jump to navigation
Jump to search
Contents
Overview
The message bus server is implemented in a DLL that exposes an entry-point function named TruxtonMessageBusServer.
An application wishing to communicate to the server hosting the message bus will perform these basic steps:
- Manually load the DLL
- Get the address of the
TruxtonMessageBusServerfunction in that library - Call
TruxtonMessageBusServerwith the address of theMESSAGE_BUS_PROVIDER - Use the function pointers in
MESSAGE_BUS_SERVERstructure to communicate with the server
Interface
struct MESSAGE_BUS_SERVER
{
uint64_t signature;
void * library_handle;
void * implementation_handle;
MESSAGE_BUS_SERVER_CLOSE close;
MESSAGE_BUS_SERVER_CREATE create;
MESSAGE_BUS_SERVER_DESTROY destroy;
MESSAGE_BUS_SERVER_OPEN open;
};
Defines
#define MESSAGE_BUS_SERVER_SIGNATURE (0x726576726553424DULL)
#define MESSAGE_BUS_SERVER_PROVIDER_ENTRY_POINT_NAME "TruxtonMessageBusServer"
#define MESSAGE_BUS_SERVER_LOG_INFORMATION (0)
#define MESSAGE_BUS_SERVER_LOG_WARNING (1)
#define MESSAGE_BUS_SERVER_LOG_ERROR (2)
#define MESSAGE_BUS_SERVER_LOG_VERBOSE (3)
Function Types
using MESSAGE_BUS_SERVER_LOG = void (*)(void * logging_handle, int level, char const * message);
using MESSAGE_BUS_SERVER_GET_SETTING = int (*)(void * context, char const * name, char * destination, int destination_size);
using MESSAGE_BUS_SERVER_CLOSE = void (*)(void * handle);
using MESSAGE_BUS_SERVER_CREATE = void (*)(void * handle, char const * name);
using MESSAGE_BUS_SERVER_DESTROY = void (*)(void * handle, char const * name);
using MESSAGE_BUS_SERVER_OPEN = void * (*)(void * library_handle, void * context, MESSAGE_BUS_SERVER_GET_SETTING, void * log_context, MESSAGE_BUS_SERVER_LOG log);
using MESSAGE_BUS_SERVER_PROVIDER_ENTRY_POINT = void (*)(MESSAGE_BUS_SERVER *);