[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