00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef _PU_SEND_PUBLISH_
00027 #define _PU_SEND_PUBLISH_
00028 #include <time.h>
00029 #include "../../modules/tm/tm_load.h"
00030 #include "../../str.h"
00031 #include "hash.h"
00032 #include "event_list.h"
00033 #define ERR_PUBLISH_NO_BODY -10
00034
00035 typedef struct publ_info
00036 {
00037 str id;
00038 str* pres_uri;
00039 str* body;
00040 int expires;
00041 int flag;
00042 int source_flag;
00043 int event;
00044 str content_type;
00046 str* etag;
00047 str* extra_headers;
00048 void* cb_param;
00052 }publ_info_t;
00053
00054 typedef int (*send_publish_t)(publ_info_t* publ);
00055 int send_publish( publ_info_t* publ );
00056
00057 void publ_cback_func(struct cell *t, int type, struct tmcb_params *ps);
00058 str* publ_build_hdr(int expires, pua_event_t* event, str* content_type, str* etag,
00059 str* extra_headers, int is_body);
00060 ua_pres_t* publish_cbparam(publ_info_t* publ, str* body, str* tuple_id,
00061 int ua_flag);
00062
00063 #endif