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 <SoDeprecationRules.h>
00026
00027 #include <RemoteViz/Rendering/HTTPResponse.h>
00028
00029 #include <string>
00030 #include <memory>
00031
00032 namespace RemoteViz
00033 {
00034 namespace Rendering
00035 {
00036
00037 class RenderArea;
00038
00039 class Client;
00040
00041 class ConnectionParameters;
00042
00043 class NetworkPerformance;
00044
00045 class RenderAreaHardware;
00046
00047 class HTTPRequest;
00048
00088 class RENDERSERVICE_API ServiceListener
00089 {
00090 public:
00094 virtual ~ServiceListener();
00129 virtual bool onPendingCreateRenderArea(const std::string& renderAreaId, unsigned int& width, unsigned int& height, std::shared_ptr<RenderAreaHardware> renderAreaHardware, std::shared_ptr<Client> client, std::shared_ptr<const ConnectionParameters> parameters);
00148 virtual bool onPendingShareRenderArea(std::shared_ptr<RenderArea> renderArea, std::shared_ptr<Client> client, std::shared_ptr<const ConnectionParameters> parameters);
00156 virtual void onInstantiatedRenderArea(std::shared_ptr<RenderArea> renderArea);
00166 virtual void onDisposingRenderArea(std::shared_ptr<RenderArea> renderArea);
00175 virtual void onDisposedRenderArea(const std::string& renderAreaId);
00196 virtual void onConnectedClient(const std::string& clientId, std::shared_ptr<NetworkPerformance> networkPerformance);
00218 virtual void onInitializedClient(std::shared_ptr<Client> client, std::shared_ptr<const NetworkPerformance> networkPerformance);
00226 virtual void onDisconnectedClient(const std::string& clientId);
00227 #if 1 SoDEPRECATED
00247 virtual void onMissingLicense(const std::string& renderAreaId, std::shared_ptr<const ConnectionParameters> parameters);
00248 #endif
00263 virtual std::string onRequestedPrivateKeyPassphrase();
00264
00291 virtual HTTPResponse onHTTPRequest(std::shared_ptr<const HTTPRequest> httpRequest);
00292 };
00293 }
00294 }
00295