00001
00002
00003
00004
00005
00006
00007 #pragma once
00008
00009 #include <string>
00010
00011 #include <boost/optional.hpp>
00012
00013 #include <Swiften/Elements/Payload.h>
00014 #include <Swiften/JID/JID.h>
00015 #include <Swiften/Network/HostAddressPort.h>
00016
00017 namespace Swift {
00018
00019 class S5BProxyRequest : public Payload {
00020 public:
00021 typedef boost::shared_ptr<S5BProxyRequest> ref;
00022
00023 public:
00024 struct StreamHost {
00025 HostAddressPort addressPort;
00026 JID jid;
00027 };
00028
00029 public:
00030 const boost::optional<StreamHost>& getStreamHost() const {
00031 return streamHost;
00032 }
00033
00034 void setStreamHost(const StreamHost& streamHost) {
00035 this->streamHost = boost::optional<StreamHost>(streamHost);
00036 }
00037
00038 const std::string& getSID() const {
00039 return sid;
00040 }
00041
00042 void setSID(const std::string& sid) {
00043 this->sid = sid;
00044 }
00045
00046 const boost::optional<JID>& getActivate() const {
00047 return activate;
00048 }
00049
00050 void setActivate(const JID& activate) {
00051 this->activate = activate;
00052 }
00053
00054 private:
00055 boost::optional<StreamHost> streamHost;
00056
00057 std::string sid;
00058 boost::optional<JID> activate;
00059 };
00060
00061 }