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
00026 #include <memory>
00027 #include <string>
00028
00029 namespace RemoteViz
00030 {
00031 namespace Rendering
00032 {
00033
00034 class ServiceSettingsImpl;
00035 class Monitoring;
00036
00048 class RENDERSERVICE_API ServiceSettings
00049 {
00050
00052 friend class ServiceImpl;
00055 public:
00059 ServiceSettings();
00060
00064 ServiceSettings(const ServiceSettings& obj);
00065
00069 ServiceSettings& operator=(const ServiceSettings& obj);
00070
00074 virtual ~ServiceSettings();
00075
00077
00085 void setIP(const std::string& ip);
00091 const std::string& getIP() const;
00093
00095
00102 void setPort(unsigned short port);
00108 unsigned short getPort() const;
00110
00112
00121 enum RunMode
00122 {
00123 INVENTOR_SERVICE,
00124 INVENTOR_APPLICATION,
00125 INDEPENDENT_SERVICE
00126 };
00132 void setRunMode(ServiceSettings::RunMode runmode);
00138 ServiceSettings::RunMode getRunMode() const;
00140
00142
00147 std::string getHostname() const;
00149
00151
00154 enum Extensions
00155 {
00156 VOLUMEVIZ = 0x1,
00157 VOLUMEVIZLDM = 0x2,
00158 MESHVIZ = 0x4,
00159 MESHVIZXLM = 0x8,
00160 IMAGEVIZ = 0x10,
00161 HARDCOPY = 0x20,
00162 CATIA5READER = 0x40,
00163 CATIA6READER = 0x80,
00164 DWGREADER = 0x100,
00165 IGESREADER = 0x200,
00166 JTREADER = 0x400,
00167 PROEREADER = 0x800,
00168 SOLIDEDGEREADER = 0x1000,
00169 STEPREADER = 0x2000,
00170 SOLIDWORKSREADER = 0x4000,
00171 UGREADER = 0x8000,
00172 VDAREADER = 0x10000,
00173 XMTREADER = 0x20000
00174 };
00217 void setUsedExtensions(unsigned int extensions);
00225 unsigned int getUsedExtensions() const;
00227
00229
00235 Monitoring* getMonitoring() const;
00237
00239
00253 void enableSecureConnection(const std::string& publicCertificateFilePath, const std::string& privateKeyFilePath, unsigned int enabledSecurityProtocols = TLSv1_1 | TLSv1_2 | TLSv1_3);
00259 bool isSecureConnection() const;
00261
00267 const std::string& getPublicCertificateFile() const;
00268
00274 const std::string& getPrivateKeyFile() const;
00275
00277
00280 enum SecurityProtocols
00281 {
00282 SSLv2 = 0x1,
00283 SSLv3 = 0x2,
00284 TLSv1 = 0x4,
00285 TLSv1_1 = 0x8,
00286 TLSv1_2 = 0x10,
00287 TLSv1_3 = 0x20
00288 };
00295 unsigned int getEnabledSecurityProtocols() const;
00297
00298 private:
00300 std::shared_ptr<ServiceSettingsImpl> getImpl() const;
00303 private:
00305 std::shared_ptr<ServiceSettingsImpl> pImpl;
00306
00307 };
00308
00309 }
00310 }
00311