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 HTTPHeadersImpl;
00034
00048 class RENDERSERVICE_API HTTPHeaders
00049 {
00050 public:
00051
00055 HTTPHeaders();
00056
00060 HTTPHeaders(const HTTPHeaders& obj);
00061
00065 HTTPHeaders& operator=(const HTTPHeaders& obj);
00066
00070 ~HTTPHeaders();
00071
00080 void add(const std::string& name, const std::string& value);
00081
00087 void remove(const std::string& name);
00088
00092 void clear();
00093
00099 size_t count() const;
00100
00108 bool exists(const std::string& name) const;
00109
00117 const std::string& getValue(const std::string& name) const;
00118
00126 const std::string& getNameAt(size_t index) const;
00127
00128 private:
00131 std::shared_ptr<HTTPHeadersImpl> getImpl() const;
00134 private:
00136 std::shared_ptr<HTTPHeadersImpl> pImpl;
00137 };
00138
00139 }
00140 }
00141