Files
1NiM-WatingRoom-WatchContro…/components/spit/include/SPIT_ClientInterface.h
T

83 lines
3.4 KiB
C++

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/*
* File: SPIT_ClientInterface.h
* Author: Hagi
*
* Created on 17. April 2019, 16:15
*/
#ifndef SPIT_CLIENTINTERFACE_H
#define SPIT_CLIENTINTERFACE_H
//#include <string>
#include "SPITType.h"
#include "SPITObject.h"
#include "SPITPlayer.h"
#include "SAD_DetectedServer.h"
using namespace std;
class SPIT_ClientInterface {
public:
virtual string getClientProjectID() = 0;
virtual string getClientProjectName() = 0;
/**
* If a new server was found by the ServerAutoDetect mechanism, this function is called.
* If a server can be reached via several IP addresses, the IP address is selected according to the following preference:<br>
* 1.) If a loopback address is available, it is used.<br>
* 2.) If an IP4 address is available, it is used.<br>
* 3.) In the other cases the IP6 address is used.<br>
* @param p_ID the id of the server (every started server should generate an id)
* @param p_Name the name of the SPIT server
* @param p_ComputerName the Hostname of the cpmputer on which the SPIT server is running
* @param p_IP the selected ip address of the SPIT server
* @param p_Port the port of the SPIT server
* @param p_Addition sometimes server may have additional informations
* @param p_isLoopback the server ip is a loopback address
* @param p_IsIP4 the server ip is a ip4 address
* @param p_IsIP6 the server ip is a ip6 address
*/
virtual void eventServerDetected(const SAD_DetectedServer& p_DetectedServer) = 0;
virtual void eventServerLost(const SAD_DetectedServer& p_DetectedServer) = 0;
virtual void eventConnectionStatus(string p_ServerID, string p_ServerComputerName, string p_ServerName, int p_ServerStepTime, int p_ConnectionStatus, int p_OldConnectionStatus) = 0;
virtual void eventProjectReport(string p_ProjectID, string p_ProjectName, int p_FramesPerSeoond) = 0;
virtual void eventProjectClosed(string p_ProjectID) = 0;
virtual void eventStartProjectTransfer() = 0;
virtual void eventEndProjectTransfer() = 0;
virtual void eventSPITType(bool p_New, const SPITType& p_SPITType) = 0;
virtual void eventSPITTypeRemote(bool p_New, const SPITType& p_SPITType) = 0;
virtual void eventSPITTypeRemoved(const SPITType& p_SPITType) = 0;
virtual void eventSPITTypeRemoteRemoved(const SPITType& p_SPITType) = 0;
virtual void eventSPITObject(bool p_New, const SPITType& p_SPITType, const SPITObject& p_SPITObject) = 0;
virtual void eventSPITObjectRemote(bool p_New, const SPITType& p_SPITType, const SPITObject& p_SPITObject) = 0;
virtual void eventSPITObjectRemoved(const SPITType& p_SPITType, const SPITObject& p_SPITObject) = 0;
virtual void eventSPITObjectRemoteRemoved(const SPITType& p_SPITType, const SPITObject& p_SPITObject) = 0;
virtual void eventPlay(string p_PlayerID, string p_PlayerName, char p_PlayerType, bool p_PlayerIsRunning, long long p_TimeFrames) = 0;
virtual void eventPlayObject(string p_PlayerID, bool p_Started, bool p_Stopped, const SPITType& p_SPITType, const SPITObject& p_SPITObject, const SPITPlayer::PlayObject& p_PlayObject) = 0;
//REMOTE Server->Client
virtual void eventPlayRemoteObjectStatus(const SPITType& p_SPITType, const SPITObject& p_SPITObject, long long p_FrameInsideObject, int p_Value) = 0;
};
#endif /* SPIT_CLIENTINTERFACE_H */