Program Listing for File friClientIf.h
↰ Return to documentation for file (include/fri_client_sdk/friClientIf.h
)
#ifndef _KUKA_FRI_CLIENT_H
#define _KUKA_FRI_CLIENT_H
namespace KUKA
{
namespace FRI
{
// forward declarations
struct ClientData;
enum ESessionState
{
IDLE = 0,
MONITORING_WAIT = 1,
MONITORING_READY = 2,
COMMANDING_WAIT = 3,
COMMANDING_ACTIVE = 4
};
enum EConnectionQuality
{
POOR = 0,
FAIR = 1,
GOOD = 2,
EXCELLENT = 3
};
enum ESafetyState
{
NORMAL_OPERATION = 0,
SAFETY_STOP_LEVEL_0 = 1,
SAFETY_STOP_LEVEL_1 = 2,
SAFETY_STOP_LEVEL_2 = 3
};
enum EOperationMode
{
TEST_MODE_1 = 0,
TEST_MODE_2 = 1,
AUTOMATIC_MODE = 2
};
enum EDriveState
{
OFF = 0,
TRANSITIONING = 1,
ACTIVE = 2
};
enum EControlMode
{
POSITION_CONTROL_MODE = 0,
CART_IMP_CONTROL_MODE = 1,
JOINT_IMP_CONTROL_MODE = 2,
NO_CONTROL = 3
};
enum EClientCommandMode
{
NO_COMMAND_MODE = 0,
POSITION = 1,
WRENCH = 2,
TORQUE = 3
};
enum EOverlayType
{
NO_OVERLAY = 0,
JOINT = 1,
CARTESIAN = 2
};
class IClient
{
friend class ClientApplication;
public:
virtual ~IClient() {}
virtual void onStateChange(ESessionState oldState, ESessionState newState) = 0;
virtual void monitor() = 0;
virtual void waitForCommand() = 0;
virtual void command() = 0;
protected:
virtual ClientData * createData() = 0;
};
}
}
#endif // _KUKA_FRI_CLIENT_H