/*
* Copyright (c) 2011 Tobias Markmann
* Licensed under the simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
#pragma once
#include <string>
#include <boost/optional.hpp>
#include <Swiften/Elements/Payload.h>
#include <Swiften/JID/JID.h>
#include <Swiften/Network/HostAddressPort.h>
namespace Swift {
class S5BProxyRequest : public Payload {
public:
typedef boost::shared_ptr<S5BProxyRequest> ref;
public:
struct StreamHost {
HostAddressPort addressPort;
JID jid;
};
public:
const boost::optional<StreamHost>& getStreamHost() const {
return streamHost;
}
void setStreamHost(const StreamHost& streamHost) {
this->streamHost = boost::optional<StreamHost>(streamHost);
}
const std::string& getSID() const {
return sid;
}
void setSID(const std::string& sid) {
this->sid = sid;
}
const boost::optional<JID>& getActivate() const {
return activate;
}
void setActivate(const JID& activate) {
this->activate = activate;
}
private:
boost::optional<StreamHost> streamHost;
std::string sid;
boost::optional<JID> activate;
};
}