You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kamailio/obsolete/pa/tuple.h

44 lines
1.6 KiB

#ifndef __TUPLE_H
#define __TUPLE_H
/* PA tuple functions (data structures are defined in presentity.h) */
#include "presentity.h"
/* Create a new presence_tuple */
int new_presence_tuple(str* _contact, time_t expires,
presence_tuple_t ** _t, int is_published, str *id,
str *published_id, str *etag);
/* add presence tuple to presentity and to database */
void add_presence_tuple(presentity_t *_p, presence_tuple_t *_t);
/* Remove tuple from presentity and from database too */
void remove_presence_tuple(presentity_t *_p, presence_tuple_t *_t);
/* Free all memory associated with a presence_tuple */
void free_presence_tuple(presence_tuple_t * _t);
/* Find a tuple for contact _contact on presentity _p - only registered contacts ! */
int find_registered_presence_tuple(str* _contact, presentity_t *_p, presence_tuple_t ** _t);
/* Find tuple with given id */
int find_presence_tuple_id(str* id, presentity_t *_p, presence_tuple_t ** _t);
/* Find published tuple with given ID (ID used for publication, not tuple ID!) */
presence_tuple_t *find_published_tuple(presentity_t *presentity, str *etag, str *id);
/** Function reads all tuples from DB for given presentity */
int db_read_tuples(presentity_t *_p, db_con_t* db);
/* update tuple status in database */
int db_update_presence_tuple(presentity_t *_p, presence_tuple_t *t, int update_notes_and_ext);
/* creates new tuple from given information (needed for publishing */
presence_tuple_t *presence_tuple_info2pa(presence_tuple_info_t *i, str *etag, time_t expires);
/* updates published information */
void update_tuple(presentity_t *p, presence_tuple_t *t, presence_tuple_info_t *i, time_t expires);
#endif