[Freeswitch-trunk] [commit] r14012 - in freeswitch/trunk/contrib/mod/endpoints/mod_khomp: . docs
FreeSWITCH SVN
jmesquita at freeswitch.org
Sat Jun 27 00:33:43 PDT 2009
Author: jmesquita
Date: Sat Jun 27 02:33:43 2009
New Revision: 14012
Log:
Gimme a little documentation, PLEASE.
Added:
freeswitch/trunk/contrib/mod/endpoints/mod_khomp/docs/
freeswitch/trunk/contrib/mod/endpoints/mod_khomp/docs/Doxygen.conf
Modified:
freeswitch/trunk/contrib/mod/endpoints/mod_khomp/mod_khomp.cpp
Added: freeswitch/trunk/contrib/mod/endpoints/mod_khomp/docs/Doxygen.conf
==============================================================================
--- (empty file)
+++ freeswitch/trunk/contrib/mod/endpoints/mod_khomp/docs/Doxygen.conf Sat Jun 27 02:33:43 2009
@@ -0,0 +1,265 @@
+# Doxyfile 1.4.6
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+PROJECT_NAME = mod_khomp
+PROJECT_NUMBER = 1.0
+OUTPUT_DIRECTORY = .
+CREATE_SUBDIRS = NO
+OUTPUT_LANGUAGE = English
+USE_WINDOWS_ENCODING = YES
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ABBREVIATE_BRIEF = "The $name class" \
+ "The $name widget" \
+ "The $name file" \
+ is \
+ provides \
+ specifies \
+ contains \
+ represents \
+ a \
+ an \
+ the
+ALWAYS_DETAILED_SEC = NO
+INLINE_INHERITED_MEMB = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP = YES
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 8
+ALIASES =
+OPTIMIZE_OUTPUT_FOR_C = YES
+OPTIMIZE_OUTPUT_JAVA = NO
+DISTRIBUTE_GROUP_DOC = NO
+SUBGROUPING = YES
+#IGNORE_PREFIX = khomp_
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = NO
+EXTRACT_STATIC = NO
+EXTRACT_LOCAL_CLASSES = YES
+EXTRACT_LOCAL_METHODS = NO
+HIDE_UNDOC_MEMBERS = YES
+HIDE_UNDOC_CLASSES = YES
+HIDE_FRIEND_COMPOUNDS = NO
+HIDE_IN_BODY_DOCS = NO
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = NO
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = NO
+SORT_BY_SCOPE_NAME = NO
+GENERATE_TODOLIST = YES
+GENERATE_TESTLIST = YES
+GENERATE_BUGLIST = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = YES
+SHOW_DIRECTORIES = YES
+FILE_VERSION_FILTER =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = NO
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_FORMAT = "$file:$line: $text"
+WARN_LOGFILE =
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT = ../src ../src/include ../
+FILE_PATTERNS = *.c \
+ *.cc \
+ *.cxx \
+ *.cpp \
+ *.c++ \
+ *.d \
+ *.java \
+ *.ii \
+ *.ixx \
+ *.ipp \
+ *.i++ \
+ *.inl \
+ *.h \
+ *.hh \
+ *.hxx \
+ *.hpp \
+ *.h++ \
+ *.idl \
+ *.odl \
+ *.cs \
+ *.php \
+ *.php3 \
+ *.inc \
+ *.m \
+ *.mm \
+ *.dox \
+ *.py
+RECURSIVE = NO
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = NO
+INLINE_SOURCES = YES
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION = YES
+USE_HTAGS = YES
+VERBATIM_HEADERS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+#IGNORE_PREFIX = khomp_
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = YES
+HTML_OUTPUT = html
+HTML_FILE_EXTENSION = .html
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+CHM_FILE = mod_khomp.chm
+HHC_LOCATION =
+GENERATE_CHI = YES
+BINARY_TOC = NO
+TOC_EXPAND = NO
+DISABLE_INDEX = NO
+ENUM_VALUES_PER_LINE = 4
+GENERATE_TREEVIEW = YES
+TREEVIEW_WIDTH = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+USE_PDFLATEX = NO
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_LINKS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML = NO
+XML_OUTPUT = xml
+XML_SCHEMA =
+XML_DTD =
+XML_PROGRAMLISTING = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = NO
+SEARCH_INCLUDES = NO
+INCLUDE_PATH =
+INCLUDE_FILE_PATTERNS = *.h
+PREDEFINED = SWITCH_DECLARE(x)=x \
+ APR_DECLARE(x)=x \
+ SWITCH_MOD_DECLARE(x)=x \
+ DoxyDefine(x)=x
+
+EXPAND_AS_DEFINED = NO
+SKIP_FUNCTION_MACROS = NO
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES =
+GENERATE_TAGFILE =
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+PERL_PATH = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = YES
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = YES
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+GROUP_GRAPHS = YES
+UML_LOOK = YES
+TEMPLATE_RELATIONS = YES
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+CALL_GRAPH = YES
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = YES
+DOT_IMAGE_FORMAT = jpg
+DOT_PATH =
+DOTFILE_DIRS =
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+MAX_DOT_GRAPH_DEPTH = 1000
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE = NO
Modified: freeswitch/trunk/contrib/mod/endpoints/mod_khomp/mod_khomp.cpp
==============================================================================
--- freeswitch/trunk/contrib/mod/endpoints/mod_khomp/mod_khomp.cpp (original)
+++ freeswitch/trunk/contrib/mod/endpoints/mod_khomp/mod_khomp.cpp Sat Jun 27 02:33:43 2009
@@ -23,21 +23,47 @@
*
* Contributor(s):
*
- * Joao Mesquita <mesquita at khomp.com.br>
+ * Joao Mesquita <mesquita (at) khomp.com.br>
+ * Raul Fragoso <raulfragoso (at) gmail.com>
*
*
* mod_khomp.c -- Khomp board Endpoint Module
*
*/
+/**
+ * @file mod_khomp.cpp
+ * @brief Khomp Endpoint Module
+ * @see mod_khomp
+ */
+
+
#define KHOMP_SYNTAX "khomp show [info|links|channels]"
#include "mod_khomp.h"
-/* Handles callbacks and events from the boards */
+
+/*!
+ \brief Callback generated from K3L API for every new event on the board.
+ \param Object ID (could be a channel or a board, depends on device type) which generated the event
+ \param The event itself (look at the K3L doc for its structure)
+ \return ksSuccess if the event was treated
+ */
static int32 Kstdcall khomp_event_callback(int32 obj, K3L_EVENT * e);
-static void Kstdcall khomp_audio_listener(int32 deviceid, int32 objectid, byte * read_buffer, int32 read_size);
+/*!
+ \brief Callback generated from K3L API everytime audio is available on the board.
+ \param Board on which we get the event
+ \param The channel we are getting the audio from
+ \param The audio buffer itself (RAW)
+ \param The buffer size, meaning the amount of data to be read
+ \return ksSuccess if the event was treated
+ */
+static void Kstdcall khomp_audio_listener(int32 deviceid, int32 objectid,
+ byte * read_buffer, int32 read_size);
+/*!
+ \brief Defined by mod_reference, defines statuses for the switch_channel
+ */
typedef enum
{
TFLAG_IO = (1 << 0),
@@ -114,15 +140,26 @@
/* Macros to define specific API functions */
SWITCH_STANDARD_API(khomp);
-/* Helper function prototypes */
+/*!
+ \brief Print a system summary for all the boards. [khomp show info]
+ */
static void printSystemSummary(switch_stream_handle_t* stream);
+/*!
+ \brief Print link status. [khomp show links]
+ */
static void printLinks(switch_stream_handle_t* stream, unsigned int device,
unsigned int link);
+/*!
+ \brief Print board channel status. [khomp show channels]
+ */
static void printChannels(switch_stream_handle_t* stream, unsigned int device,
unsigned int link);
-/* Will init part of our private structure and setup all the read/write buffers */
+/*!
+ \brief Will init part of our private structure and setup all the read/write
+ buffers along with the proper codecs. Right now, only PCMA.
+ */
static switch_status_t tech_init(KhompPvt *tech_pvt, switch_core_session_t *session)
{
tech_pvt->_read_frame.data = tech_pvt->_databuf;
@@ -173,8 +210,8 @@
}
-/*
- State methods they get called when the state changes to the specific state
+/*!
+ \brief State methods they get called when the state changes to the specific state
returning SWITCH_STATUS_SUCCESS tells the core to execute the standard state method next
so if you fully implement the state you can return SWITCH_STATUS_FALSE to skip it.
*/
@@ -451,8 +488,9 @@
return SWITCH_STATUS_SUCCESS;
}
-/* Make sure when you have 2 sessions in the same scope that you pass the appropriate one to the routines
- that allocate memory or you will have 1 channel with memory allocated from another channel's pool!
+/*!
+ \brief Make sure when you have 2 sessions in the same scope that you pass the appropriate one to the routines
+ that allocate memory or you will have 1 channel with memory allocated from another channel's pool!
*/
static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *session, switch_event_t *var_event,
switch_caller_profile_t *outbound_profile,
@@ -491,7 +529,7 @@
}
else
{
-// usar algoritmo de busca de canais (spec.*).
+ // usar algoritmo de busca de canais (spec.*).
tech_pvt->_KDeviceId = atoi(argv[0]);
tech_pvt->_KChannel = atoi(argv[1]);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Dialing to %s out from Board:%u, Channel:%u.\n",
@@ -636,8 +674,8 @@
return SWITCH_STATUS_SUCCESS;
}
-/*
- khomp API definition
+/*!
+ \brief khomp API definition
TODO: Add as xml modifier
*/
SWITCH_STANDARD_API(khomp)
@@ -688,7 +726,6 @@
}
-/* Helper functions */
static void printChannels(switch_stream_handle_t* stream, unsigned int device, unsigned int link) {
if (!device) {
// Print all channels from all boards and links
More information about the Freeswitch-trunk
mailing list