本文整理汇总了C++中PJ_POOL_ALLOC_T函数的典型用法代码示例。如果您正苦于以下问题:C++ PJ_POOL_ALLOC_T函数的具体用法?C++ PJ_POOL_ALLOC_T怎么用?C++ PJ_POOL_ALLOC_T使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了PJ_POOL_ALLOC_T函数的18个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: PJ_DEF
PJ_DEF(pjpidf_note*) pjpidf_tuple_add_note(pj_pool_t *pool, pjpidf_tuple *t,
const pj_str_t *text)
{
pjpidf_note *note = PJ_POOL_ALLOC_T(pool, pjpidf_note);
xml_init_node(pool, note, &NOTE, text);
pj_xml_add_node(t, note);
return note;
}
开发者ID:max3903,项目名称:SFLphone,代码行数:8,代码来源:pidf.c
示例2: xml_create_attr
static pj_xml_attr* xml_create_attr(pj_pool_t *pool, pj_str_t *name,
const pj_str_t *value)
{
pj_xml_attr *attr = PJ_POOL_ALLOC_T(pool, pj_xml_attr);
attr->name = *name;
pj_strdup(pool, &attr->value, value);
return attr;
}
开发者ID:Agostin,项目名称:csipsimple,代码行数:8,代码来源:xpidf.c
示例3: add_privacy_params
/*!
* \internal
* \brief Add privacy and screen parameters to a Remote-Party-ID header.
*
* If privacy is requested, then the privacy and screen parameters need to
* reflect this. Similarly, if no privacy or screening is to be communicated,
* we need to make sure that any previously set values are updated.
*
* \param tdata The message where the Remote-Party-ID header is
* \param hdr The header on which the parameters are being added
* \param id The identification information used to determine privacy
*/
static void add_privacy_params(pjsip_tx_data *tdata, pjsip_fromto_hdr *hdr, const struct ast_party_id *id)
{
static const pj_str_t privacy_str = { "privacy", 7 };
static const pj_str_t screen_str = { "screen", 6 };
static const pj_str_t privacy_full_str = { "full", 4 };
static const pj_str_t privacy_off_str = { "off", 3 };
static const pj_str_t screen_yes_str = { "yes", 3 };
static const pj_str_t screen_no_str = { "no", 2 };
pjsip_param *old_privacy;
pjsip_param *old_screen;
pjsip_param *privacy;
pjsip_param *screen;
int presentation;
old_privacy = pjsip_param_find(&hdr->other_param, &privacy_str);
old_screen = pjsip_param_find(&hdr->other_param, &screen_str);
if (!old_privacy) {
privacy = PJ_POOL_ALLOC_T(tdata->pool, pjsip_param);
privacy->name = privacy_str;
pj_list_insert_before(&hdr->other_param, privacy);
} else {
privacy = old_privacy;
}
if (!old_screen) {
screen = PJ_POOL_ALLOC_T(tdata->pool, pjsip_param);
screen->name = screen_str;
pj_list_insert_before(&hdr->other_param, screen);
} else {
screen = old_screen;
}
presentation = ast_party_id_presentation(id);
if ((presentation & AST_PRES_RESTRICTION) == AST_PRES_ALLOWED) {
privacy->value = privacy_off_str;
} else {
privacy->value = privacy_full_str;
}
if ((presentation & AST_PRES_NUMBER_TYPE) == AST_PRES_USER_NUMBER_PASSED_SCREEN) {
screen->value = screen_yes_str;
} else {
screen->value = screen_no_str;
}
}
开发者ID:brandonshults01,项目名称:asterisk,代码行数:57,代码来源:res_pjsip_caller_id.c
示例4: min_se_hdr_shallow_clone
static pjsip_min_se_hdr* min_se_hdr_shallow_clone(
pj_pool_t *pool,
const pjsip_min_se_hdr* hsrc)
{
pjsip_min_se_hdr *hdr = PJ_POOL_ALLOC_T(pool, pjsip_min_se_hdr);
pj_memcpy(hdr, hsrc, sizeof(*hdr));
pjsip_param_shallow_clone(pool, &hdr->other_param, &hsrc->other_param);
return hdr;
}
开发者ID:Archipov,项目名称:android-client,代码行数:9,代码来源:sip_timer.c
示例5: PJ_DECL
PJ_DECL(pjdialog_info_dialog*) pjdialog_info_dialog_info_add_dialog(pj_pool_t *pool,
pjdialog_info_dialog_info *dialog_info,
const pj_str_t *id)
{
pjdialog_info_dialog *dialog = PJ_POOL_ALLOC_T(pool, pjdialog_info_dialog);
pjdialog_info_dialog_construct(pool, dialog, id);
pj_xml_add_node(dialog_info, dialog);
return dialog;
}
开发者ID:createwindow,项目名称:pjsip-blf,代码行数:9,代码来源:dialog-info.c
示例6: pjsip_event_hdr_shallow_clone
static pjsip_event_hdr*
pjsip_event_hdr_shallow_clone( pj_pool_t *pool,
const pjsip_event_hdr *rhs )
{
pjsip_event_hdr *hdr = PJ_POOL_ALLOC_T(pool, pjsip_event_hdr);
pj_memcpy(hdr, rhs, sizeof(*hdr));
pjsip_param_shallow_clone(pool, &hdr->other_param, &rhs->other_param);
return hdr;
}
开发者ID:batk0,项目名称:pjsip,代码行数:9,代码来源:evsub_msg.c
示例7: PJ_DEF
/* Remote */
PJ_DEF(void) pjdialog_info_remote_construct(pj_pool_t *pool,
pjdialog_info_remote *remote)
{
pj_xml_node *node;
xml_init_node(pool, remote, &REMOTE, NULL);
node = PJ_POOL_ALLOC_T(pool, pj_xml_node);
xml_init_node(pool, node, NULL, NULL);
pj_xml_add_node(remote, node);
}
开发者ID:createwindow,项目名称:pjsip-blf,代码行数:11,代码来源:dialog-info.c
示例8: pjsip_url_clone
static pjsip_sip_uri* pjsip_url_clone(pj_pool_t *pool, const pjsip_sip_uri *rhs)
{
pjsip_sip_uri *url = PJ_POOL_ALLOC_T(pool, pjsip_sip_uri);
if (!url)
return NULL;
pjsip_sip_uri_init(url, IS_SIPS(rhs));
pjsip_sip_uri_assign(pool, url, rhs);
return url;
}
开发者ID:RockHardJim,项目名称:idphone,代码行数:10,代码来源:sip_uri.c
示例9: parse_digest_credential
static void parse_digest_credential( pj_scanner *scanner, pj_pool_t *pool,
pjsip_digest_credential *cred)
{
pj_list_init(&cred->other_param);
for (;;) {
pj_str_t name, value;
pjsip_parse_param_imp(scanner, pool, &name, &value,
PJSIP_PARSE_REMOVE_QUOTE);
if (!pj_stricmp(&name, &pjsip_USERNAME_STR)) {
cred->username = value;
} else if (!pj_stricmp(&name, &pjsip_REALM_STR)) {
cred->realm = value;
} else if (!pj_stricmp(&name, &pjsip_NONCE_STR)) {
cred->nonce = value;
} else if (!pj_stricmp(&name, &pjsip_URI_STR)) {
cred->uri = value;
} else if (!pj_stricmp(&name, &pjsip_RESPONSE_STR)) {
cred->response = value;
} else if (!pj_stricmp(&name, &pjsip_ALGORITHM_STR)) {
cred->algorithm = value;
} else if (!pj_stricmp(&name, &pjsip_CNONCE_STR)) {
cred->cnonce = value;
} else if (!pj_stricmp(&name, &pjsip_OPAQUE_STR)) {
cred->opaque = value;
} else if (!pj_stricmp(&name, &pjsip_QOP_STR)) {
cred->qop = value;
} else if (!pj_stricmp(&name, &pjsip_NC_STR)) {
cred->nc = value;
} else {
pjsip_param *p = PJ_POOL_ALLOC_T(pool, pjsip_param);
p->name = name;
p->value = value;
pj_list_insert_before(&cred->other_param, p);
}
/* Eat comma */
if (!pj_scan_is_eof(scanner) && *scanner->curptr == ',')
pj_scan_get_char(scanner);
else
break;
}
}
开发者ID:max3903,项目名称:SFLphone,代码行数:55,代码来源:sip_auth_parser.c
示例10: pjsip_name_addr_clone
static pjsip_name_addr* pjsip_name_addr_clone( pj_pool_t *pool,
const pjsip_name_addr *rhs)
{
pjsip_name_addr *addr = PJ_POOL_ALLOC_T(pool, pjsip_name_addr);
if (!addr)
return NULL;
pjsip_name_addr_init(addr);
pjsip_name_addr_assign(pool, addr, rhs);
return addr;
}
开发者ID:RockHardJim,项目名称:idphone,代码行数:11,代码来源:sip_uri.c
示例11: pjsip_www_authenticate_hdr_shallow_clone
static pjsip_www_authenticate_hdr* pjsip_www_authenticate_hdr_shallow_clone( pj_pool_t *pool,
const pjsip_www_authenticate_hdr *rhs)
{
/* This function also serves Proxy-Authenticate header. */
pjsip_www_authenticate_hdr *hdr;
hdr = PJ_POOL_ALLOC_T(pool, pjsip_www_authenticate_hdr);
pj_memcpy(hdr, rhs, sizeof(*hdr));
pjsip_param_shallow_clone(pool, &hdr->challenge.common.other_param,
&rhs->challenge.common.other_param);
return hdr;
}
开发者ID:AGProjects,项目名称:python-sipsimple,代码行数:11,代码来源:sip_auth_msg.c
示例12: parse_hdr_session_expires
pjsip_hdr* parse_hdr_session_expires(pjsip_parse_ctx* ctx)
{
pj_pool_t* pool = ctx->pool;
pj_scanner* scanner = ctx->scanner;
pjsip_session_expires_hdr* hdr = pjsip_session_expires_hdr_create(pool);
const pjsip_parser_const_t* pc = pjsip_parser_const();
// Parse the expiry number
pj_str_t int_str;
pj_scan_get(scanner, &pc->pjsip_DIGIT_SPEC, &int_str);
hdr->expires = pj_strtoul(&int_str);
pj_scan_skip_whitespace(scanner);
// Parse the rest of the params, looking for the refresher param
while (*scanner->curptr == ';')
{
// Consume the ';'.
pj_scan_get_char(scanner);
pj_scan_skip_whitespace(scanner);
// Parse the param.
pj_str_t name;
pj_str_t value;
pjsip_parse_param_imp(scanner, pool, &name, &value,
PJSIP_PARSE_REMOVE_QUOTE);
if (!pj_stricmp2(&name, "refresher"))
{
if (!pj_stricmp2(&value, "uac"))
{
hdr->refresher = SESSION_REFRESHER_UAC;
}
else if (!pj_stricmp2(&value, "uas"))
{
hdr->refresher = SESSION_REFRESHER_UAS;
}
else
{
PJ_THROW(PJSIP_SYN_ERR_EXCEPTION); // LCOV_EXCL_LINE
}
}
else
{
pjsip_param* param = PJ_POOL_ALLOC_T(pool, pjsip_param);
param->name = name;
param->value = value;
pj_list_insert_before(&hdr->other_param, param);
}
}
// We're done parsing this header.
pjsip_parse_end_hdr_imp(scanner);
return (pjsip_hdr*)hdr;
}
开发者ID:jmmL,项目名称:sprout,代码行数:54,代码来源:custom_headers.cpp
示例13: pjmedia_sdp_bandw_clone
pjmedia_sdp_bandw_clone (pj_pool_t *pool,
const pjmedia_sdp_bandw *rhs)
{
pjmedia_sdp_bandw *b = PJ_POOL_ALLOC_T(pool, pjmedia_sdp_bandw);
if (!b) return NULL;
if (!pj_strdup (pool, &b->modifier, &rhs->modifier)) return NULL;
b->value = rhs->value;
return b;
}
开发者ID:AGProjects,项目名称:python-sipsimple,代码行数:11,代码来源:sdp.c
示例14: PJ_DEF
PJ_DEF(pj_status_t) pjmedia_sdp_attr_to_rtpmap(pj_pool_t *pool,
const pjmedia_sdp_attr *attr,
pjmedia_sdp_rtpmap **p_rtpmap)
{
PJ_ASSERT_RETURN(pool && attr && p_rtpmap, PJ_EINVAL);
*p_rtpmap = PJ_POOL_ALLOC_T(pool, pjmedia_sdp_rtpmap);
PJ_ASSERT_RETURN(*p_rtpmap, PJ_ENOMEM);
return pjmedia_sdp_attr_get_rtpmap(attr, *p_rtpmap);
}
开发者ID:AGProjects,项目名称:python-sipsimple,代码行数:11,代码来源:sdp.c
示例15: parse_hdr_p_charging_function_addresses
pjsip_hdr* parse_hdr_p_charging_function_addresses(pjsip_parse_ctx* ctx)
{
// The P-Charging-Function-Addresses header has the following ABNF:
//
// P-Charging-Addr = "P-Charging-Function-Addresses" HCOLON
// charge-addr-params
// *(SEMI charge-addr-params)
// charge-addr-params = ccf / ecf / generic-param
// ccf = "ccf" EQUAL gen-value
// ecf = "ecf" EQUAL gen-value
//
// Where the ccf and ecf elements may be repeated to specify backup CDFs
// for redundancy.
pj_pool_t* pool = ctx->pool;
pj_scanner* scanner = ctx->scanner;
pjsip_p_c_f_a_hdr* hdr = pjsip_p_c_f_a_hdr_create(pool);
pj_str_t name;
pj_str_t value;
pjsip_param *param;
for (;;) {
pjsip_parse_param_imp(scanner, pool, &name, &value,
PJSIP_PARSE_REMOVE_QUOTE);
param = PJ_POOL_ALLOC_T(pool, pjsip_param);
param->name = name;
param->value = value;
if (!pj_stricmp2(&name, "ccf")) {
pj_list_insert_before(&hdr->ccf, param);
} else if (!pj_stricmp2(&name, "ecf")) {
pj_list_insert_before(&hdr->ecf, param);
} else {
pj_list_insert_before(&hdr->other_param, param);
}
// We might need to swallow the ';'.
if (!pj_scan_is_eof(scanner) && *scanner->curptr == ';') {
pj_scan_get_char(scanner);
}
// If we're EOF or looking at a newline, we're done.
pj_scan_skip_whitespace(scanner);
if (pj_scan_is_eof(scanner) ||
(*scanner->curptr == '\r') ||
(*scanner->curptr == '\n')) {
break;
}
}
// We're done parsing this header.
pjsip_parse_end_hdr_imp(scanner);
return (pjsip_hdr*)hdr;
}
开发者ID:jmmL,项目名称:sprout,代码行数:54,代码来源:custom_headers.cpp
示例16: PJ_DEF
/*
* Create media clock.
*/
PJ_DEF(pj_status_t) pjmedia_clock_create( pj_pool_t *pool,
unsigned clock_rate,
unsigned channel_count,
unsigned samples_per_frame,
unsigned options,
pjmedia_clock_callback *cb,
void *user_data,
pjmedia_clock **p_clock)
{
pjmedia_clock *clock;
pj_status_t status;
PJ_ASSERT_RETURN(pool && clock_rate && samples_per_frame && p_clock,
PJ_EINVAL);
clock = PJ_POOL_ALLOC_T(pool, pjmedia_clock);
status = pj_get_timestamp_freq(&clock->freq);
if (status != PJ_SUCCESS)
return status;
clock->interval.u64 = samples_per_frame * clock->freq.u64 /
channel_count / clock_rate;
clock->next_tick.u64 = 0;
clock->timestamp.u64 = 0;
clock->max_jump = MAX_JUMP_MSEC * clock->freq.u64 / 1000;
clock->timestamp_inc = samples_per_frame / channel_count;
clock->options = options;
clock->cb = cb;
clock->user_data = user_data;
clock->thread = NULL;
clock->running = PJ_FALSE;
clock->quitting = PJ_FALSE;
/* I don't think we need a mutex, so we'll use null. */
status = pj_lock_create_null_mutex(pool, "clock", &clock->lock);
if (status != PJ_SUCCESS)
return status;
if ((clock->options & PJMEDIA_CLOCK_NO_ASYNC) == 0) {
status = pj_thread_create(pool, "clock", &clock_thread, clock,
0, 0, &clock->thread);
if (status != PJ_SUCCESS) {
pj_lock_destroy(clock->lock);
return status;
}
}
*p_clock = clock;
return PJ_SUCCESS;
}
开发者ID:Agostin,项目名称:csipsimple,代码行数:57,代码来源:clock_thread.c
示例17: parse_hdr_reject_contact
pjsip_hdr* parse_hdr_reject_contact(pjsip_parse_ctx* ctx)
{
// The Reject-Contact header has the following ABNF:
//
// Reject-Contact = ("Reject-Contact" / "j") HCOLON rc-value
// *(COMMA rc-value)
// rc-value = "*" *(SEMI rc-params)
// rc-params = feature-param / generic-param
//
// But we allow any value for the header (not just *).
pj_pool_t* pool = ctx->pool;
pj_scanner* scanner = ctx->scanner;
const pjsip_parser_const_t* pc = pjsip_parser_const();
pjsip_reject_contact_hdr* hdr = pjsip_reject_contact_hdr_create(pool);
pj_str_t name;
pj_str_t value;
pjsip_param *param;
// Read and ignore the value.
pj_str_t header_value;
pj_scan_get(scanner, &pc->pjsip_TOKEN_SPEC, &header_value);
for (;;)
{
// We might need to swallow the ';'.
if (!pj_scan_is_eof(scanner) && *scanner->curptr == ';')
{
pj_scan_get_char(scanner);
}
pjsip_parse_param_imp(scanner, pool, &name, &value, 0);
param = PJ_POOL_ALLOC_T(pool, pjsip_param);
param->name = name;
param->value = value;
pj_list_insert_before(&hdr->feature_set, param);
// If we're EOF or looking at a newline, we're done.
pj_scan_skip_whitespace(scanner);
if (pj_scan_is_eof(scanner) ||
(*scanner->curptr == '\r') ||
(*scanner->curptr == '\n'))
{
break;
}
}
// We're done parsing this header.
pjsip_parse_end_hdr_imp(scanner);
return (pjsip_hdr*)hdr;
}
开发者ID:jmmL,项目名称:sprout,代码行数:52,代码来源:custom_headers.cpp
示例18: pjsip_tel_uri_create
/* "tel:911;p1=p1;p2=p2" */
static pjsip_uri *create_uri34(pj_pool_t *pool)
{
pjsip_tel_uri *uri = pjsip_tel_uri_create(pool);
pjsip_param *p;
uri->number = pj_str("911");
p = PJ_POOL_ALLOC_T(pool, pjsip_param);
p->name = p->value = pj_str("p1");
pj_list_insert_before(&uri->other_param, p);
return (pjsip_uri*)uri;
}
开发者ID:Netrounds,项目名称:pjproject-old,代码行数:14,代码来源:uri_test.c
注:本文中的PJ_POOL_ALLOC_T函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论