Changeset 458:d13060301571 in verona


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

change signature of onMessagePorgress method

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • phcpp/phapipp.cpp

    r453 r458  
    481481void phapi::onConfProgress(int cfid, const phConfStateInfo_t *info)  { } 
    482482void phapi::onRegProgress(int regid, int status)  { } 
    483 void phapi::onMsgProgress(int mid,  const phMsgStateInfo_t *info)   
     483void phapi::onMsgProgress(int mid,  const phMsgStateInfo2 *info) 
    484484{ 
    485485        onMsgProgress2(mid,     (char *)info->rawctt, (char *)info->content); 
     
    530530void phapi::msgProgress(int mid,  const phMsgStateInfo_t *info) 
    531531{ 
    532         if (uniqueobj) 
    533                 uniqueobj->onMsgProgress(mid, info); 
     532        if (uniqueobj) { 
     533                phMsgStateInfo2  mi2; 
     534 
     535                mi2.event = info->event; 
     536                mi2.status = info->status; 
     537                mi2.from = info->from; 
     538                mi2.to = info->to; 
     539                mi2.ctype = info->ctype; 
     540                mi2.subtype = info->subtype; 
     541                mi2.content = info->content; 
     542                mi2.rawctt = info->rawctt; 
     543                mi2.tid = info->tid; 
     544                mi2.cid = info->cid; 
     545 
     546                typedef std::pair<const char*, const char*>  cstrpair; 
     547                for( int i = 0; i < info->hlist.count; i++) { 
     548                        const struct ph_hdr_val* e = info->hlist.elems + i; 
     549                        mi2.hlist.push_back(cstrpair(e->hdr, e->val)); 
     550                } 
     551 
     552                uniqueobj->onMsgProgress(mid, &mi2); 
     553        } 
    534554 
    535555} 
  • phcpp/phapipp.h

    r451 r458  
    4848 
    4949 */ 
     50 
     51struct phMsgStateInfo2 { 
     52  enum phMsgEvent event; 
     53  int   status; 
     54  const char *from; 
     55  const char *to; 
     56  const char *ctype; 
     57  const char *subtype; 
     58  const char *content; 
     59  const char *rawctt; 
     60  int   tid;     /*!<  Trasnaction id of corresponding MESSAGE request */ 
     61  int   cid;     /*!<  when non-zero this is message inside a dialog corresponding to call 'cid' */ 
     62  std::vector<std::pair<const char*, const char*> > hlist; 
     63}; 
     64 
    5065 
    5166namespace verona { 
     
    196211        virtual void onConfProgress(int cfid, const phConfStateInfo_t *info); 
    197212        virtual void onRegProgress(int regid, int status); 
    198         virtual void onMsgProgress(int mid,  const phMsgStateInfo_t *info); 
     213        virtual void onMsgProgress(int mid,  const phMsgStateInfo2 *info); 
    199214        virtual void onMsgProgress2(int mid,  char * type, char * content); 
    200215        virtual void onConnectionLost(const char* host, int port); 
  • swig/verona.i

    r456 r458  
    111111       
    112112  return result;     
     113} 
     114 
     115PyObject* 
     116make_hdrlist2(const std::vector<std::pair<const char*, const char*> >& hl ) { 
     117  PyObject* result; 
     118 
     119  result = PyList_New(hl.size()); 
     120  for(int i = 0; i < hl.size(); i++) 
     121     PyList_SET_ITEM(result, i, Py_BuildValue("ss", hl[i].first, hl[i].second)); 
     122       
     123  return result;       
    113124} 
    114125%} 
     
    179190} 
    180191 
     192%typemap(directorin) const phMsgStateInfo2 * { 
     193 
     194        $input = Py_BuildValue("iissssssio", $1_name->event, $1_name->status, $1_name->from, $1_name->to,  
     195                        $1_name->ctype, $1_name->subtype, $1_name->content, $1_name->rawctt, $1_name->cid,  
     196                 make_hdrlist2($1_name->hlist)); 
     197 
     198} 
     199 
    181200 
    182201%typemap(directorin) const pCallStateInfo_t * { 
Note: See TracChangeset for help on using the changeset viewer.