14 #include "registration.h"
16 #include "clientbase.h"
25 : m_parent( parent ), m_to( to ), m_registrationHandler( 0 )
31 : m_parent( parent ), m_registrationHandler( 0 )
36 void Registration::init()
56 const std::string&
id = m_parent->
getID();
63 Tag *q =
new Tag( iq,
"query" );
66 m_parent->
trackID(
this,
id, FetchRegistrationFields );
75 const std::string&
id = m_parent->
getID();
82 Tag *q =
new Tag( iq,
"query" );
85 if( fields & FieldUsername )
87 if( fields & FieldNick )
88 new Tag( q,
"nick", values.
nick );
89 if( fields & FieldPassword )
91 if( fields & FieldName )
92 new Tag( q,
"name", values.
name );
93 if( fields & FieldFirst )
95 if( fields & FieldLast )
96 new Tag( q,
"last", values.
last );
97 if( fields & FieldEmail )
99 if( fields & FieldAddress )
101 if( fields & FieldCity )
102 new Tag( q,
"city", values.
city );
103 if( fields & FieldState )
104 new Tag( q,
"state", values.
state );
105 if( fields & FieldZip )
106 new Tag( q,
"zip", values.
zip );
107 if( fields & FieldPhone )
108 new Tag( q,
"phone", values.
phone );
109 if( fields & FieldUrl )
110 new Tag( q,
"url", values.
url );
111 if( fields & FieldDate )
112 new Tag( q,
"date", values.
date );
113 if( fields & FieldMisc )
114 new Tag( q,
"misc", values.
misc );
115 if( fields & FieldText )
116 new Tag( q,
"text", values.
text );
118 m_parent->
trackID(
this,
id, CreateAccount );
119 m_parent->
send( iq );
127 const std::string&
id = m_parent->
getID();
129 Tag *iq =
new Tag(
"iq" );
134 Tag *q =
new Tag( iq,
"query" );
138 m_parent->
trackID(
this,
id, CreateAccount );
139 m_parent->
send( iq );
144 if( !m_parent || !m_parent->
authed() )
147 const std::string&
id = m_parent->
getID();
149 Tag *iq =
new Tag(
"iq" );
155 Tag *q =
new Tag( iq,
"query" );
157 new Tag( q,
"remove" );
159 m_parent->
trackID(
this,
id, RemoveAccount );
160 m_parent->
send( iq );
165 if( !m_parent || !m_parent->
authed() )
168 const std::string&
id = m_parent->
getID();
170 Tag *iq =
new Tag(
"iq" );
175 Tag *q =
new Tag( iq,
"query" );
177 new Tag( q,
"username", username );
178 new Tag( q,
"password", password );
180 m_parent->
trackID(
this,
id, ChangePassword );
181 m_parent->
send( iq );
186 m_registrationHandler = rh;
191 m_registrationHandler = 0;
196 if( !m_registrationHandler )
203 case FetchRegistrationFields:
228 std::string instructions;
231 fields |= FieldUsername;
235 fields |= FieldPassword;
239 fields |= FieldFirst;
243 fields |= FieldEmail;
245 fields |= FieldAddress;
249 fields |= FieldState;
253 fields |= FieldPhone;