Author: derek Date: Mon Nov 20 16:02:30 2006 New Revision: 214 Modified: sofaswitch/trunk/callflow/docs/current/eachicon.dxy sofaswitch/trunk/callflow/docs/description.dxy sofaswitch/trunk/callflow/src/shapelist.cpp Log: Append additional information to the files. Modified: sofaswitch/trunk/callflow/docs/current/eachicon.dxy ============================================================================== --- sofaswitch/trunk/callflow/docs/current/eachicon.dxy (original) +++ sofaswitch/trunk/callflow/docs/current/eachicon.dxy Mon Nov 20 16:02:30 2006 @@ -393,8 +393,40 @@ died before the child. In this case, the "advice on termination" mesasge is never sent - the server has nowhere to send it. +The compilation processes makes a python executable and a graph file. The +python executable is, in fact, able to process any graph file. This happens as +the python executable contains all the methods for all known types of +items. Indeed, if you compile two different graphs on the screen, the only +difference in the generated python code is the specified graph file. +When the python executable processes a graph file, the following variables are +available for the user to access. Sometimes, it is helpful to include a print +statement in development graphs to report on these variables. The user may +modify these variables (at their own peril) to give interesting results. For +example, one could modify self.data[a] to control which node in the graph is +executed next. + +\li \code self.data[a] \endcode The data structure describing this node on the graph +\li \code self.pendingEvents \endcode Holds the name of timers waiting to expire. +\li \code self.isMaster \endcode Boolean flag, if this graph is + generated directly from the command line. +\li \code self.parentId \endcode The id assigned to the parent graph by + the server, or \c None (if this graph + is generated directly from the command line) +\li \code self.myId \endcode The id assigned to this graph by the server +\li \code self.currentHandlers\endcode List of registered handlers, which is + populated by the \ref seubsecEventer item +\li \code self.generatedEvents\endcode A list of events we have to examine at + the next opportunity +\li \code self.keepGoing \endcode A flag to inidicate that we should keep + working along this graph. If set to \c + False , it is equivalent to processing + a \ref subsecEndProcessing + +To send a message to a particular node, you would do +\code self.transport.write("remId:the_message \0")\endcode +This may need to be modified to protect the quotes and backslash. \subsection subsecMakeCall Make a call Modified: sofaswitch/trunk/callflow/docs/description.dxy ============================================================================== --- sofaswitch/trunk/callflow/docs/description.dxy (original) +++ sofaswitch/trunk/callflow/docs/description.dxy Mon Nov 20 16:02:30 2006 @@ -1,7 +1,16 @@ /*! \page pageCallFlow Detailed description of CallFlow -\section secIntro Introduction +This page is provided as an introduction to the CallFlow utility. The +following sections are provided to help explain this utility and operation. +\li \ref secIntro +\li \ref secOverview +\li \ref secPython +\li \ref secHelloWorld +\li \ref secForLoop +\li \ref secEvent +\li \ref secUsage + The language chosen to control the SofaSwitch utilties is Python. It is reasonably tidy language, cross platform, straightforward syntax and does not have the dependency hell of perl. Sadly nothing is easy, and it takes @@ -67,7 +76,11 @@ To evaluate a conditional, the string is passed to the python command "eval", which returns a True or False value. +When the Python code executes, it has access to a number of variables relevant +to the processing of the graph. However, the user may access them if desired. +The user may change them, but this is not recommended. + \section secHelloWorld Hello World example Perhaps the simplest example of a graph you can create is the standard "Hello World" example, shown here. @@ -156,9 +169,6 @@ right mouse clicking on an item and adjusting the displayed setting. Some find it helpful to display in the tooltip of the forloop information about the number of loops that should be executed. - - - Modified: sofaswitch/trunk/callflow/src/shapelist.cpp ============================================================================== --- sofaswitch/trunk/callflow/src/shapelist.cpp (original) +++ sofaswitch/trunk/callflow/src/shapelist.cpp Mon Nov 20 16:02:30 2006 @@ -431,7 +431,7 @@ file.AddLine(" along "); file.AddLine(" "); file.AddLine(" Note that when the timer object was initiated, an entry was put in "); - file.AddLine(" self.pendingEvent list statiing this event name. If the timer sas "); + file.AddLine(" self.pendingEvent list stating this event name. If the timer says "); file.AddLine(" deleted (after starting it) the corresponding event in the pending "); file.AddLine(" list will be absent "); file.AddLine(" \"\"\" ");