account_creator.h 24.2 KB
Newer Older
1 2
/*
account_creator.h
3
Copyright (C) 2010-2018 Belledonne Communications SARL
4 5 6 7 8 9 10 11 12 13 14 15 16

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
17
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
18 19 20 21 22
*/

#ifndef LINPHONE_ACCOUNT_CREATOR_H_
#define LINPHONE_ACCOUNT_CREATOR_H_

23
#include "linphone/types.h"
24 25 26 27 28 29

#ifdef __cplusplus
extern "C" {
#endif

/**
30
 * @addtogroup account_creator
31 32 33
 * @{
 */

34
/**
35
 * Callback to notify a response of server.
36 37
 * @param[in] creator #LinphoneAccountCreator object
 * @param[in] status The status of the #LinphoneAccountCreator test existence operation that has just finished
38
**/
39
typedef void (*LinphoneAccountCreatorCbsStatusCb)(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, const char* resp);
40 41

/************************** Start Account Creator data **************************/
42

43
/**
44 45
 * Create a #LinphoneAccountCreator and set Linphone Request callbacks.
 * @param[in] core The #LinphoneCore used for the XML-RPC communication
46
 * @param[in] xmlrpc_url The URL to the XML-RPC server. Must be NON NULL.
47
 * @return The new #LinphoneAccountCreator object.
48
**/
49
LINPHONE_PUBLIC LinphoneAccountCreator * linphone_account_creator_new(LinphoneCore *core, const char *xmlrpc_url);
50

51 52 53

/**
 * Reset the account creator entries like username, password, phone number...
54
 * @param[in] creator #LinphoneAccountCreator object
55 56 57
**/
LINPHONE_PUBLIC void linphone_account_creator_reset(LinphoneAccountCreator *creator);

58
/**
59
 * Send a request to know the existence of account on server.
60 61
 * @param[in] creator #LinphoneAccountCreator object
 * @return #LinphoneAccountCreatorStatusRequestOk if the request has been sent, #LinphoneAccountCreatorStatusRequestFailed otherwise
62
**/
63
LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_is_account_exist(LinphoneAccountCreator *creator);
64 65

/**
66
 * Send a request to create an account on server.
67 68
 * @param[in] creator #LinphoneAccountCreator object
 * @return #LinphoneAccountCreatorStatusRequestOk if the request has been sent, #LinphoneAccountCreatorStatusRequestFailed otherwise
69
**/
70
LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_create_account(LinphoneAccountCreator *creator);
71 72

/**
73
 * Send a request to know if an account is activated on server.
74 75
 * @param[in] creator #LinphoneAccountCreator object
 * @return #LinphoneAccountCreatorStatusRequestOk if the request has been sent, #LinphoneAccountCreatorStatusRequestFailed otherwise
76
**/
77
LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_is_account_activated(LinphoneAccountCreator *creator);
78 79

/**
80
 * Send a request to activate an account on server.
81 82
 * @param[in] creator #LinphoneAccountCreator object
 * @return #LinphoneAccountCreatorStatusRequestOk if the request has been sent, #LinphoneAccountCreatorStatusRequestFailed otherwise
83
**/
84
LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_activate_account(LinphoneAccountCreator *creator);
85 86

/**
87
 * Send a request to link an account to an alias.
88 89
 * @param[in] creator #LinphoneAccountCreator object
 * @return #LinphoneAccountCreatorStatusRequestOk if the request has been sent, #LinphoneAccountCreatorStatusRequestFailed otherwise
90
**/
91
LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_link_account(LinphoneAccountCreator *creator);
92 93

/**
94
 * Send a request to activate an alias.
95 96
 * @param[in] creator #LinphoneAccountCreator object
 * @return #LinphoneAccountCreatorStatusRequestOk if the request has been sent, #LinphoneAccountCreatorStatusRequestFailed otherwise
97
**/
98
LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_activate_alias(LinphoneAccountCreator *creator);
99 100

/**
101
 * Send a request to know if an alias is used.
102 103
 * @param[in] creator #LinphoneAccountCreator object
 * @return #LinphoneAccountCreatorStatusRequestOk if the request has been sent, #LinphoneAccountCreatorStatusRequestFailed otherwise
104
**/
105
LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_is_alias_used(LinphoneAccountCreator *creator);
106 107

/**
108
 * Send a request to know if an account is linked.
109 110
 * @param[in] creator #LinphoneAccountCreator object
 * @return #LinphoneAccountCreatorStatusRequestOk if the request has been sent, #LinphoneAccountCreatorStatusRequestFailed otherwise
111
**/
112
LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_is_account_linked(LinphoneAccountCreator *creator);
113 114

/**
115
 * Send a request to recover an account.
116 117
 * @param[in] creator #LinphoneAccountCreator object
 * @return #LinphoneAccountCreatorStatusRequestOk if the request has been sent, #LinphoneAccountCreatorStatusRequestFailed otherwise
118
**/
119
LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_recover_account(LinphoneAccountCreator *creator);
120 121

/**
122
 * Send a request to update an account.
123 124
 * @param[in] creator #LinphoneAccountCreator object
 * @return #LinphoneAccountCreatorStatusRequestOk if the request has been sent, #LinphoneAccountCreatorStatusRequestFailed otherwise
125
**/
126
LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_update_account(LinphoneAccountCreator *creator);
127

128
/**
129
 * Acquire a reference to the LinphoneAccountCreator.
130 131
 * @param[in] creator #LinphoneAccountCreator object.
 * @return The same #LinphoneAccountCreator object.
132 133 134 135 136
**/
LINPHONE_PUBLIC LinphoneAccountCreator * linphone_account_creator_ref(LinphoneAccountCreator *creator);

/**
 * Release reference to the LinphoneAccountCreator.
137
 * @param[in] creator #LinphoneAccountCreator object.
138
**/
139 140 141 142
LINPHONE_PUBLIC void linphone_account_creator_unref(LinphoneAccountCreator *creator);

/**
 * Retrieve the user pointer associated with the LinphoneAccountCreator.
143
 * @param[in] creator #LinphoneAccountCreator object.
144 145 146 147 148 149
 * @return The user pointer associated with the LinphoneAccountCreator.
**/
LINPHONE_PUBLIC void *linphone_account_creator_get_user_data(const LinphoneAccountCreator *creator);

/**
 * Assign a user pointer to the LinphoneAccountCreator.
150
 * @param[in] creator #LinphoneAccountCreator object.
151 152 153
 * @param[in] ud The user pointer to associate with the LinphoneAccountCreator.
**/
LINPHONE_PUBLIC void linphone_account_creator_set_user_data(LinphoneAccountCreator *creator, void *ud);
154

155 156 157 158 159 160 161
/**
 * Assign a proxy config pointer to the LinphoneAccountCreator.
 * @param[in] creator LinphoneAccountCreator object.
 * @param[in] cfg The LinphoneProxyConfig to associate with the LinphoneAccountCreator.
**/
LINPHONE_PUBLIC void linphone_account_creator_set_proxy_config(LinphoneAccountCreator *creator, LinphoneProxyConfig *cfg);

162 163
/**
 * Set the username.
164
 * @param[in] creator #LinphoneAccountCreator object
165
 * @param[in] username The username to set
166
 * @return #LinphoneAccountCreatorUsernameStatusOk if everything is OK, or a specific error otherwise.
167
**/
168
LINPHONE_PUBLIC LinphoneAccountCreatorUsernameStatus linphone_account_creator_set_username(LinphoneAccountCreator *creator, const char *username);
169 170 171

/**
 * Get the username.
172 173
 * @param[in] creator #LinphoneAccountCreator object
 * @return The username of the #LinphoneAccountCreator
174
**/
175
LINPHONE_PUBLIC const char * linphone_account_creator_get_username(const LinphoneAccountCreator *creator);
176

177 178
/**
 * Set the phone number normalized.
179
 * @param[in] creator #LinphoneAccountCreator object
180 181
 * @param[in] phone_number The phone number to set
 * @param[in] country_code Country code to associate phone number with
182
 * @return #LinphoneAccountCreatorPhoneNumberStatusOk if everything is OK, or specific(s) error(s) otherwise.
183
**/
184
LINPHONE_PUBLIC LinphoneAccountCreatorPhoneNumberStatusMask linphone_account_creator_set_phone_number(LinphoneAccountCreator *creator, const char *phone_number, const char *country_code);
185 186 187

/**
 * Get the RFC 3966 normalized phone number.
188 189
 * @param[in] creator #LinphoneAccountCreator object
 * @return The phone number of the #LinphoneAccountCreator
190 191 192
**/
LINPHONE_PUBLIC const char * linphone_account_creator_get_phone_number(const LinphoneAccountCreator *creator);

193 194
/**
 * Set the password.
195
 * @param[in] creator #LinphoneAccountCreator object
196
 * @param[in] password The password to set
197
 * @return #LinphoneAccountCreatorPasswordStatusOk if everything is OK, or specific(s) error(s) otherwise.
198
**/
199
LINPHONE_PUBLIC LinphoneAccountCreatorPasswordStatus linphone_account_creator_set_password(LinphoneAccountCreator *creator, const char *password);
200 201 202

/**
 * Get the password.
203 204
 * @param[in] creator #LinphoneAccountCreator object
 * @return The password of the #LinphoneAccountCreator
205
**/
206
LINPHONE_PUBLIC const char * linphone_account_creator_get_password(const LinphoneAccountCreator *creator);
207

208 209
/**
 * Set the ha1.
210
 * @param[in] creator #LinphoneAccountCreator object
211
 * @param[in] ha1 The ha1 to set
212
 * @return #LinphoneAccountCreatorPasswordStatusOk if everything is OK, or a specific error otherwise.
213
**/
214
LINPHONE_PUBLIC LinphoneAccountCreatorPasswordStatus linphone_account_creator_set_ha1(LinphoneAccountCreator *creator, const char *ha1);
215 216 217

/**
 * Get the ha1.
218 219
 * @param[in] creator #LinphoneAccountCreator object
 * @return The ha1 of the #LinphoneAccountCreator
220 221 222
**/
LINPHONE_PUBLIC const char * linphone_account_creator_get_ha1(const LinphoneAccountCreator *creator);

223 224
/**
 * Set the activation code.
225
 * @param[in] creator #LinphoneAccountCreator object
226
 * @param[in] activation_code The activation code to set
227
 * @return #LinphoneAccountCreatorActivationCodeStatusOk if everything is OK, or a specific error otherwise.
228
**/
229
LINPHONE_PUBLIC LinphoneAccountCreatorActivationCodeStatus linphone_account_creator_set_activation_code(LinphoneAccountCreator *creator, const char *activation_code);
230 231

/**
232
 * Get the activation code.
233 234
 * @param[in] creator #LinphoneAccountCreator object
 * @return The activation code of the #LinphoneAccountCreator
235
**/
236
LINPHONE_PUBLIC const char * linphone_account_creator_get_activation_code(const LinphoneAccountCreator *creator);
237

238
/**
239
 * Set the language to use in email or SMS if supported.
240
 * @param[in] creator #LinphoneAccountCreator object
241
 * @param[in] lang The language to use
242
 * @return #LinphoneAccountCreatorLanguageStatusOk if everything is OK, or a specific error otherwise.
243
**/
244
LINPHONE_PUBLIC LinphoneAccountCreatorLanguageStatus linphone_account_creator_set_language(LinphoneAccountCreator *creator, const char *lang);
245

246 247 248 249 250 251 252 253
/**
* Set the supported algorithm.
* @param[in] creator LinphoneAccountCreator object
* @param[in] algorithm The algorithm to use
* @return LinphoneAccountCreatorAlgoStatusOk if everything is OK, or a specific error otherwise.
**/
LINPHONE_PUBLIC LinphoneAccountCreatorAlgoStatus linphone_account_creator_set_algorithm(LinphoneAccountCreator *creator, const char *algorithm);

254
/**
255
 * Get the language use in email of SMS.
256 257
 * @param[in] creator #LinphoneAccountCreator object
 * @return The language of the #LinphoneAccountCreator
258
**/
259
LINPHONE_PUBLIC const char * linphone_account_creator_get_language(const LinphoneAccountCreator *creator);
260

261
/**
262
 * Set the display name.
263
 * @param[in] creator #LinphoneAccountCreator object
264
 * @param[in] display_name The display name to set
265
 * @return #LinphoneAccountCreatorUsernameStatusOk if everything is OK, or a specific error otherwise.
266
**/
267
LINPHONE_PUBLIC LinphoneAccountCreatorUsernameStatus linphone_account_creator_set_display_name(LinphoneAccountCreator *creator, const char *display_name);
268 269

/**
270
 * Get the display name.
271 272
 * @param[in] creator #LinphoneAccountCreator object
 * @return The display name of the #LinphoneAccountCreator
273 274 275
**/
LINPHONE_PUBLIC const char * linphone_account_creator_get_display_name(const LinphoneAccountCreator *creator);

276 277
/**
 * Set the email.
278
 * @param[in] creator #LinphoneAccountCreator object
279
 * @param[in] email The email to set
280
 * @return #LinphoneAccountCreatorEmailStatusOk if everything is OK, or a specific error otherwise.
281
**/
282
LINPHONE_PUBLIC LinphoneAccountCreatorEmailStatus linphone_account_creator_set_email(LinphoneAccountCreator *creator, const char *email);
283 284 285

/**
 * Get the email.
286 287
 * @param[in] creator #LinphoneAccountCreator object
 * @return The email of the #LinphoneAccountCreator
288
**/
289 290
LINPHONE_PUBLIC const char * linphone_account_creator_get_email(const LinphoneAccountCreator *creator);

Erwan Croze's avatar
Erwan Croze committed
291 292
/**
 * Set the domain.
293
 * @param[in] creator #LinphoneAccountCreator object
Erwan Croze's avatar
Erwan Croze committed
294
 * @param[in] domain The domain to set
295
 * @return #LinphoneAccountCreatorDomainOk if everything is OK, or a specific error otherwise.
Erwan Croze's avatar
Erwan Croze committed
296
**/
297
LINPHONE_PUBLIC LinphoneAccountCreatorDomainStatus linphone_account_creator_set_domain(LinphoneAccountCreator *creator, const char *domain);
Erwan Croze's avatar
Erwan Croze committed
298 299 300

/**
 * Get the domain.
301 302
 * @param[in] creator #LinphoneAccountCreator object
 * @return The domain of the #LinphoneAccountCreator
Erwan Croze's avatar
Erwan Croze committed
303
**/
304 305 306 307
LINPHONE_PUBLIC const char * linphone_account_creator_get_domain(const LinphoneAccountCreator *creator);

/**
 * Set Transport
308
 * @param[in] creator #LinphoneAccountCreator object
309
 * @param[in] transport The transport to set
310
 * @return #LinphoneAccountCreatorTransportOk if everything is OK, or a specific error otherwise.
311
**/
312
LINPHONE_PUBLIC LinphoneAccountCreatorTransportStatus linphone_account_creator_set_transport(LinphoneAccountCreator *creator, LinphoneTransportType transport);
313 314 315

/**
 * get Transport
316 317
 * @param[in] creator #LinphoneAccountCreator object
 * @return The transport of #LinphoneAccountCreator
318 319
**/
LINPHONE_PUBLIC LinphoneTransportType linphone_account_creator_get_transport(const LinphoneAccountCreator *creator);
Erwan Croze's avatar
Erwan Croze committed
320 321 322

/**
 * Set the route.
323
 * @param[in] creator #LinphoneAccountCreator object
Erwan Croze's avatar
Erwan Croze committed
324
 * @param[in] route The route to set
325
 * @return #LinphoneAccountCreatorStatusRequestOk if everything is OK, or a specific error otherwise.
Erwan Croze's avatar
Erwan Croze committed
326
**/
327
LINPHONE_DEPRECATED LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_set_route(LinphoneAccountCreator *creator, const char *route);
Erwan Croze's avatar
Erwan Croze committed
328 329 330

/**
 * Get the route.
331 332
 * @param[in] creator #LinphoneAccountCreator object
 * @return The route of the #LinphoneAccountCreator
Erwan Croze's avatar
Erwan Croze committed
333 334 335
**/
LINPHONE_DEPRECATED LINPHONE_PUBLIC const char * linphone_account_creator_get_route(const LinphoneAccountCreator *creator);

336
/**
337 338 339
 * Get the #LinphoneAccountCreatorCbs object associated with a LinphoneAccountCreator.
 * @param[in] creator #LinphoneAccountCreator object
 * @return The #LinphoneAccountCreatorCbs object associated with the LinphoneAccountCreator.
340
 * @deprecated use add_callbacks / remove_callbacks instead
341
**/
342
LINPHONE_PUBLIC LinphoneAccountCreatorCbs * linphone_account_creator_get_callbacks(const LinphoneAccountCreator *creator);
343

344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364
/**
 * Add the #LinphoneAccountCreatorCbs object to a LinphoneAccountCreator.
 * @param[in] creator #LinphoneAccountCreator object
 * @param[in] cbs The #LinphoneAccountCreatorCbs object to add to the LinphoneAccountCreator.
**/
LINPHONE_PUBLIC void linphone_account_creator_add_callbacks(LinphoneAccountCreator *creator, LinphoneAccountCreatorCbs *cbs);

/**
 * Removes the #LinphoneAccountCreatorCbs object from a LinphoneAccountCreator.
 * @param[in] creator #LinphoneAccountCreator object
 * @param[in] cbs The #LinphoneAccountCreatorCbs object to remove from the LinphoneAccountCreator.
**/
LINPHONE_PUBLIC void linphone_account_creator_remove_callbacks(LinphoneAccountCreator *creator, LinphoneAccountCreatorCbs *cbs);

/**
 * Get the current #LinphoneAccountCreatorCbs object associated with a LinphoneAccountCreator.
 * @param[in] creator #LinphoneAccountCreator object
 * @return The current #LinphoneAccountCreatorCbs object associated with the LinphoneAccountCreator.
**/
LINPHONE_PUBLIC LinphoneAccountCreatorCbs *linphone_account_creator_get_current_callbacks(const LinphoneAccountCreator *creator);

365
/**
366 367 368
 * Get the #LinphoneAccountCreatorService object associated with a LinphoneAccountCreator.
 * @param[in] creator #LinphoneAccountCreator object
 * @return The #LinphoneAccountCreatorService object associated with the LinphoneAccountCreator.
369
 * @donotwrap
370
**/
371
LINPHONE_PUBLIC LinphoneAccountCreatorService * linphone_account_creator_get_service(const LinphoneAccountCreator *creator);
372 373 374 375

/************************** End Account Creator data **************************/

/************************** Start Account Creator Cbs **************************/
376 377

/**
378 379 380
 * Acquire a reference to a #LinphoneAccountCreatorCbs object.
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
 * @return The same #LinphoneAccountCreatorCbs object.
381
**/
382
LINPHONE_PUBLIC LinphoneAccountCreatorCbs * linphone_account_creator_cbs_ref(LinphoneAccountCreatorCbs *cbs);
383 384

/**
385 386
 * Release a reference to a #LinphoneAccountCreatorCbs object.
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
387
**/
388
LINPHONE_PUBLIC void linphone_account_creator_cbs_unref(LinphoneAccountCreatorCbs *cbs);
389

390
/**
391 392 393
 * Retrieve the user pointer associated with a #LinphoneAccountCreatorCbs object.
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
 * @return The user pointer associated with the #LinphoneAccountCreatorCbs object.
394
**/
395
LINPHONE_PUBLIC void *linphone_account_creator_cbs_get_user_data(const LinphoneAccountCreatorCbs *cbs);
396

397
/**
398 399 400
 * Assign a user pointer to a #LinphoneAccountCreatorCbs object.
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
 * @param[in] ud The user pointer to associate with the #LinphoneAccountCreatorCbs object.
401
**/
402
LINPHONE_PUBLIC void linphone_account_creator_cbs_set_user_data(LinphoneAccountCreatorCbs *cbs, void *ud);
403

404
/**
405
 * Get the create account request.
406
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
407
 * @return The current create account request.
408
**/
409
LINPHONE_PUBLIC LinphoneAccountCreatorCbsStatusCb linphone_account_creator_cbs_get_create_account(const LinphoneAccountCreatorCbs *cbs);
410 411

/**
412 413
 * Assign a user pointer to a #LinphoneAccountCreatorCbs object.
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
414
 * @param[in] cb The create account request to be used.
415
**/
416
LINPHONE_PUBLIC void linphone_account_creator_cbs_set_create_account(LinphoneAccountCreatorCbs *cbs, LinphoneAccountCreatorCbsStatusCb cb);
417 418

/**
419
 * Get the is account exist request.
420
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
421
 * @return The current is account exist request.
422
**/
423
LINPHONE_PUBLIC LinphoneAccountCreatorCbsStatusCb linphone_account_creator_cbs_get_is_account_exist(const LinphoneAccountCreatorCbs *cbs);
424

425
/**
426 427
 * Assign a user pointer to a #LinphoneAccountCreatorCbs object.
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
428
 * @param[in] cb The is account exist request to be used.
429
**/
430
LINPHONE_PUBLIC void linphone_account_creator_cbs_set_is_account_exist(LinphoneAccountCreatorCbs *cbs, LinphoneAccountCreatorCbsStatusCb cb);
431 432

/**
433
 * Get the activate account request.
434
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
435
 * @return The current activate account request.
436
**/
437
LINPHONE_PUBLIC LinphoneAccountCreatorCbsStatusCb linphone_account_creator_cbs_get_activate_account(const LinphoneAccountCreatorCbs *cbs);
438

439
/**
440 441
 * Assign a user pointer to a #LinphoneAccountCreatorCbs object.
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
442 443
 * @param[in] cb The activate account request to be used.
**/
444
LINPHONE_PUBLIC void linphone_account_creator_cbs_set_activate_account(LinphoneAccountCreatorCbs *cbs, LinphoneAccountCreatorCbsStatusCb cb);
445

446 447
/**
 * Get the is account activated request.
448
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
449 450
 * @return The current is account activated request.
**/
451
LINPHONE_PUBLIC LinphoneAccountCreatorCbsStatusCb linphone_account_creator_cbs_get_is_account_activated(const LinphoneAccountCreatorCbs *cbs);
452 453

/**
454 455
 * Assign a user pointer to a #LinphoneAccountCreatorCbs object.
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
456 457
 * @param[in] cb The is account activated request to be used.
**/
458
LINPHONE_PUBLIC void linphone_account_creator_cbs_set_is_account_activated(LinphoneAccountCreatorCbs *cbs, LinphoneAccountCreatorCbsStatusCb cb);
459 460 461

/**
 * Get the link account request.
462
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
463 464
 * @return The current link account request.
**/
465
LINPHONE_PUBLIC LinphoneAccountCreatorCbsStatusCb linphone_account_creator_cbs_get_link_account(const LinphoneAccountCreatorCbs *cbs);
466 467

/**
468 469
 * Assign a user pointer to a #LinphoneAccountCreatorCbs object.
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
470 471
 * @param[in] cb The link account request to be used.
**/
472
LINPHONE_PUBLIC void linphone_account_creator_cbs_set_link_account(LinphoneAccountCreatorCbs *cbs, LinphoneAccountCreatorCbsStatusCb cb);
473 474 475

/**
 * Get the activate alias request.
476
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
477 478
 * @return The current link account request.
**/
479
LINPHONE_PUBLIC LinphoneAccountCreatorCbsStatusCb linphone_account_creator_cbs_get_activate_alias(const LinphoneAccountCreatorCbs *cbs);
480 481

/**
482 483
 * Assign a user pointer to a #LinphoneAccountCreatorCbs object.
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
484 485
 * @param[in] cb The activate alias request to be used.
**/
486
LINPHONE_PUBLIC void linphone_account_creator_cbs_set_activate_alias(LinphoneAccountCreatorCbs *cbs, LinphoneAccountCreatorCbsStatusCb cb);
487 488 489

/**
 * Get the is alias used request.
490
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
491 492
 * @return The current is alias used request.
**/
493
LINPHONE_PUBLIC LinphoneAccountCreatorCbsStatusCb linphone_account_creator_cbs_get_is_alias_used(const LinphoneAccountCreatorCbs *cbs);
494 495

/**
496 497
 * Assign a user pointer to a #LinphoneAccountCreatorCbs object.
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
498 499
 * @param[in] cb The is alias used request to be used.
**/
500
LINPHONE_PUBLIC void linphone_account_creator_cbs_set_is_alias_used(LinphoneAccountCreatorCbs *cbs, LinphoneAccountCreatorCbsStatusCb cb);
501 502 503

/**
 * Get the is account linked request.
504
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
505 506
 * @return The current is account linked request.
**/
507
LINPHONE_PUBLIC LinphoneAccountCreatorCbsStatusCb linphone_account_creator_cbs_get_is_account_linked(const LinphoneAccountCreatorCbs *cbs);
508 509

/**
510 511
 * Assign a user pointer to a #LinphoneAccountCreatorCbs object.
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
512 513
 * @param[in] cb The is account linked request to be used.
**/
514
LINPHONE_PUBLIC void linphone_account_creator_cbs_set_is_account_linked(LinphoneAccountCreatorCbs *cbs, LinphoneAccountCreatorCbsStatusCb cb);
515 516 517

/**
 * Get the recover account request.
518
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
519 520
 * @return The current recover account request.
**/
521
LINPHONE_PUBLIC LinphoneAccountCreatorCbsStatusCb linphone_account_creator_cbs_get_recover_account(const LinphoneAccountCreatorCbs *cbs);
522 523

/**
524 525
 * Assign a user pointer to a #LinphoneAccountCreatorCbs object.
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
526 527
 * @param[in] cb The recover account request to be used.
**/
528
LINPHONE_PUBLIC void linphone_account_creator_cbs_set_recover_account(LinphoneAccountCreatorCbs *cbs, LinphoneAccountCreatorCbsStatusCb cb);
529 530 531

/**
 * Get the update account request.
532
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
533 534
 * @return The current update account request.
**/
535
LINPHONE_PUBLIC LinphoneAccountCreatorCbsStatusCb linphone_account_creator_cbs_get_update_account(const LinphoneAccountCreatorCbs *cbs);
536 537

/**
538 539
 * Assign a user pointer to a #LinphoneAccountCreatorCbs object.
 * @param[in] cbs #LinphoneAccountCreatorCbs object.
540 541
 * @param[in] cb The update account request to be used.
**/
542
LINPHONE_PUBLIC void linphone_account_creator_cbs_set_update_account(LinphoneAccountCreatorCbs *cbs, LinphoneAccountCreatorCbsStatusCb cb);
543 544 545

/************************** End Account Creator Cbs **************************/

546 547
/**
 * Create and configure a proxy config and a authentication info for an account creator
548 549
 * @param[in] creator #LinphoneAccountCreator object
 * @return A #LinphoneProxyConfig object if successful, NULL otherwise
550 551 552
**/
LINPHONE_PUBLIC LinphoneProxyConfig * linphone_account_creator_create_proxy_config(const LinphoneAccountCreator *creator);

553 554
/**
 * Configure an account (create a proxy config and authentication info for it).
555 556
 * @param[in] creator #LinphoneAccountCreator object
 * @return A #LinphoneProxyConfig object if successful, NULL otherwise
557
**/
558
LINPHONE_DEPRECATED LINPHONE_PUBLIC LinphoneProxyConfig * linphone_account_creator_configure(const LinphoneAccountCreator *creator);
559

560 561 562 563 564 565 566 567 568 569
/**
 * @}
 */


#ifdef __cplusplus
}
#endif

#endif /* LINPHONE_ACCOUNT_CREATOR_H_ */