Class ClientApplication

Inheritance Relationships

Derived Type

Class Documentation

class ClientApplication

FRI client application class.

A client application takes an instance of the IConnection interface and an instance of an IClient interface to provide the functionality needed to set up an FRI client application. It can be used to easily integrate the FRI client code within other applications. The algorithmic functionality of an FRI client application is implemented using the IClient interface.

Subclassed by KUKA::FRI::HWIFClientApplication

Public Functions

ClientApplication(IConnection &connection, IClient &client)

Constructor without transformation client.

This constructor takes an instance of the IConnection interface and an instance of the IClient interface as parameters.

Parameters:
  • connection – FRI connection class

  • client – FRI client class

ClientApplication(IConnection &connection, IClient &client, TransformationClient &trafoClient)

Constructor with transformation client.

This constructor takes an instance of the IConnection interface and an instance of the IClient interface and an instance of a TransformationClient as parameters.

Parameters:
  • connection – FRI connection class

  • client – FRI client class

  • trafoClient – FRI transformation client class

~ClientApplication()

Destructor.

bool connect(int port, const char *remoteHost = NULL)

Connect the FRI client application with a KUKA Sunrise controller.

Parameters:
  • port – The port ID

  • remoteHost – The address of the remote host

Returns:

True if connection was established

void disconnect()

Disconnect the FRI client application from a KUKA Sunrise controller.

bool step()

Run a single processing step.

The processing step consists of receiving a new FRI monitoring message, calling the corresponding client callback and sending the resulting FRI command message back to the KUKA Sunrise controller.

Returns:

True if all of the substeps succeeded.

Protected Attributes

IConnection &_connection

connection interface

IClient *_robotClient

robot client interface

TransformationClient *_trafoClient

transformation client interface

ClientData *_data

client data structure (for internal use)