00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _OSIP_FROM_H_
00022 #define _OSIP_FROM_H_
00023
00024 #include <osipparser2/osip_list.h>
00025 #include <osipparser2/osip_uri.h>
00026
00042 typedef struct osip_from osip_from_t;
00043
00048 struct osip_from
00049 {
00050 char *displayname;
00051 osip_uri_t *url;
00052 osip_list_t *gen_params;
00053 };
00054
00055 #ifdef __cplusplus
00056 extern "C"
00057 {
00058 #endif
00059
00064 int osip_from_init (osip_from_t ** header);
00069 void osip_from_free (osip_from_t * header);
00075 int osip_from_parse (osip_from_t * header, const char *hvalue);
00081 int osip_from_to_str (const osip_from_t * header, char **dest);
00087 int osip_from_clone (const osip_from_t * header, osip_from_t ** dest);
00093 void osip_from_set_displayname (osip_from_t * header, char *value);
00098 char *osip_from_get_displayname (osip_from_t * header);
00104 void osip_from_set_url (osip_from_t * header, osip_uri_t * url);
00109 osip_uri_t *osip_from_get_url (osip_from_t * header);
00116 int osip_from_param_get (osip_from_t * header, int pos, osip_generic_param_t ** dest);
00123 #define osip_from_param_add(header,name,value) osip_generic_param_add((header)->gen_params,name,value)
00124
00130 #define osip_from_param_get_byname(header,name,dest) osip_generic_param_get_byname((header)->gen_params,name,dest)
00131
00137 #define osip_from_get_tag(header,dest) osip_generic_param_get_byname((header)->gen_params, "tag",dest)
00138
00143 #define osip_from_set_tag(header,value) osip_generic_param_add((header)->gen_params, osip_strdup("tag"),value)
00144
00145 #ifndef DOXYGEN
00146
00147 int osip_from_compare (osip_from_t * header1, osip_from_t * header2);
00148 #endif
00149
00156 int osip_from_tag_match (osip_from_t * from1, osip_from_t * from2);
00157
00158
00159 #ifdef __cplusplus
00160 }
00161 #endif
00162
00165 #endif