From: <do...@us...> - 2007-09-14 18:12:04
|
Revision: 1138 http://iaxclient.svn.sourceforge.net/iaxclient/?rev=1138&view=rev Author: dohpaz Date: 2007-09-14 11:12:06 -0700 (Fri, 14 Sep 2007) Log Message: ----------- Added mainpage and license page to the documentation. Add missing function documentation, and improve formatting. NOTE: Requires doxygen 1.5.3 or higher to generate documentation. Modified Paths: -------------- trunk/Doxyfile trunk/lib/iaxclient.h Added Paths: ----------- trunk/doc/src/license.dox trunk/doc/src/mainpage.dox Modified: trunk/Doxyfile =================================================================== --- trunk/Doxyfile 2007-09-14 04:30:21 UTC (rev 1137) +++ trunk/Doxyfile 2007-09-14 18:12:06 UTC (rev 1138) @@ -11,9 +11,9 @@ OUTPUT_LANGUAGE = English BRIEF_MEMBER_DESC = YES REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = "The $name class " \ - "The $name widget " \ - "The $name file " \ +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ is \ provides \ specifies \ @@ -24,8 +24,8 @@ the ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = YES -STRIP_FROM_PATH = /Volumes/Doxygen/ +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = NO @@ -80,7 +80,7 @@ WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = NO -WARN_FORMAT = "$file:$line: $text " +WARN_FORMAT = "$file:$line: $text" WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files @@ -90,39 +90,16 @@ simpleclient/vtestcall \ lib INPUT_ENCODING = UTF-8 -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ +FILE_PATTERNS = *.h \ + *.c \ *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py + *.dox RECURSIVE = NO EXCLUDE = lib/ringbuffer.c EXCLUDE_SYMLINKS = NO EXCLUDE_PATTERNS = EXCLUDE_SYMBOLS = -EXAMPLE_PATH = +EXAMPLE_PATH = . ./doc/src EXAMPLE_PATTERNS = * EXAMPLE_RECURSIVE = NO IMAGE_PATH = @@ -132,18 +109,18 @@ #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- -SOURCE_BROWSER = NO +SOURCE_BROWSER = YES INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES REFERENCED_BY_RELATION = NO REFERENCES_RELATION = NO REFERENCES_LINK_SOURCE = YES USE_HTAGS = NO -VERBATIM_HEADERS = NO +VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO +ALPHABETICAL_INDEX = YES COLS_IN_ALPHA_INDEX = 5 IGNORE_PREFIX = #--------------------------------------------------------------------------- @@ -157,7 +134,7 @@ HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO -HTML_DYNAMIC_SECTIONS = NO +HTML_DYNAMIC_SECTIONS = YES CHM_FILE = HHC_LOCATION = GENERATE_CHI = NO @@ -221,12 +198,13 @@ # Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = NO -EXPAND_ONLY_PREDEF = NO +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES SEARCH_INCLUDES = YES INCLUDE_PATH = INCLUDE_FILE_PATTERNS = -PREDEFINED = +PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS \ + EXPORT="" EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- @@ -241,7 +219,7 @@ # Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = NO -MSCGEN_PATH = /Volumes/Doxygen/Doxygen.app/Contents/Resources/ +MSCGEN_PATH = HIDE_UNDOC_RELATIONS = YES HAVE_DOT = NO CLASS_GRAPH = YES @@ -256,7 +234,7 @@ GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = png -DOT_PATH = /Volumes/Doxygen/Doxygen.app/Contents/Resources/ +DOT_PATH = DOTFILE_DIRS = DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 1000 Added: trunk/doc/src/license.dox =================================================================== --- trunk/doc/src/license.dox (rev 0) +++ trunk/doc/src/license.dox 2007-09-14 18:12:06 UTC (rev 1138) @@ -0,0 +1,14 @@ +/*! \page License + + The IAXClient is licensed under the GNU Lesser General Public License + + Copyrights: + - Copyright © 2003-2006, Horizon Wimba, Inc. + - Copyright © 2007, Wimba, Inc. + + IAXClient Contributors: + \verbinclude AUTHORS + + License: + \verbinclude COPYING.LIB +*/ Property changes on: trunk/doc/src/license.dox ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + author id date revision Name: svn:eol-style + native Added: trunk/doc/src/mainpage.dox =================================================================== --- trunk/doc/src/mainpage.dox (rev 0) +++ trunk/doc/src/mainpage.dox 2007-09-14 18:12:06 UTC (rev 1138) @@ -0,0 +1,25 @@ +/*! \mainpage + +<A href="http://iaxclient.sourceforge.net/">IAXClient</A> is an Open Source library to implement the IAX protocol used by +<A href="http://www.asterisk.org/">The Asterisk Software PBX</A>. +It is licensed under the the LGPL \ref License.<BR> + +Although asterisk supports other VOIP protocols (including SIP, and with patches, H.323), IAX's simple, lightweight nature gives it several advantages, particularly in that it can operate easily through NAT and packet firewalls, and it is easily extensible and simple to understand. + +See the <A href="http://iaxclient.sourceforge.net/">IAXClient</A> website for futher +information at <A href="http://iaxclient.sf.net">http://iaxclient.sf.net</A> + +Things you may be interested include: +<UL> +<LI>The IAXClient API, as documented in iaxclient.h</LI> +<LI><a href="http://iaxclient.sourceforge.net/devinfo.html">Some developer information</A></LI> +<LI><a href="http://sourceforge.net/projects/iaxclient/">SourceForge +Development Site</A></LI> +<LI><a href="http://lists.sourceforge.net/lists/listinfo/iaxclient-devel">Subscribe to the mailing list</A> iax...@li...!</LI> +<LI><a href="http://iaxclient.sourceforge.net/IAXClientFAQ.html">FAQ</A></LI> +<LI>You can also catch some of the developers online at the <A href="http://www.freenode.net">freenode</A> IRC channels +<A href="irc://irc.freenode.net/iaxclient">\#iaxclient</A> or <A href="irc://irc.freenode.net/asterisk">\#asterisk</A></LI> +</UL> + +*/ + Property changes on: trunk/doc/src/mainpage.dox ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + author id date revision Name: svn:eol-style + native Modified: trunk/lib/iaxclient.h =================================================================== --- trunk/lib/iaxclient.h 2007-09-14 04:30:21 UTC (rev 1137) +++ trunk/lib/iaxclient.h 2007-09-14 18:12:06 UTC (rev 1138) @@ -35,6 +35,7 @@ require the inclusion of library internals (or sub-libraries) */ +#ifndef DOXYGEN_SHOULD_SKIP_THIS #ifdef _MSC_VER typedef int socklen_t; #endif @@ -59,6 +60,7 @@ #else # define EXPORT #endif +#endif /* DOXYGEN_SHOULD_SKIP_THIS */ #if defined(WIN32) || defined(_WIN32_WCE) #if defined(_MSC_VER) @@ -73,13 +75,26 @@ struct sockaddr *, int *); #endif #else + /*! + Defines the portotype for an application provided sendto implementation. + */ typedef int (*iaxc_sendto_t)(int, const void *, size_t, int, const struct sockaddr *, socklen_t); + /*! + Defines the portotype for an application provided recvfrom implementation. + */ typedef int (*iaxc_recvfrom_t)(int, void *, size_t, int, struct sockaddr *, socklen_t *); #endif +/*! + Mask containing all potentially valid audio formats +*/ #define IAXC_AUDIO_FORMAT_MASK ((1<<16)-1) + +/*! + Mask containing all potentially valid video formats +*/ #define IAXC_VIDEO_FORMAT_MASK (((1<<25)-1) & ~IAXC_AUDIO_FORMAT_MASK) /* payload formats : WARNING: must match libiax values!!! */ @@ -107,25 +122,25 @@ #define IAXC_FORMAT_THEORA (1 << 24) /*!< Theora Video */ #define IAXC_FORMAT_MAX_VIDEO (1 << 24) /*!< Maximum Video format value*/ -#define IAXC_EVENT_TEXT 1 /*!< Indicates a text event. */ -#define IAXC_EVENT_LEVELS 2 /*!< Indicates a level event. */ -#define IAXC_EVENT_STATE 3 /*!< Indicates a call state change event. */ -#define IAXC_EVENT_NETSTAT 4 /*!< Indicates a network statistics update event. */ -#define IAXC_EVENT_URL 5 /*!< Indicates a URL push via IAX(2). */ -#define IAXC_EVENT_VIDEO 6 /*!< Indicates a video event. */ -#define IAXC_EVENT_REGISTRATION 8 /*!< Indicates a registration event. */ -#define IAXC_EVENT_DTMF 9 /*!< Indicates a DTMF event. */ -#define IAXC_EVENT_AUDIO 10 /*!< Indicates an audio event. */ -#define IAXC_EVENT_VIDEOSTATS 11 /*!< Indicates a video statistics update event. */ +#define IAXC_EVENT_TEXT 1 /*!< Indicates a text event */ +#define IAXC_EVENT_LEVELS 2 /*!< Indicates a level event */ +#define IAXC_EVENT_STATE 3 /*!< Indicates a call state change event */ +#define IAXC_EVENT_NETSTAT 4 /*!< Indicates a network statistics update event */ +#define IAXC_EVENT_URL 5 /*!< Indicates a URL push via IAX(2) */ +#define IAXC_EVENT_VIDEO 6 /*!< Indicates a video event */ +#define IAXC_EVENT_REGISTRATION 8 /*!< Indicates a registration event */ +#define IAXC_EVENT_DTMF 9 /*!< Indicates a DTMF event */ +#define IAXC_EVENT_AUDIO 10 /*!< Indicates an audio event */ +#define IAXC_EVENT_VIDEOSTATS 11 /*!< Indicates a video statistics update event */ -#define IAXC_CALL_STATE_FREE 0 /*!< Indicates a call slot is free. */ -#define IAXC_CALL_STATE_ACTIVE (1<<1) /*!< Indicates a call is active. */ -#define IAXC_CALL_STATE_OUTGOING (1<<2) /*!< Indicates a call is outgoing. */ -#define IAXC_CALL_STATE_RINGING (1<<3) /*!< Indicates a call is ringing. */ -#define IAXC_CALL_STATE_COMPLETE (1<<4) /*!< Indicates a completed call. */ -#define IAXC_CALL_STATE_SELECTED (1<<5) /*!< Indicates the call is selected. */ -#define IAXC_CALL_STATE_BUSY (1<<6) /*!< Indicates a call is busy. */ -#define IAXC_CALL_STATE_TRANSFER (1<<7) /*!< Indicates the call transfer has been released. */ +#define IAXC_CALL_STATE_FREE 0 /*!< Indicates a call slot is free */ +#define IAXC_CALL_STATE_ACTIVE (1<<1) /*!< Indicates a call is active */ +#define IAXC_CALL_STATE_OUTGOING (1<<2) /*!< Indicates a call is outgoing */ +#define IAXC_CALL_STATE_RINGING (1<<3) /*!< Indicates a call is ringing */ +#define IAXC_CALL_STATE_COMPLETE (1<<4) /*!< Indicates a completed call */ +#define IAXC_CALL_STATE_SELECTED (1<<5) /*!< Indicates the call is selected */ +#define IAXC_CALL_STATE_BUSY (1<<6) /*!< Indicates a call is busy */ +#define IAXC_CALL_STATE_TRANSFER (1<<7) /*!< Indicates the call transfer has been released */ /*! Indicates that text is for an IAXClient status change */ #define IAXC_TEXT_TYPE_STATUS 1 @@ -133,15 +148,19 @@ #define IAXC_TEXT_TYPE_NOTICE 2 /*! Represents that text is for an IAXClient error message */ #define IAXC_TEXT_TYPE_ERROR 3 -/*! Represents a fatal error has occurred in IAXClient and that the User Agent should probably display error message text, then die. */ +/*! + Represents that text is for an IAXClient fatal error message. + + The User Agent should probably display error message text, then die +*/ #define IAXC_TEXT_TYPE_FATALERROR 4 /*! Represents a message sent from the server across the IAX stream*/ #define IAXC_TEXT_TYPE_IAX 5 /* registration replys, corresponding to IAX_EVENTs*/ -#define IAXC_REGISTRATION_REPLY_ACK 18 /*!< Indicates the registration was accepted (See IAX_EVENT_REGACC). */ -#define IAXC_REGISTRATION_REPLY_REJ 30 /*!< Indicates the registration was rejected (See IAX_EVENT_REGREJ). */ -#define IAXC_REGISTRATION_REPLY_TIMEOUT 6 /*!< Indicates the registration timed out (See IAX_EVENT_TIMEOUT). */ +#define IAXC_REGISTRATION_REPLY_ACK 18 /*!< Indicates the registration was accepted (See IAX_EVENT_REGACC) */ +#define IAXC_REGISTRATION_REPLY_REJ 30 /*!< Indicates the registration was rejected (See IAX_EVENT_REGREJ) */ +#define IAXC_REGISTRATION_REPLY_TIMEOUT 6 /*!< Indicates the registration timed out (See IAX_EVENT_TIMEOUT) */ #define IAXC_URL_URL 1 /*!< URL received */ #define IAXC_URL_LDCOMPLETE 2 /*!< URL loading complete */ @@ -150,8 +169,8 @@ #define IAXC_URL_UNLINK 5 /*!< URL unlink */ /* The source of the video or audio data triggering the event. */ -#define IAXC_SOURCE_LOCAL 1 /*!< Indicates that the event data source is local. */ -#define IAXC_SOURCE_REMOTE 2 /*!< Indicates that the event data source is remote. */ +#define IAXC_SOURCE_LOCAL 1 /*!< Indicates that the event data source is local */ +#define IAXC_SOURCE_REMOTE 2 /*!< Indicates that the event data source is remote */ /*! The maximum size of a string contained within an event @@ -319,7 +338,7 @@ struct iaxc_netstat remote; }; -/* +/*! A structure containing video statistics data. */ struct iaxc_video_stats @@ -859,11 +878,13 @@ */ EXPORT void iaxc_set_jb_target_extra( long value ); -/* - Application-defined networking; give substiture sendto and recvfrom - functions, must be called before iaxc_initialize! - \param st - \param rf +/*! + Application-defined networking; give substitute sendto and recvfrom + functions. + \param st The send function to use. + \param rf The receive function to use. + + \note Must be called before iaxc_initialize! */ EXPORT void iaxc_set_networking(iaxc_sendto_t st, iaxc_recvfrom_t rf) ; @@ -961,7 +982,7 @@ struct iaxc_sound *next; /*!< \internal use: next in list. */ }; -/* +/*! Play a sound. \param sound An iaxc_sound structure. \param ring 0 to play through output device or 1 to play through the "ring" device. @@ -1048,7 +1069,7 @@ */ #define IAXC_AUDIO_PREF_SEND_DISABLE (1 << 4) -/* +/*! Returns the various audio delivery preferences. The preferences are represented using the AIXC_AUDIO_PREF_{} family of defines. @@ -1188,7 +1209,7 @@ */ EXPORT void iaxc_video_format_set(int preferred, int allowed, int framerate, int bitrate, int width, int height, int fs); -/* +/*! Change video params for the current call on the fly This will destroy the existing encoder and create a new one use negative values for parameters that should not change @@ -1200,7 +1221,7 @@ */ EXPORT void iaxc_video_params_change(int framerate, int bitrate, int width, int height, int fs); -/* Set holding frame to be used in some kind of video calls */ +/*! Set holding frame to be used in some kind of video calls */ EXPORT int iaxc_set_holding_frame(char *); /*! @@ -1211,7 +1232,7 @@ EXPORT int iaxc_video_bypass_jitter(int); -/* +/*! Returns 1 if the default camera is working; 0 otherwise */ EXPORT int iaxc_is_camera_working(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |