Skip to content
binho.io (opens in a new tab)Contact Us

Using the Library

Using the Binho Mission Control C++ SDK library typically involves a series of steps to communicate with a target connected to the host adapter, execute commands and handle responses. Command requests and responses follow the Bridge API v1, which can be found at Bridge 1.1 API.

Bellow is a high-level overview based on the provided example applications:

Include the necessary headers to access library’s functionality:

#include "CommandDispatcher.h"
#include <iostream>

Define a function to handle responses from the commands sent to the target adapter. This function is responsible for displaying relevant information about the command’s execution.

void printCommandResponse(const CommandResponse& cr, const std::string& action);

Create an instance of CommandDispatcher and specify the name of the target host adapter:

CommandDispatcher dispatcher("BinhoNova"); // For connecting with the Binho Nova host adapter
CommandDispatcher dispatcher("BinhoSupernova"); // For connecting with the Binho Supernova host adapter

Note: The argument passed to the CommandDispatcher initializer is the name of the target host adapter.

Before sending any commands, start the dispatcher:

dispatcher.start();

With the dispatcher running, invoke commands as needed:

  • Synchronous Commands (waits for the command to finish before moving on):
dispatcher.invokeCommandSync("transaction_id", "command_name", command_params, response_handler);
  • Asynchronous Commands (doesn’t wait for the command to finish):
dispatcher.invokeCommand("transaction_id", "command_name", command_params);
Section titled “6. Wait for All Commands to Finish (Recommended)”

To ensure all issued commands are finished before proceeding:

dispatcher.waitForAllCommands();

Once all tasks are completed, stop the dispatcher:

dispatcher.stop();