00001 /* 00002 * $Id: bind_presence.h 1979 2007-04-06 13:24:12Z anca_vamanu $ 00003 * 00004 * presence module - presence server implementation 00005 * 00006 * Copyright (C) 2007 Voice Sistem S.R.L. 00007 * 00008 * This file is part of Kamailio, a free SIP server. 00009 * 00010 * Kamailio is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2 of the License, or 00013 * (at your option) any later version 00014 * 00015 * Kamailio is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU General Public License for more details. 00019 * 00020 * You should have received a copy of the GNU General Public License 00021 * along with this program; if not, write to the Free Software 00022 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00023 * 00024 * History: 00025 * -------- 00026 * 2007-04-17 initial version (anca) 00027 */ 00028 00029 /*! \file 00030 * \brief Kamailio presence module 00031 * \ingroup presence 00032 */ 00033 00034 00035 #ifndef _PRES_BIND_H_ 00036 #define _PRES_BIND_H_ 00037 00038 #include "event_list.h" 00039 #include "hash.h" 00040 #include "presentity.h" 00041 00042 typedef int (*update_watchers_t)(str pres_uri, pres_ev_t* ev, str* rules_doc); 00043 00044 typedef struct presence_api { 00045 add_event_t add_event; 00046 contains_event_t contains_event; 00047 search_event_t search_event; 00048 get_event_list_t get_event_list; 00049 update_watchers_t update_watchers_status; 00050 /* subs hash table functions */ 00051 new_shtable_t new_shtable; 00052 destroy_shtable_t destroy_shtable; 00053 insert_shtable_t insert_shtable; 00054 search_shtable_t search_shtable; 00055 delete_shtable_t delete_shtable; 00056 update_shtable_t update_shtable; 00057 mem_copy_subs_t mem_copy_subs; 00058 update_db_subs_t update_db_subs; 00059 extract_sdialog_info_t extract_sdialog_info; 00060 pres_get_sphere_t get_sphere; 00061 } presence_api_t; 00062 00063 int bind_presence(presence_api_t* api); 00064 00065 typedef int (*bind_presence_t)(presence_api_t* api); 00066 00067 #endif 00068
1.5.6