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 #include <memory>
00035 #include <string>
00036
00037 namespace RemoteViz
00038 {
00039 namespace Rendering
00040 {
00041
00042 class ServiceSettingsImpl;
00043
00055 class RENDERSERVICE_API ServiceSettings
00056 {
00057
00059 friend class ServiceImpl;
00062 public:
00066 ServiceSettings();
00067
00071 ServiceSettings(const ServiceSettings& obj);
00072
00076 ServiceSettings& operator=(const ServiceSettings& obj);
00077
00081 virtual ~ServiceSettings();
00082
00084
00092 void setIP(const std::string& ip);
00098 const std::string& getIP() const;
00100
00102
00109 void setPort(unsigned short port);
00115 unsigned short getPort() const;
00117
00119
00128 enum RunMode
00129 {
00130 INVENTOR_SERVICE,
00131 INVENTOR_APPLICATION,
00132 INDEPENDENT_SERVICE
00133 };
00139 void setRunMode(ServiceSettings::RunMode runmode);
00145 ServiceSettings::RunMode getRunMode() const;
00147
00149
00154 std::string getHostname() const;
00156
00158
00161 enum Extensions
00162 {
00163 VOLUMEVIZ = 0x1,
00164 VOLUMEVIZLDM = 0x2,
00165 MESHVIZ = 0x4,
00166 MESHVIZXLM = 0x8,
00167 IMAGEVIZ = 0x10,
00168 HARDCOPY = 0x20,
00169 CATIA5READER = 0x40,
00170 CATIA6READER = 0x80,
00171 DWGREADER = 0x100,
00172 IGESREADER = 0x200,
00173 JTREADER = 0x400,
00174 PROEREADER = 0x800,
00175 SOLIDEDGEREADER = 0x1000,
00176 STEPREADER = 0x2000,
00177 SOLIDWORKSREADER = 0x4000,
00178 UGREADER = 0x8000,
00179 VDAREADER = 0x10000,
00180 XMTREADER = 0x20000
00181 };
00202 void setUsedExtensions(unsigned int extensions);
00210 unsigned int getUsedExtensions() const;
00212
00214
00228 void enableSecureConnection(const std::string& publicCertificateFilePath, const std::string& privateKeyFilePath, unsigned int enabledSecurityProtocols = TLSv1 | TLSv1_1 | TLSv1_2);
00234 bool isSecureConnection() const;
00236
00242 const std::string& getPublicCertificateFile() const;
00243
00249 const std::string& getPrivateKeyFile() const;
00250
00252
00255 enum SecurityProtocols
00256 {
00257 SSLv2 = 0x1,
00258 SSLv3 = 0x2,
00259 TLSv1 = 0x4,
00260 TLSv1_1 = 0x8,
00261 TLSv1_2 = 0x10
00262 };
00269 unsigned int getEnabledSecurityProtocols() const;
00271
00272 private:
00274 std::shared_ptr<ServiceSettingsImpl> getImpl() const;
00277 private:
00279 std::shared_ptr<ServiceSettingsImpl> pImpl;
00280
00281 };
00282
00283 }
00284 }
00285