equal
deleted
inserted
replaced
39 * |
39 * |
40 * results |
40 * results |
41 * a pointer to the connection structure |
41 * a pointer to the connection structure |
42 * or NULL if allocations failed |
42 * or NULL if allocations failed |
43 */ |
43 */ |
44 jconn jab_new(char *user, char *pass, int port, int ssl) |
44 jconn jab_new(char *user, char *pass, char *server, int port, int ssl) |
45 { |
45 { |
46 pool p; |
46 pool p; |
47 jconn j; |
47 jconn j; |
48 |
48 |
49 if(!user) return(NULL); |
49 if(!user) return(NULL); |
55 j->p = p; |
55 j->p = p; |
56 |
56 |
57 j->user = jid_new(p, user); |
57 j->user = jid_new(p, user); |
58 j->pass = pstrdup(p, pass); |
58 j->pass = pstrdup(p, pass); |
59 j->port = port; |
59 j->port = port; |
|
60 j->server = server; |
60 |
61 |
61 j->state = JCONN_STATE_OFF; |
62 j->state = JCONN_STATE_OFF; |
62 j->cw_state = 0; |
63 j->cw_state = 0; |
63 j->id = 1; |
64 j->id = 1; |
64 j->fd = -1; |
65 j->fd = -1; |
137 XML_SetUserData(j->parser, (void *)j); |
138 XML_SetUserData(j->parser, (void *)j); |
138 XML_SetElementHandler(j->parser, startElement, endElement); |
139 XML_SetElementHandler(j->parser, startElement, endElement); |
139 XML_SetCharacterDataHandler(j->parser, charData); |
140 XML_SetCharacterDataHandler(j->parser, charData); |
140 |
141 |
141 if (j->cw_state & CW_CONNECT_BLOCKING) |
142 if (j->cw_state & CW_CONNECT_BLOCKING) |
142 j->fd = make_netsocket(j->port, j->user->server, NETSOCKET_CLIENT, j->ssl); |
143 j->fd = make_netsocket(j->port, j->server, NETSOCKET_CLIENT, j->ssl); |
143 else |
144 else |
144 j->fd = make_nb_netsocket(j->port, j->user->server, NETSOCKET_CLIENT, j->ssl, &j->cw_state); |
145 j->fd = make_nb_netsocket(j->port, j->server, NETSOCKET_CLIENT, j->ssl, &j->cw_state); |
145 |
146 |
146 if(j->fd < 0) { |
147 if(j->fd < 0) { |
147 STATE_EVT(JCONN_STATE_OFF); |
148 STATE_EVT(JCONN_STATE_OFF); |
148 return; |
149 return; |
149 } |
150 } |
150 } |
151 } |