00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #pragma once
00022
00023 #if defined( _WIN32 ) || defined( __WIN32__ )
00024 #if !defined( RemoteVizServices_EXPORTS )
00025 #if _DEBUG
00026 #pragma comment(lib,"RemoteVizServicesD")
00027 #else
00028 #pragma comment(lib,"RemoteVizServices")
00029 #endif
00030 #endif
00031 #endif
00032
00033 #include <Inventor/sys/port.h>
00034
00035 #include <string>
00036 #include <memory>
00037
00038 namespace RemoteViz
00039 {
00040 namespace Rendering
00041 {
00042
00043 class ClientImpl;
00044 class Connection;
00045 class ClientSettings;
00046 struct ClientParameters;
00047
00074 class RENDERSERVICE_API Client {
00075
00077 friend class ServiceImpl;
00078 friend class ConnectionImpl;
00081 public:
00082
00088 const std::string& getId() const;
00096 Connection* getConnection(const std::string& id) const;
00104 Connection* getConnection(unsigned int index) const;
00110 unsigned int getNumConnections() const;
00117 const std::string& getApplicationName() const;
00124 const std::string& getEnvironment() const;
00130 bool isImageStreamingSupported() const;
00136 bool isVideoStreamingSupported() const;
00149 bool sendMessage(const std::string& message, Connection** excludedConnections = NULL, unsigned int num = 0) const;
00154 void disconnect();
00160 ClientSettings* getSettings() const;
00161
00162 private:
00164 std::shared_ptr<ClientImpl> getImpl() const;
00167 private:
00169 std::shared_ptr<ClientImpl> pImpl;
00170
00172 Client(const std::string &id, const ClientParameters& clientParameters);
00173
00175 Client(const Client&) = delete;
00176 Client& operator= (const Client&) = delete;
00177
00178 };
00179
00180 }
00181 }
00182