Changeset 465:b765fb9c3fc8 in verona


Ignore:
Timestamp:
Apr 19, 2012 5:00:36 PM (13 months ago)
Author:
Vadim Lebedev <vadim@…>
Branch:
default
Message:

implment subcribe3 with possibility of header customizations

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • phapi/phapi.c

    r464 r465  
    20062006 
    20072007PHAPI_EXPORT int 
    2008 phLineSubscribe2(int vlid, const char *uri, const int winfo, char *data, int use_proxy, int expire) 
    2009 { 
    2010         int i; 
     2008phLineSubscribe2(int vlid, const char *uri, const int winfo, int use_proxy, int expire) 
     2009{ 
     2010        return phLineSuscribe3(vlid, uri, winfo, use_proxy, expire, 0); 
     2011} 
     2012 
     2013PHAPI_EXPORT int 
     2014phLineSubscribe3(int vlid, const char *uri, const int winfo,  int use_proxy, int expire, 
     2015                int hcount, const struct ph_hdr_val *hdrs) 
     2016{ 
     2017        int i,j; 
    20112018        struct vline *vl; 
    20122019        char from[512]; 
     
    20362043        if (!i) 
    20372044        { 
    2038                 if (data) 
    2039                 {                
    2040                         osip_header_t *data_header; 
    2041  
    2042                         osip_header_init(&data_header); 
    2043                         osip_header_set_name(data_header, osip_strdup("X-Addressbook")); 
    2044                         osip_header_set_value(data_header, osip_strdup(data)); 
    2045                         osip_list_add(&msg->headers, data_header, 0); 
    2046                 } 
     2045                for (j = 0; j < hcount; j++) 
     2046                        set_customized_header(msg, hdrs[j].hdr, hdrs[j].val); 
    20472047                ph_apply_customizations(msg, NULL, NULL); 
    20482048                i = eXosip_subscribe_send_initial_request(msg); 
     
    76827682        const char* reqname; 
    76837683        int i; 
    7684         const int NHDRS = 64; 
     7684        const int N = 64; 
    76857685        struct ph_hdr_val tmpval[64]; 
    76867686        struct ph_hdr_list tmphlist = { 0, tmpval }; 
  • phapi/phapi.h

    r451 r465  
    493493 * @return 0 if success else -1 
    494494*/ 
    495 PHAPI_EXPORT int phLineSubscribe2(int vlid, const char *to, const int winfo, char *data, int use_proxy, int expire); 
    496  
     495PHAPI_EXPORT int phLineSubscribe2(int vlid, const char *to, const int winfo, int use_proxy, int expire); 
     496PHAPI_EXPORT int phLineSubscribe3(int vlid, const char *to, const int winfo, int use_proxy, int expire, int hcount, const struct ph_hdr_val *hdrs); 
    497497/** 
    498498 * Subscribe to presence 
  • phcpp/phapipp.cpp

    r463 r465  
    183183 
    184184 
    185 int phapi::subscribe(int vlid, const char* to, int winfo, char* data, int use_proxy, int expire) 
    186 { 
    187         return phLineSubscribe2(vlid, to, winfo, data, use_proxy, expire); 
     185int phapi::subscribe(int vlid, const char* to, int winfo, int use_proxy, int expire, 
     186                const std::vector<std::pair<const char*, const char* > >* hdrs) 
     187{ 
     188        return phLineSubscribe3(vlid, to, winfo, use_proxy, expire, hdrs ? (const struct ph_hdr_val*) &hdrs->front() : 0); 
    188189} 
    189190 
     
    203204        return phLinePublish2(vlid, to, evt, ctt, content, expires); 
    204205} 
    205  
    206206 
    207207 
  • phcpp/phapipp.h

    r463 r465  
    117117                        const std::vector<std::pair<const char*, const char* > >& hdrs, const char* target = 0); 
    118118 
    119         virtual int subscribe(int vlid, const char* to, int winfo, char *data = 0, int use_proxy = 1, int expire = 600); 
     119        virtual int subscribe(int vlid, const char* to, int winfo, int use_proxy = 1, int expire = 600, 
     120                        const std::vector<std::pair<const char*, const char* > >* hdrs = 0); 
    120121        virtual int unsubscribe(int sid, int winfo); 
    121122        virtual int publish(int vlid, const char* to, const char* evt, const char* ctt, const char* content, 
Note: See TracChangeset for help on using the changeset viewer.