.TH "ScXMLSendElt" 3 "Tue Jun 23 2026 23:48:38" "Version 4.0.10" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME ScXMLSendElt \- the \fR<\fP send> SCXML element\&. .SH SYNOPSIS .br .PP .PP \fR#include \fP .PP Inherits \fBScXMLExecutableElt\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "virtual \fBSoType\fP \fBgetTypeId\fP (void) const" .br .RI "Returns the type identification of an object derived from a class inheriting \fBSoBase\fP\&. This is used for runtime type checking and "downward" casting\&. " .ti -1c .RI "virtual void \fBsetEventAttribute\fP (const char *event)" .br .ti -1c .RI "virtual const char * \fBgetEventAttribute\fP (void) const" .br .ti -1c .RI "virtual void \fBsetTargetAttribute\fP (const char *event)" .br .ti -1c .RI "virtual const char * \fBgetTargetAttribute\fP (void) const" .br .ti -1c .RI "virtual void \fBsetTargetTypeAttribute\fP (const char *event)" .br .ti -1c .RI "virtual const char * \fBgetTargetTypeAttribute\fP (void) const" .br .ti -1c .RI "virtual void \fBsetSendIDAttribute\fP (const char *event)" .br .ti -1c .RI "virtual const char * \fBgetSendIDAttribute\fP (void) const" .br .ti -1c .RI "virtual void \fBsetDelayAttribute\fP (const char *event)" .br .ti -1c .RI "virtual const char * \fBgetDelayAttribute\fP (void) const" .br .ti -1c .RI "virtual void \fBsetNameListAttribute\fP (const char *event)" .br .ti -1c .RI "virtual const char * \fBgetNameListAttribute\fP (void) const" .br .ti -1c .RI "virtual void \fBsetHintsAttribute\fP (const char *event)" .br .ti -1c .RI "virtual const char * \fBgetHintsAttribute\fP (void) const" .br .ti -1c .RI "virtual SbBool \fBhandleXMLAttributes\fP (void)" .br .ti -1c .RI "virtual void \fBcopyContents\fP (const \fBScXMLElt\fP *rhs)" .br .ti -1c .RI "virtual const \fBScXMLElt\fP * \fBsearch\fP (const char *attrname, const char *attrvalue) const" .br .ti -1c .RI "\fBScXMLEvent\fP * \fBcreateEvent\fP (\fBScXMLEventTarget\fP *host) const" .br .ti -1c .RI "virtual void \fBexecute\fP (\fBScXMLStateMachine\fP *statemachine) const" .br .in -1c Public Member Functions inherited from \fBScXMLElt\fP .in +1c .ti -1c .RI "void \fBsetXMLAttribute\fP (const char *attribute, const char *value)" .br .ti -1c .RI "const char * \fBgetXMLAttribute\fP (const char *attribute) const" .br .ti -1c .RI "\fBScXMLElt\fP * \fBclone\fP (void) const" .br .ti -1c .RI "virtual void \fBsetContainer\fP (\fBScXMLElt\fP *container)" .br .ti -1c .RI "\fBScXMLElt\fP * \fBgetContainer\fP (void) const" .br .ti -1c .RI "SbBool \fBisContainedIn\fP (const \fBScXMLElt\fP *object) const" .br .in -1c Public Member Functions inherited from \fBScXMLObject\fP .in +1c .ti -1c .RI "SbBool \fBisOfType\fP (\fBSoType\fP type) const" .br .RI "Returns \fRTRUE\fP if the type of this object is either of the same type or inherited from \fItype\fP\&. " .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static \fBScXMLEltReader\fP * \fBgetElementReader\fP (void)" .br .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void * \fBcreateInstance\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .ti -1c .RI "static void \fBcleanClass\fP (void)" .br .in -1c Static Public Member Functions inherited from \fBScXMLExecutableElt\fP .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .ti -1c .RI "static void \fBcleanClass\fP (void)" .br .in -1c Static Public Member Functions inherited from \fBScXMLElt\fP .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .ti -1c .RI "static void \fBcleanClass\fP (void)" .br .in -1c Static Public Member Functions inherited from \fBScXMLObject\fP .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .RI "This static method returns the \fBSoType\fP object associated with objects of this class\&. " .ti -1c .RI "static void \fBinitClass\fP (void)" .br .RI "Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system\&. " .ti -1c .RI "static void \fBcleanClass\fP (void)" .br .RI "Does the opposite of initClass, deallocates any class specific resources and resets the class to an uninitialized state with respect to the Coin type system\&. " .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "char * \fBevent\fP" .br .ti -1c .RI "char * \fBtarget\fP" .br .ti -1c .RI "char * \fBtargettype\fP" .br .ti -1c .RI "char * \fBsendid\fP" .br .ti -1c .RI "char * \fBdelay\fP" .br .ti -1c .RI "char * \fBnamelist\fP" .br .ti -1c .RI "char * \fBhints\fP" .br .in -1c .SS "Additional Inherited Members" Static Protected Member Functions inherited from \fBScXMLElt\fP .in +1c .ti -1c .RI "static void \fBregisterClassType\fP (const char *xmlns, const char *classname, \fBSoType\fP type)" .br .ti -1c .RI "static void \fBregisterInvokeClassType\fP (const char *xmlns, const char *targettype, const char *source, \fBSoType\fP type)" .br .in -1c Static Protected Member Functions inherited from \fBScXMLObject\fP .in +1c .ti -1c .RI "static void \fBregisterClassType\fP (const char *xmlns, const char *classname, \fBSoType\fP type)" .br .ti -1c .RI "static void \fBregisterInvokeClassType\fP (const char *xmlns, const char *targettype, const char *source, \fBSoType\fP type)" .br .in -1c .SH "Detailed Description" .PP the \fR<\fP send> SCXML element\&. The \fR\fP element is only useful in profiles that have an implementation of the External Communication Module\&. Both the \fR"minimum"\fP and the \fR"x-coin"\fP profile have implementations, but the \fR"minimum"\fP profile does not implement The Data Module, so only plain events without associated data can be sent\&. .PP The \fR\fP element can take the following attributes: .PD 0 .IP "\(bu" 1 \fRevent\fP .IP "\(bu" 1 \fRtarget\fP .IP "\(bu" 1 \fRtargettype\fP .IP "\(bu" 1 \fRsendid\fP - not supported .IP "\(bu" 1 \fRdelay\fP .IP "\(bu" 1 \fRnamelist\fP .IP "\(bu" 1 \fRhints\fP - not supported .PP The element sends \fBexternal\fP 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 \fIcan\fP send external events to itself, but it is more likely internal events are what you want\&. To send internal events, see the \fR\fP element implemented in \fBScXMLEventElt\fP\&. To send an external event to the containing state machine, do not specify the \fRtarget\fP attribute\&. .PP The \fRevent\fP attribute specifies the event name for the event that is being sent\&. Event names are dot-separated names like \fR"error\&.InvalidExpr"\fP or \fR"x-coin-navigation\&.Rotate\&.BEGIN"\fP, and the event names are treated case-sensitive in the current implementation of Coin SCXML\&. The \fRevent\fP attribute is required\&. .PP The \fRtargettype\fP attribute specifies the type of the target system\&. Other SCXML state machines have the type \fR"scxml"\fP\&. Services related to Coin navigation systems have the targettype \fR"x-coin-navigation"\fP\&. When sending external events to yourself, \fRtargettype\fP can be omitted\&. .PP The \fRtarget\fP 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 \fR"Rotate"\fP, but for other SCXML state machines, the \fR\fP \fRname\fP attribute decides this\&. That name is not unique though if multiple such names have been created, so \fRtarget\fP can also be the state machine \fR_sessionid\fP identifier\&. (FIXME: check if this is implemented) .PP The \fRsendid\fP attribute is not supported\&. .PP If \fRdelay\fP is specified, it must take the form of \fR"{number}s"\fP or \fR"{number}ms"\fP 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 delay queue processing must be performed\&. Most Coin users do that whether they know it or not\&. If \fRdelay\fP 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\&. .PP The \fRnamelist\fP 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 \fR"minimum"\fP profile does not, but the \fR"x-coin"\fP profile does\&. For the \fR"x-coin"\fP profile, you can specify \fR\fP variables by addressing them with the \fR_data\fP\&.{ID} scheme, or you can specify temporary variables, either by using the \fRcoin:temp\fP\&.{ID} scheme or have the prefix implicit by just specifying the {ID}\&. The latter 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\&. .PP The \fRhints\fP attribute is not supported\&. .PP \fBSee also\fP .RS 4 \fBScXMLEventTarget\fP, \fBScXMLEventElt\fP, \fBScXMLDataElt\fP, \fBScXMLAssignElt\fP .RE .PP .SH "Member Function Documentation" .PP .SS "\fBSoType\fP ScXMLSendElt::getTypeId (void ) const\fR [virtual]\fP" .PP Returns the type identification of an object derived from a class inheriting \fBSoBase\fP\&. This is used for runtime type checking and "downward" casting\&. .PP \fBSee also\fP .RS 4 \fBSoBase::getTypeId() const\fP .RE .PP .PP Implements \fBScXMLExecutableElt\fP\&. .SS "SbBool ScXMLSendElt::handleXMLAttributes (void )\fR [virtual]\fP" 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\&. .PP \fBReturns\fP .RS 4 TRUE if the attributes are OK, and FALSE on error\&. .RE .PP This base class implementation does nothing and just returns TRUE\&. .PP Reimplemented from \fBScXMLElt\fP\&. .SS "void ScXMLSendElt::copyContents (const \fBScXMLElt\fP * rhs)\fR [virtual]\fP" .PP Reimplemented from \fBScXMLExecutableElt\fP\&. .SS "const \fBScXMLElt\fP * ScXMLSendElt::search (const char * attrname, const char * attrvalue) const\fR [virtual]\fP" This method searches the SCXML structure for an element with the given attribute value for the given attribute\&. .PP Returns NULL if nothing was found\&. .PP This function needs to be reimplemented to traverse child elements\&. .PP Reimplemented from \fBScXMLElt\fP\&. .SS "void ScXMLSendElt::execute (\fBScXMLStateMachine\fP * statemachine) const\fR [virtual]\fP" .PP Reimplemented from \fBScXMLExecutableElt\fP\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.