Skip to content

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 API v1 Documentation.

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();