这篇教程C++ switch_api_execute函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中switch_api_execute函数的典型用法代码示例。如果您正苦于以下问题:C++ switch_api_execute函数的具体用法?C++ switch_api_execute怎么用?C++ switch_api_execute使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了switch_api_execute函数的25个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: SWITCH_STANDARD_STREAMstatic cid_data_t *check_cache(switch_memory_pool_t *pool, const char *number){ char *cmd; char *name = NULL; char *area = NULL; char *src = NULL; cid_data_t *cid = NULL; switch_stream_handle_t stream = { 0 }; SWITCH_STANDARD_STREAM(stream); cmd = switch_core_sprintf(pool, "get fs:cidlookup:name:%s", number); if (switch_api_execute("memcache", cmd, NULL, &stream) == SWITCH_STATUS_SUCCESS) { if (strncmp("-ERR", stream.data, 4)) { name = switch_core_strdup(pool, stream.data); } else { name = NULL; } } SWITCH_REWIND_STREAM(stream); cmd = switch_core_sprintf(pool, "get fs:cidlookup:area:%s", number); if (switch_api_execute("memcache", cmd, NULL, &stream) == SWITCH_STATUS_SUCCESS) { if (strncmp("-ERR", stream.data, 4)) { area = switch_core_strdup(pool, stream.data); } else { area = NULL; } } SWITCH_REWIND_STREAM(stream); cmd = switch_core_sprintf(pool, "get fs:cidlookup:src:%s", number); if (switch_api_execute("memcache", cmd, NULL, &stream) == SWITCH_STATUS_SUCCESS) { if (strncmp("-ERR", stream.data, 4)) { src = switch_core_strdup(pool, stream.data); } else { src = NULL; } } if (name || area || src) { cid = switch_core_alloc(pool, sizeof(cid_data_t)); switch_assert(cid); cid->name = name; cid->area = area; cid->src = src; } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG10, "memcache: k:'%s', vn:'%s', va:'%s', vs:'%s'/n", cmd, (name) ? name : "(null)", (area) ? area : "(null)", (src) ? src : "(null)"); switch_safe_free(stream.data); return cid;}
开发者ID:AbrahamJewowich,项目名称:FreeSWITCH,代码行数:53,
示例2: SWITCH_DECLARESWITCH_DECLARE(const char *) API::executeString(const char *cmd){ char *arg; switch_stream_handle_t stream = { 0 }; char *mycmd = NULL; this_check(""); SWITCH_STANDARD_STREAM(stream); if (zstr(cmd)) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "No application specified/n"); stream.write_function(&stream, "-ERR No application specified"); } else { mycmd = strdup(cmd); switch_assert(mycmd); if ((arg = strchr(mycmd, ' '))) { *arg++ = '/0'; } switch_api_execute(mycmd, arg, session, &stream); switch_safe_free(mycmd); } return (char *) stream.data;}
开发者ID:odmanV2,项目名称:freecenter,代码行数:28,
示例3: prefetch_thread/** * Thread to prefetch URLs * @param thread the thread * @param obj started flag * @return NULL */static void *SWITCH_THREAD_FUNC prefetch_thread(switch_thread_t *thread, void *obj){ int *started = obj; void *url = NULL; switch_thread_rwlock_rdlock(gcache.shutdown_lock); *started = 1; // process prefetch requests while (!gcache.shutdown) { if (switch_queue_pop(gcache.prefetch_queue, &url) == SWITCH_STATUS_SUCCESS) { switch_stream_handle_t stream = { 0 }; SWITCH_STANDARD_STREAM(stream); switch_api_execute("http_get", url, NULL, &stream); switch_safe_free(stream.data); switch_safe_free(url); } url = NULL; } // shutting down- clear the queue while (switch_queue_trypop(gcache.prefetch_queue, &url) == SWITCH_STATUS_SUCCESS) { switch_safe_free(url); url = NULL; } switch_thread_rwlock_unlock(gcache.shutdown_lock); return NULL;}
开发者ID:AricGod,项目名称:FreeSWITCH,代码行数:36,
示例4: utils_start_sofia_profileswitch_status_t utils_start_sofia_profile(char *profile_name){ char cmd[128]; char arg[128]; switch_stream_handle_t mystream = { 0 }; if (!zstr(profile_name)) { if (utils_profile_control(profile_name) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "profile %s doesn't exist in sip_profiles directory/n",profile_name); return SWITCH_STATUS_FALSE; } switch_snprintf(cmd, sizeof(cmd),"sofia"); switch_snprintf(arg, sizeof(arg), "profile %s start",profile_name); SWITCH_STANDARD_STREAM(mystream); if (switch_api_execute(cmd, arg, NULL, &mystream) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR,"cannot execute sofia api %s/n", profile_name); return SWITCH_STATUS_FALSE; } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE,"profile %s started/n", profile_name); switch_safe_free(mystream.data); return SWITCH_STATUS_SUCCESS; } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR,"Invalid profile name/n"); return SWITCH_STATUS_FALSE; }}
开发者ID:VoiSmart,项目名称:freeswitch-mod-cpg,代码行数:27,
示例5: listen_entrystatic switch_status_t listen_entry(switch_core_session_t *session, dir_profile_t *profile, listing_callback_t *cbt){ char buf[2] = ""; char macro[256] = ""; char recorded_name[256] = ""; /* Try to use the recorded name from voicemail if it exist */ if (switch_loadable_module_exists("mod_voicemail") == SWITCH_STATUS_SUCCESS) { char *cmd = NULL; switch_stream_handle_t stream = { 0 }; SWITCH_STANDARD_STREAM(stream); cmd = switch_core_session_sprintf(session, "%s/%[email C++ switch_assert函数代码示例 C++ switchState函数代码示例
|