00001
00002
00003
00004
00005
00006
00007 #pragma once
00008
00009 #include <boost/shared_ptr.hpp>
00010 #include <boost/optional.hpp>
00011 #include <string>
00012
00013 #include <Swiften/Elements/Payload.h>
00014 #include <Swiften/Elements/Form.h>
00015
00016 namespace Swift {
00017 class InBandRegistrationPayload : public Payload {
00018 public:
00019 typedef boost::shared_ptr<InBandRegistrationPayload> ref;
00020
00021 InBandRegistrationPayload() : registered(false), remove(false) {}
00022
00023 Form::ref getForm() const { return form; }
00024 void setForm(Form::ref f) { form = f; }
00025
00026 bool isRegistered() const {
00027 return registered;
00028 }
00029
00030 void setRegistered(bool b) {
00031 registered = b;
00032 }
00033
00034 bool isRemove() const {
00035 return remove;
00036 }
00037
00038 void setRemove(bool b) {
00039 remove = b;
00040 }
00041
00042 const boost::optional<std::string>& getInstructions() const {
00043 return instructions;
00044 }
00045
00046 const boost::optional<std::string>& getUsername() const {
00047 return username;
00048 }
00049
00050 const boost::optional<std::string>& getNick() const {
00051 return nick;
00052 }
00053
00054 const boost::optional<std::string>& getPassword() const {
00055 return password;
00056 }
00057
00058 const boost::optional<std::string>& getName() const {
00059 return name;
00060 }
00061
00062 const boost::optional<std::string>& getFirst() const {
00063 return first;
00064 }
00065
00066 const boost::optional<std::string>& getLast() const {
00067 return last;
00068 }
00069
00070 const boost::optional<std::string>& getEMail() const {
00071 return email;
00072 }
00073
00074 const boost::optional<std::string>& getAddress() const {
00075 return address;
00076 }
00077
00078 const boost::optional<std::string>& getCity() const {
00079 return city;
00080 }
00081
00082 const boost::optional<std::string>& getState() const {
00083 return state;
00084 }
00085
00086 const boost::optional<std::string>& getZip() const {
00087 return zip;
00088 }
00089
00090 const boost::optional<std::string>& getPhone() const {
00091 return phone;
00092 }
00093
00094 const boost::optional<std::string>& getURL() const {
00095 return url;
00096 }
00097
00098 const boost::optional<std::string>& getDate() const {
00099 return date;
00100 }
00101
00102 const boost::optional<std::string>& getMisc() const {
00103 return misc;
00104 }
00105
00106 const boost::optional<std::string>& getText() const {
00107 return text;
00108 }
00109
00110 const boost::optional<std::string>& getKey() const {
00111 return key;
00112 }
00113
00114 void setInstructions(const std::string& v) {
00115 this->instructions = v;
00116 }
00117
00118 void setUsername(const std::string& v) {
00119 this->username = v;
00120 }
00121
00122 void setNick(const std::string& v) {
00123 this->nick = v;
00124 }
00125
00126 void setPassword(const std::string& v) {
00127 this->password = v;
00128 }
00129
00130 void setName(const std::string& v) {
00131 this->name = v;
00132 }
00133
00134 void setFirst(const std::string& v) {
00135 this->first = v;
00136 }
00137
00138 void setLast(const std::string& v) {
00139 this->last = v;
00140 }
00141
00142 void setEMail(const std::string& v) {
00143 this->email = v;
00144 }
00145
00146 void setAddress(const std::string& v) {
00147 this->address = v;
00148 }
00149
00150 void setCity(const std::string& v) {
00151 this->city = v;
00152 }
00153
00154 void setState(const std::string& v) {
00155 this->state = v;
00156 }
00157
00158 void setZip(const std::string& v) {
00159 this->zip = v;
00160 }
00161
00162 void setPhone(const std::string& v) {
00163 this->phone = v;
00164 }
00165
00166 void setURL(const std::string& v) {
00167 this->url = v;
00168 }
00169
00170 void setDate(const std::string& v) {
00171 this->date = v;
00172 }
00173
00174 void setMisc(const std::string& v) {
00175 this->misc = v;
00176 }
00177
00178 void setText(const std::string& v) {
00179 this->text = v;
00180 }
00181
00182 void setKey(const std::string& v) {
00183 this->key = v;
00184 }
00185
00186 private:
00187 Form::ref form;
00188 bool registered;
00189 bool remove;
00190 boost::optional<std::string> instructions;
00191 boost::optional<std::string> username;
00192 boost::optional<std::string> nick;
00193 boost::optional<std::string> password;
00194 boost::optional<std::string> name;
00195 boost::optional<std::string> first;
00196 boost::optional<std::string> last;
00197 boost::optional<std::string> email;
00198 boost::optional<std::string> address;
00199 boost::optional<std::string> city;
00200 boost::optional<std::string> state;
00201 boost::optional<std::string> zip;
00202 boost::optional<std::string> phone;
00203 boost::optional<std::string> url;
00204 boost::optional<std::string> date;
00205 boost::optional<std::string> misc;
00206 boost::optional<std::string> text;
00207 boost::optional<std::string> key;
00208 };
00209 }