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
00049 class RENDERSERVICE_API ServiceSettings
00050 {
00051
00053 friend class ServiceImpl;
00056 public:
00060 ServiceSettings();
00061
00065 ServiceSettings(const ServiceSettings& obj);
00066
00070 ServiceSettings& operator=(const ServiceSettings& obj);
00071
00075 ~ServiceSettings();
00076
00078
00086 void setIP(const std::string& ip);
00092 const std::string& getIP() const;
00094
00096
00103 void setPort(unsigned short port);
00109 unsigned short getPort() const;
00111
00113
00122 enum RunMode
00123 {
00124 INVENTOR_SERVICE,
00125 INVENTOR_APPLICATION,
00126 INDEPENDENT_SERVICE
00127 };
00133 void setRunMode(ServiceSettings::RunMode runmode);
00139 ServiceSettings::RunMode getRunMode() const;
00141
00143
00148 std::string getHostname() const;
00150
00152
00155 enum Extensions
00156 {
00157 VOLUMEVIZ = 0x1,
00158 VOLUMEVIZLDM = 0x2,
00159 MESHVIZ = 0x4,
00160 MESHVIZXLM = 0x8,
00161 IMAGEVIZ = 0x10,
00162 HARDCOPY = 0x20,
00163 CATIA5READER = 0x40,
00164 CATIA6READER = 0x80,
00165 DWGREADER = 0x100,
00166 IGESREADER = 0x200,
00167 JTREADER = 0x400,
00168 PROEREADER = 0x800,
00169 SOLIDEDGEREADER = 0x1000,
00170 STEPREADER = 0x2000,
00171 SOLIDWORKSREADER = 0x4000,
00172 UGREADER = 0x8000,
00173 VDAREADER = 0x10000,
00174 XMTREADER = 0x20000
00175 };
00218 void setUsedExtensions(unsigned int extensions);
00226 unsigned int getUsedExtensions() const;
00228
00230
00236 std::shared_ptr<Monitoring> getMonitoring() const;
00238
00240
00260 void enableSecureConnection(const std::string& publicCertificateFilePath, const std::string& privateKeyFilePath, unsigned int enabledSecurityProtocols = TLSv1_1 | TLSv1_2 | TLSv1_3);
00266 bool isSecureConnection() const;
00268
00274 const std::string& getPublicCertificateFile() const;
00275
00281 const std::string& getPrivateKeyFile() const;
00282
00284
00287 enum SecurityProtocols
00288 {
00289 SSLv2 = 0x1,
00290 SSLv3 = 0x2,
00291 TLSv1 = 0x4,
00292 TLSv1_1 = 0x8,
00293 TLSv1_2 = 0x10,
00294 TLSv1_3 = 0x20
00295 };
00302 unsigned int getEnabledSecurityProtocols() const;
00304
00305 private:
00307 std::shared_ptr<ServiceSettingsImpl> getImpl() const;
00310 private:
00312 std::shared_ptr<ServiceSettingsImpl> pImpl;
00313
00314 };
00315
00316 }
00317 }
00318