- Timestamp:
- Nov 29, 2013 5:56:02 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/branches/projects/pjsua2/pjsip/src/pjsua2/siptypes.cpp
r4658 r4663 324 324 void SipRxData::fromPj(pjsip_rx_data &rdata) 325 325 { 326 char straddr[PJ_INET6_ADDRSTRLEN+10]; 327 326 328 info = pjsip_rx_data_get_info(&rdata); 327 329 wholeMsg = string(rdata.msg_info.msg_buf, rdata.msg_info.len); 328 srcIp = rdata.pkt_info.src_name; 329 srcPort = rdata.pkt_info.src_port; 330 pj_sockaddr_print(&rdata.pkt_info.src_addr, straddr, sizeof(straddr), 3); 331 srcAddress = straddr; 332 pjRxData = (void *)&rdata; 330 333 } 331 334 … … 424 427 /////////////////////////////////////////////////////////////////////////////// 425 428 429 void SipEvent::fromPj(const pjsip_event &ev) 430 { 431 type = ev.type; 432 if (type == PJSIP_EVENT_TIMER) { 433 body.timer.entry = ev.body.timer.entry; 434 } else if (type == PJSIP_EVENT_TSX_STATE) { 435 body.tsxState.prevState = (pjsip_tsx_state_e) 436 ev.body.tsx_state.prev_state; 437 body.tsxState.tsx.fromPj(*ev.body.tsx_state.tsx); 438 if (body.tsxState.type == PJSIP_EVENT_TX_MSG) { 439 body.tsxState.src.tdata.fromPj(*ev.body.tsx_state.src.tdata); 440 } else if (body.tsxState.type == PJSIP_EVENT_RX_MSG) { 441 body.tsxState.src.rdata.fromPj(*ev.body.tsx_state.src.rdata); 442 } else if (body.tsxState.type == PJSIP_EVENT_TRANSPORT_ERROR) { 443 body.tsxState.src.status = ev.body.tsx_state.src.status; 444 } else if (body.tsxState.type == PJSIP_EVENT_TIMER) { 445 body.tsxState.src.timer = ev.body.tsx_state.src.timer; 446 } else if (body.tsxState.type == PJSIP_EVENT_USER) { 447 body.tsxState.src.data = ev.body.tsx_state.src.data; 448 } 449 } else if (type == PJSIP_EVENT_TX_MSG) { 450 body.txMsg.tdata.fromPj(*ev.body.tx_msg.tdata); 451 } else if (type == PJSIP_EVENT_RX_MSG) { 452 body.rxMsg.rdata.fromPj(*ev.body.rx_msg.rdata); 453 } else if (type == PJSIP_EVENT_TRANSPORT_ERROR) { 454 body.txError.tdata.fromPj(*ev.body.tx_error.tdata); 455 body.txError.tsx.fromPj(*ev.body.tx_error.tsx); 456 } else if (type == PJSIP_EVENT_USER) { 457 body.user.user1 = ev.body.user.user1; 458 } 459 pjEvent = (void *)&ev; 460 } 461 462 void SipTxData::fromPj(pjsip_tx_data &tdata) 463 { 464 char straddr[PJ_INET6_ADDRSTRLEN+10]; 465 466 info = pjsip_tx_data_get_info(&tdata); 467 pjsip_tx_data_encode(&tdata); 468 wholeMsg = string(tdata.buf.start, tdata.buf.end - tdata.buf.start); 469 pj_sockaddr_print(&tdata.tp_info.dst_addr, straddr, sizeof(straddr), 3); 470 dstAddress = straddr; 471 pjTxData = (void *)&tdata; 472 } 473 474 void SipTransaction::fromPj(pjsip_transaction &tsx) 475 { 476 this->role = tsx.role; 477 this->method = pj2Str(tsx.method.name); 478 this->statusCode = tsx.status_code; 479 this->statusText = pj2Str(tsx.status_text); 480 this->lastTx.fromPj(*tsx.last_tx); 481 this->pjTransaction = (void *)&tsx; 482 } 483 484 bool SipTxOption::isEmpty() const 485 { 486 return (targetUri == "" && headers.size() == 0 && contentType == "" && 487 msgBody == "" && multipartContentType.type == "" && 488 multipartContentType.subType == "" && multipartParts.size() == 0); 489 } 490 426 491 void SipTxOption::fromPj(const pjsua_msg_data &prm) throw(Error) 427 492 { … … 475 540 } 476 541 } 542 543 ////////////////////////////////////////////////////////////////////////////// 544 545 SendInstantMessageParam::SendInstantMessageParam() 546 : contentType("text/plain"), content(""), userData(NULL) 547 { 548 } 549 550 SendTypingIndicationParam::SendTypingIndicationParam() 551 : isTyping(false) 552 { 553 }
Note: See TracChangeset
for help on using the changeset viewer.