[Freeswitch-svn] [commit] r13991 - in freeswitch/trunk/contrib/mod/endpoints/mod_khomp: src tools
FreeSWITCH SVN
raulfragoso at freeswitch.org
Fri Jun 26 16:33:24 PDT 2009
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;
More information about the Freeswitch-svn
mailing list