Provided by: libcoin80-doc_3.1.4~abc9f50-4ubuntu2_all bug

NAME

       ScXMLSendElt -

       the < send> SCXML element.

SYNOPSIS

       #include <Inventor/scxml/ScXMLSendElt.h>

       Inherits ScXMLExecutableElt.

   Public Member Functions
       virtual SoType getTypeId (void) const
           Returns the type identification of an object derived from a class inheriting SoBase.
           This is used for run-time type checking and 'downward' casting.
       virtual void setEventAttribute (const char *event)
       virtual const char * getEventAttribute (void) const
       virtual void setTargetAttribute (const char *event)
       virtual const char * getTargetAttribute (void) const
       virtual void setTargetTypeAttribute (const char *event)
       virtual const char * getTargetTypeAttribute (void) const
       virtual void setSendIDAttribute (const char *event)
       virtual const char * getSendIDAttribute (void) const
       virtual void setDelayAttribute (const char *event)
       virtual const char * getDelayAttribute (void) const
       virtual void setNameListAttribute (const char *event)
       virtual const char * getNameListAttribute (void) const
       virtual void setHintsAttribute (const char *event)
       virtual const char * getHintsAttribute (void) const
       virtual SbBool handleXMLAttributes (void)
       virtual void copyContents (const ScXMLElt *rhs)
       virtual const ScXMLElt * search (const char *attrname, const char *attrvalue) const
       ScXMLEvent * createEvent (ScXMLEventTarget *host) const
       virtual void execute (ScXMLStateMachine *statemachine) const

   Static Public Member Functions
       static ScXMLEltReader * getElementReader (void)
       static SoType getClassTypeId (void)
       static void * createInstance (void)
       static void initClass (void)
       static void cleanClass (void)

   Protected Attributes
       char * event
       char * target
       char * targettype
       char * sendid
       char * delay
       char * namelist
       char * hints

   Additional Inherited Members

Detailed Description

       the < send> SCXML element.

       The <send> element is only useful in profiles that have an implementation of the External
       Communication Module. Both the 'minimum' and the 'x-coin' profile have implementations,
       but the 'minimum' profile does not implement The Data Module, so only plain events without
       associated data can be sent.

       The <send> element can take the following attributes:

       · event
       · target
       · targettype
       · sendid - not supported
       · delay
       · namelist
       · hints - not supported
       The <send> element sends external events. State machines have typically two event queues -
       one internal, and one external. The internal event queue has full priority over the
       external event queue. State machines  can send external events to itself, but it is more
       likely internal events are what you want. To send internal events, see the <event> element
       implemented in ScXMLEventElt. To send an external event to the containing state machine,
       do not specify the target attribute.
       The event attribute specifies the event name for the event that is being sent. Event names
       are dot-separated names like 'error.InvalidExpr' or 'x-coin-navigation.Rotate.BEGIN', and
       the event names are treated case-sensitive in the current implementation of Coin SCXML.
       The event attribute is required.
       The targettype attribute specifies the type of the target system. Other SCXML state
       machines have the type 'scxml'. Services related to Coin navigation systems have the
       targettype 'x-coin-navigation'. When sending external events to yourself, targettype can
       be omitted.
       The target attribute is the name of the target event system. If it is not specified, it
       means the event will be sent to the containing state machine. Coin navigation services are
       typically names 'Rotate', but for other SCXML state machines, the <scxml> name attribute
       decides this. That name is not unique though if multiple such names have been created, so
       target can also be the state machine _sessionid identifier. (FIXME: check if this is
       implemented)
       The sendid attribute is not supported.
       If delay is specified, it must take the form of '{number}s' or '{number}ms' giving you the
       option of specifying the delay in number of seconds or milliseconds before the event
       should be sent. For delayed events to be sent, the Coin delayqueue processing must be
       performed. Most Coin users do that wether they know it or not. If delay is not specified,
       the event is passed to the target immediately. If a state machine is deleted, any events
       scheduled to be sent out in a delayed manner are going to be missing in action. The delay
       queue is a feature of the sending state machine, not the receiving one.
       The namelist attribute specifies which data variables to include with the event for the
       event target. This attribute is only useful in profiles that implement the Data Module.
       The 'minimum' profile does not, but the 'x-coin' profile does. For the 'x-coin' profile,
       you can specify <data> variables by addressing them with the _data.{ID} scheme, or you can
       specify temporary variables, either by using the coin:temp.{ID} scheme or have the prefix
       implicit by just specifying the {ID}. The is the most useful method, since event targets
       do not want to know where in a data model a variable comes from, nor the name it had where
       it was contained. With temporary variables, the values can get names that are intended for
       the event target instead of the name used at the source.
       The hints attribute is not supported.
       See Also:
           ScXMLEventTarget, ScXMLEventElt, ScXMLDataElt, ScXMLAssignElt

Member Function Documentation

   SoType ScXMLSendElt::getTypeId (void) const [virtual]
       Returns the type identification of an object derived from a class inheriting SoBase. This
       is used for run-time type checking and 'downward' casting.
       See Also:
           SoBase::getTypeId() const
       Implements ScXMLExecutableElt.
   SbBool ScXMLSendElt::handleXMLAttributes (void) [virtual]
       This method is called when the file reader has set all the XML attributes on the object,
       and wants the object to handle them and report if the values were ok or if a read error
       should be produced.
       Returns:
           TRUE if the attributes are ok, and FALSE on error.
       This base class implementation does nothing and just returns TRUE.
       Reimplemented from ScXMLElt.
   const ScXMLElt * ScXMLSendElt::search (const char *attrname, const char *attrvalue) const
       [virtual]
       This method searches the SCXML structure for an element with the given attributevalue for
       the given attribute.
       Returns NULL if nothing was found.
       This function needs to be reimplemented to traverse child elements.
       Reimplemented from ScXMLElt.

Author

       Generated automatically by Doxygen for Coin from the source code.