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 #include <Inventor/sys/port.h>
00024 #include <RemoteViz/Rendering/LibHelper.h>
00025 #include <RemoteViz/Rendering/EncodedFrame.h>
00026
00027 #include <string>
00028 #include <memory>
00029
00030 namespace RemoteViz
00031 {
00032 namespace Rendering
00033 {
00034
00035 class RenderArea;
00036
00037 class ConnectionImpl;
00038
00039 class Client;
00040
00041 class ConnectionSettings;
00042
00043 class ConnectionParameters;
00044
00065 class RENDERSERVICE_API Connection {
00066
00068 friend class ServiceImpl;
00069 friend class RenderAreaImpl;
00070 friend class ClientImpl;
00071 friend class KeepFramesPerSecondPolicyImpl;
00072 friend class KeepFrameQualityPolicyImpl;
00075 public:
00076
00082 const std::string& getId() const;
00088 ConnectionSettings* getSettings() const;
00094 ConnectionParameters* getParameters() const;
00100 RenderArea* getRenderArea() const;
00106 unsigned int getRequestedWidth() const;
00112 unsigned int getRequestedHeight() const;
00118 unsigned int getContainerWidth() const;
00124 unsigned int getContainerHeight() const;
00130 Client* getClient() const;
00138 bool sendMessage(const std::string& message) const;
00143 void close();
00149 EncodedFrame getLastEncodedFrame() const;
00150
00151 private:
00153 std::shared_ptr<ConnectionImpl> getImpl() const;
00156 private:
00158 std::shared_ptr<ConnectionImpl> pImpl;
00159
00161 Connection();
00162
00164 static std::shared_ptr<Connection> createInstance();
00165
00166 };
00167
00168 }
00169 }
00170