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 class UriImpl;
00034
00049 class RENDERSERVICE_API Uri
00050 {
00051 public:
00052
00056 Uri(const std::string& uri);
00057
00061 Uri(const Uri& obj);
00062
00066 Uri& operator=(const Uri& obj);
00067
00071 ~Uri();
00072
00076 const std::string& getScheme() const;
00077
00081 const std::string& getAuthority() const;
00082
00086 const std::string& getPort() const;
00087
00091 const std::string& getPath() const;
00092
00096 const std::string& getQuery() const;
00097
00101 const std::string& getPathAndQuery() const;
00102
00106 bool isAbsolute() const;
00107
00108 private:
00111 std::shared_ptr<UriImpl> getImpl() const;
00114 private:
00115
00119 Uri() = delete;
00120
00122 std::shared_ptr<UriImpl> pImpl;
00123 };
00124
00125 }
00126 }
00127