📄 ppl_uinfo.h
字号:
/* This is the ppl library. It provides a portable interface to usual OS features Copyright (C) 2002 WellX Telecom - <partysip@wellx.com> Copyright (C) 2002 Aymeric MOIZARD - <jack@atosc.org> The ppl library free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The ppl library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the ppl library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA*/#ifndef _PPL_UINFO_H_#define _PPL_UINFO_H_#include "ppl.h"#include <ppl/ppl_time.h>#include <osip/smsg.h>#include <osip/sema.h>/** * @file ppl_uinfo.h * @brief PPL Uinfo Handling Routines *//** * @defgroup PPL_UINFO Uinfo Handling * @ingroup PPL * @{ */#ifdef __cplusplusextern "C"{#endif/** * Structure for storing a uinfo descriptor * @defvar ppl_uinfo_t */ typedef struct aor_t aor_t; struct aor_t { url_t *url; aor_t *next; aor_t *parent; }; typedef struct binding_t binding_t; struct binding_t { contact_t *contact; ppl_time_t when; binding_t *next; binding_t *parent; }; typedef struct ppl_uinfo_t ppl_uinfo_t; struct ppl_uinfo_t { aor_t *aor; char *login; char *passwd; aor_t *aor_3rd_parties; binding_t *bindings; ppl_uinfo_t *next; ppl_uinfo_t *parent; };/** * Intialize the uinfo list entry. */ PPL_DECLARE (int) ppl_uinfo_init ();/** * Get uinfo entry. */ PPL_DECLARE (ppl_uinfo_t *) ppl_uinfo_find_by_aor (url_t * aor);/** * Get uinfo entry. */ PPL_DECLARE (ppl_uinfo_t *) ppl_uinfo_find_by_login (char *login);/** * Create a new uinfo entry. */ PPL_DECLARE (ppl_uinfo_t *) ppl_uinfo_create (url_t * url, char *login, char *passwd);/** * Delete a binding entry. (internal!) */ PPL_DECLARE (void) ppl_uinfo_binding_free (binding_t * bind);/** * Delete all entries. */ PPL_DECLARE (void) ppl_uinfo_remove (ppl_uinfo_t * uinfo);/** * Chek if binding is deprecated. */ PPL_DECLARE (int) ppl_uinfo_check_binding (binding_t * bind);/** * Remove a binding. */ PPL_DECLARE (int) ppl_uinfo_remove_binding (ppl_uinfo_t * uinfo, binding_t * bind);/** * Bind to a uinfo. */ PPL_DECLARE (int) ppl_uinfo_add_binding (ppl_uinfo_t * uinfo, contact_t * con, char *exp);/** * Add a authorized third party in uinfo. */ PPL_DECLARE (int) ppl_uinfo_add_third_party (ppl_uinfo_t * uinfo, url_t * url);/** * Remove all bindings for this user (and delete if it does not contains * any static entry). */ PPL_DECLARE (void) ppl_uinfo_remove_all_bindings (ppl_uinfo_t * uinfo);/** * Delete all uinfo entry. */ PPL_DECLARE (void) ppl_uinfo_free_all ();/** * Remove all bindings for this user (and delete if it does not contains * any static entry). */ PPL_DECLARE (void) ppl_uinfo_delete (ppl_uinfo_t * uinfo);#ifdef __cplusplus}#endif/** @} */#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -