[Freeswitch-svn] [commit] r13991 - in freeswitch/trunk/contrib/mod/endpoints/mod_khomp: src tools
Author: raulfragoso Date: Fri Jun 26 18:33:24 2009 New Revision: 13991 Log: Even more khomp files Added: freeswitch/trunk/contrib/mod/endpoints/mod_khomp/src/ freeswitch/trunk/contrib/mod/endpoints/mod_khomp/src/globals.cpp freeswitch/trunk/contrib/mod/endpoints/mod_khomp/src/khomp_pvt.cpp freeswitch/trunk/contrib/mod/endpoints/mod_khomp/src/opt.cpp freeswitch/trunk/contrib/mod/endpoints/mod_khomp/tools/ freeswitch/trunk/contrib/mod/endpoints/mod_khomp/tools/generate-k3l-header.pl (contents, props changed) Added: freeswitch/trunk/contrib/mod/endpoints/mod_khomp/src/globals.cpp ============================================================================== --- (empty file) +++ freeswitch/trunk/contrib/mod/endpoints/mod_khomp/src/globals.cpp Fri Jun 26 18:33:24 2009 @@ -0,0 +1,17 @@ +#include "globals.h" + + +K3LAPI Globals::_k3lapi; + +config_options Globals::_options; + +switch_endpoint_interface_t * Globals::_khomp_endpoint_interface; +switch_api_interface_t * Globals::_api_interface; +switch_memory_pool_t * Globals::_module_pool = NULL; +int Globals::_running = 1; + +unsigned int Globals::_flags; +int Globals::_calls; +switch_mutex_t * Globals::_mutex; + + Added: freeswitch/trunk/contrib/mod/endpoints/mod_khomp/src/khomp_pvt.cpp ============================================================================== --- (empty file) +++ freeswitch/trunk/contrib/mod/endpoints/mod_khomp/src/khomp_pvt.cpp Fri Jun 26 18:33:24 2009 @@ -0,0 +1,3 @@ +#include "khomp_pvt.h" + +KhompPvt::KhompPvtVector KhompPvt::_pvts; Added: freeswitch/trunk/contrib/mod/endpoints/mod_khomp/src/opt.cpp ============================================================================== --- (empty file) +++ freeswitch/trunk/contrib/mod/endpoints/mod_khomp/src/opt.cpp Fri Jun 26 18:33:24 2009 @@ -0,0 +1,91 @@ +#include "opt.h" + +#include "globals.h" + + +bool Opt::_debug; +char * Opt::_ip; +int Opt::_port; + +char * Opt::_dialplan; +char * Opt::_codec_string; +char * Opt::_codec_order[SWITCH_MAX_CODECS]; +int Opt::_codec_order_last; +char * Opt::_codec_rates_string; +char * Opt::_codec_rates[SWITCH_MAX_CODECS]; +int Opt::_codec_rates_last; + + +SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_dialplan, Opt::_dialplan); +SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_codec_string, Opt::_codec_string); +SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_codec_rates_string, Opt::_codec_rates_string); +SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_ip, Opt::_ip); + + + +void Opt::initialize(void) +{ + Globals::_options.add(config_option("debug", _debug, false)); + //Globals::options.add(config_option("port", _port, ???)); + //Globals::options.add(config_option("ip", _ip, ???)); + //Globals::options.add(config_option("dialplan", _dialplan, ???)); + //Globals::options.add(config_option("ip", _ip, ???)); +} + +void Opt::obtain(void) +{ + load_configuration("khomp.conf", NULL); +} + +void Opt::load_configuration(const char *file_name, const char **section, bool show_errors) +{ + switch_xml_t cfg, xml, settings, param; + + switch_mutex_init(&Globals::_mutex, SWITCH_MUTEX_NESTED, Globals::_module_pool); + if (!(xml = switch_xml_open_cfg(file_name, &cfg, NULL))) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Open of %s failed\n", file_name); + return; + } + + if ((settings = switch_xml_child(cfg, "settings"))) { + for (param = switch_xml_child(settings, "param"); param; param = param->next) { + char *var = (char *) switch_xml_attr_soft(param, "name"); + char *val = (char *) switch_xml_attr_soft(param, "value"); + + if (!strcmp(var, "_debug")) { + Globals::_options.process(var, val); + //_debug = atoi(val); + } else if (!strcmp(var, "port")) { + _port = atoi(val); + } else if (!strcmp(var, "ip")) { + set_global_ip(val); + //} else if (!strcmp(var, "codec-master")) { + //if (!strcasecmp(val, "us")) { + // switch_set_flag(&globals, GFLAG_MY_CODEC_PREFS); + //} + } else if (!strcmp(var, "dialplan")) { + set_global_dialplan(val); + } else if (!strcmp(var, "codec-prefs")) { + set_global_codec_string(val); + _codec_order_last = switch_separate_string(_codec_string, ',', _codec_order, SWITCH_MAX_CODECS); + } else if (!strcmp(var, "codec-rates")) { + set_global_codec_rates_string(val); + _codec_rates_last = switch_separate_string(_codec_rates_string, ',', _codec_rates, SWITCH_MAX_CODECS); + } + } + } + + if (!_dialplan) { + set_global_dialplan("default"); + } + + if (!_port) { + _port = 4569; + } + + switch_xml_free(xml); + +} +void Opt::clean_configuration(void){} + + Added: freeswitch/trunk/contrib/mod/endpoints/mod_khomp/tools/generate-k3l-header.pl ============================================================================== --- (empty file) +++ freeswitch/trunk/contrib/mod/endpoints/mod_khomp/tools/generate-k3l-header.pl Fri Jun 26 18:33:24 2009 @@ -0,0 +1,102 @@ +#!/usr/bin/perl + +my @files = + ( 'KTypeDefs.h', 'KVoIP.h', 'KDefs.h', 'KErrorDefs.h', 'KH100Defs.h', + 'KMixerDefs.h', 'KR2D.h', 'KISDN.h', 'KGSM.h', 'KStats.h', 'k3lVersion.h', 'k3l.h' ); + +my $text = ""; + +foreach my $file (@files) +{ + open FILE, ('api/' . $file); + + while (<FILE>) + { + $text .= $_; + } + + close (FILE); +} + +$text =~ s/[\/][\*](.+?)[\*][\/]//smg; +$text =~ s/[\/][\/](.+)//mg; +$text =~ s/\#include.+\n//g; +$text =~ s/\n\n/\n/mg; + +my $header = +"/* + KHOMP endpoint provider for FreeSWITCH(tm) + Copyright (C) 2007-2009 Khomp Ind. & Com. + + The contents of this file are subject to the Mozilla Public License Version 1.1 + (the \"License\"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an \"AS IS\" basis, + WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for + the specific language governing rights and limitations under the License. + + Alternatively, the contents of this file may be used under the terms of the + \"GNU Lesser General Public License 2.1\" license (the “LGPL\" License), in which + case the provisions of \"LGPL License\" are applicable instead of those above. + + If you wish to allow use of your version of this file only under the terms of + the LGPL License and not to allow others to use your version of this file under + the MPL, indicate your decision by deleting the provisions above and replace them + with the notice and other provisions required by the LGPL License. If you do not + delete the provisions above, a recipient may use your version of this file under + either the MPL or the LGPL License. + + The LGPL header follows below: + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this library; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + +"; + +my $footer = +" +enum KISDNDebugFlag +{ + kidfQ931 = 0x01, + kidfLAPD = 0x02, + kidfSystem = 0x04, + kidfInvalid = 0x08, +}; + +#define CM_VOIP_START_DEBUG 0x20 +#define CM_VOIP_STOP_DEBUG 0x21 +#define CM_VOIP_DUMP_STAT 0x22 + +#define CM_ISDN_DEBUG 0x24 + +#define CM_PING 0x123456 +#define EV_PONG 0x654321 + +#define CM_LOG_REQUEST 0x100 +#define CM_LOG_CREATE_DISPATCHER 0x101 +#define CM_LOG_DESTROY_DISPATCHER 0x102 + +"; + +open FILE, '>', '../include/k3lDefs.h'; +print FILE $header; +print FILE "#ifndef INCLUDED_K3LDEFS_H\n"; +print FILE "#define INCLUDED_K3LDEFS_H\n"; +print FILE $text; +print FILE $footer; +print FILE "#endif /* INCLUDED_K3LDEFS_H */\n"; +close FILE;
participants (1)
-
FreeSWITCH SVN