/* * 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 #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:
* 1.) If a loopback address is available, it is used.
* 2.) If an IP4 address is available, it is used.
* 3.) In the other cases the IP6 address is used.
* @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 */