string SipMessage::text(bool verbose) const { std::ostringstream ss; ss << "SipMessage("; { int code = smGetCode(); ss <<LOGVAR(code); } if (!msmReqMethod.empty()) ss <<LOGVAR2("ReqMethod",msmReqMethod); if (!msmReason.empty()) ss <<LOGVAR2("reason",msmReason); if (!msmCSeqMethod.empty()) ss<<" CSeq="<<msmCSeqNum<< " "<<msmCSeqMethod; if (!msmCallId.empty()) ss <<LOGVAR2("callid",msmCallId); if (!msmReqUri.empty()) ss << LOGVAR2("ReqUri",msmReqUri); { string To = msmTo.value(); if (!To.empty()) ss << LOGVAR(To); } { string From = msmFrom.value(); if (!From.empty()) ss<<LOGVAR(From); } if (!msmVias.empty()) ss <<LOGVAR2("Vias",msmVias); if (!msmRoutes.empty()) ss <<LOGVAR2("Routes",msmRoutes); if (!msmRecordRoutes.empty()) ss <<LOGVAR2("RecordRoutes",msmRecordRoutes); if (!msmContactValue.empty()) ss <<LOGVAR2("Contact",msmContactValue); //list<SipBody> msmBodies; if (!msmContentType.empty()) ss<<LOGVAR2("ContentType",msmContentType); if (!msmBody.empty()) ss<<LOGVAR2("Body",msmBody); //if (!msmAuthenticateValue.empty()) ss<<LOGVARM(msmAuthenticateValue); if (!msmAuthorizationValue.empty()) ss<<LOGVARM(msmAuthorizationValue); for (SipParamList::const_iterator it = msmHeaders.begin(); it != msmHeaders.end(); it++) { ss <<" header "<<it->mName <<"="<<it->mValue; } if (verbose) { ss << LOGVARM(msmContent); } else { ss << LOGVAR2("firstLine",smGetFirstLine()); } ss << ")"; return ss.str(); }
string L2LogicalChannel::displayTimers() const { ostringstream ss; ss <<LOGVARM(mT3101) <<LOGVARM(mT3109) <<LOGVARM(mT3111); if (mSACCH) { // The only thing we want to display from L1 is the bad-frame-tracker variable, which is only useful in SACCH. ss <<mSACCH->mL1->displayTimers(); } return ss.str(); }
void TransportBlock::text(std::ostream&os) const { os <<LOGVARM(mTime) <<LOGVARM(mScheduled) <<LOGVARM(mDescr) <<" "; textBitVector(os); };