ReSIProcate之header宏
来源:互联网 发布:怎么代理淘宝上的衣服 编辑:程序博客网 时间:2024/04/27 13:43
Header宏defineHeader主要分布三处,分别是
SipMessage.cxx defineHeader(_header, _name, _type, _rfc)
Headers.hxx defineHeader(_enum, _name, _type, _rfc)
Headers.cxx defineHeader(_enum, _name, _type, _reference)
SipMessage宏展开为调用的函数,而Headers宏展开则定义了一个类。
以RetryAfter为例
宏defineHeader(RetryAfter,"Retry-After", UInt32Category, "RFC 3261");
调用方式
SipMessage* tryLater;
tryLater->header(h_RetryAfter);
相关宏展开之后
SipMessage.cxx调用函数
Heads.hxx类声明
class H_RetryAfter :public HeaderBase
{
public:
RESIP_HeapCount(H_RetryAfter);
enum {Single = true};
typedef UInt32Category Type;
UnusedChecking(RetryAfter);
static Type&knownReturn(ParserContainerBase* container);
virtual ParserContainerBase*makeContainer(HeaderFieldValueList* hfvs) const;
virtual Headers::Type getTypeNum()const;
virtual void merge(SipMessage&, constSipMessage&);
H_RetryAfter();
};
extern H_RetryAfterh_RetryAfter
Headers.cxx类定义
从上面可以看出,使用宏目的是方便添加新的SIP组成零件,避免重复代码量。
- ReSIProcate之header宏
- reSIProcate
- ReSIProcate之各工程功能简单介绍
- ReSIProcate之各工程功能简单介绍
- ReSIProcate之编译、安装、配置、运行、测试proxy
- Repro学习 之 Resiprocate+repro环境搭建(CentOS)by FloraYao
- reSIProcate学习笔记1
- reSIProcate USE OVERVIEW
- reSIProcate介绍(英文)
- reSIProcate:Typical DUM callflow
- Resiprocate 如何使用STUN
- LINUX中编译reSiprocate
- resiprocate 无法创建stack
- Resiprocate源代码分析
- resiprocate编译测试
- php header 之 Set-Cookie
- 前端知会 之 HTTP Header
- Http Header之User-Agent
- Ubuntu下修改root帐户密码
- Struts2 防止重复提交
- 找到个方便画图的好东西
- 合肥一学生高考“牛文”曝光 2009安徽高考作文《弯道超越》
- 评软件外包业在中国的发展
- ReSIProcate之header宏
- programking游戏工作室:高考和弃考
- #Pragma命令解释
- ORACLE RAC原理(转)
- 三分差分法 检测运动图像原理
- test
- Talkweb,Fuck off
- Delphi中的Function和Procedure
- 多次关闭同个句柄导致的问题