Coin3D is Free Software,
published under the
BSD 3-clause license
.
https://bitbucket.org/Coin3D/
http://www.kongsberg.com/kogt/
ScXMLInvokeElt.h
1
#ifndef COIN_SCXMLINVOKEELT_H
2
#define COIN_SCXMLINVOKEELT_H
3
4
/**************************************************************************\
5
* Copyright (c) Kongsberg Oil & Gas Technologies AS
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions are
10
* met:
11
*
12
* Redistributions of source code must retain the above copyright notice,
13
* this list of conditions and the following disclaimer.
14
*
15
* Redistributions in binary form must reproduce the above copyright
16
* notice, this list of conditions and the following disclaimer in the
17
* documentation and/or other materials provided with the distribution.
18
*
19
* Neither the name of the copyright holder nor the names of its
20
* contributors may be used to endorse or promote products derived from
21
* this software without specific prior written permission.
22
*
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
29
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
\**************************************************************************/
35
36
#include <Inventor/scxml/ScXMLExecutableElt.h>
37
38
#include <Inventor/tools/SbLazyPimplPtr.h>
39
40
class
ScXMLEvent
;
41
class
ScXMLStateMachine
;
42
class
ScXMLParamElt
;
43
class
ScXMLFinalizeElt
;
44
class
ScXMLContentElt
;
45
46
class
COIN_DLL_API
ScXMLInvokeElt
:
public
ScXMLExecutableElt
{
47
typedef
ScXMLExecutableElt
inherited
;
48
SCXML_ELEMENT_HEADER(
ScXMLInvokeElt
)
49
50
public
:
51
static
void
initClass(
void
);
52
static
void
cleanClass(
void
);
53
54
ScXMLInvokeElt
(
void
);
55
virtual
~
ScXMLInvokeElt
(
void
);
56
57
// XML attributes
58
virtual
void
setTargetTypeAttribute(
const
char
*
id
);
59
const
char
* getTargetTypeAttribute(
void
)
const
{
return
this->targettype; }
60
61
virtual
void
setSrcAttribute(
const
char
*
id
);
62
const
char
* getSrcAttribute(
void
)
const
{
return
this->src; }
63
64
virtual
void
setSrcExprAttribute(
const
char
*
id
);
65
const
char
* getSrcExprAttribute(
void
)
const
{
return
this->srcexpr; }
66
67
virtual
SbBool
handleXMLAttributes
(
void
);
68
69
virtual
void
copyContents(
const
ScXMLElt
* rhs);
70
71
virtual
const
ScXMLElt
*
search
(
const
char
* attrname,
const
char
* attrvalue)
const
;
72
73
virtual
int
getNumParams(
void
)
const
;
74
virtual
ScXMLParamElt
* getParam(
int
idx)
const
;
75
virtual
void
addParam(
ScXMLParamElt
* param);
76
virtual
void
removeParam(
ScXMLParamElt
* param);
77
virtual
void
clearAllParams(
void
);
78
79
virtual
void
setFinalize(
ScXMLFinalizeElt
* finalize);
80
virtual
ScXMLFinalizeElt
* getFinalize(
void
)
const
;
81
82
virtual
void
setContent(
ScXMLContentElt
* content);
83
virtual
ScXMLContentElt
* getContent(
void
)
const
;
84
85
protected
:
86
char
* targettype;
87
char
* src;
88
char
* srcexpr;
89
90
private
:
91
ScXMLInvokeElt
(
const
ScXMLInvokeElt
& rhs);
// N/A
92
ScXMLInvokeElt
& operator = (
const
ScXMLInvokeElt
& rhs);
// N/A
93
94
class
PImpl;
95
SbLazyPimplPtr<PImpl>
pimpl;
96
97
};
// ScXMLInvoke
98
99
#endif // !COIN_SCXMLINVOKEELT_H
ScXMLInvokeElt
implements the <invoke> SCXML element.
Definition:
ScXMLInvokeElt.h:46
ScXMLElt::search
virtual const ScXMLElt * search(const char *attrname, const char *attrvalue) const
Definition:
ScXMLElt.cpp:214
ScXMLContentElt
implements the <content> SCXML element.
Definition:
ScXMLContentElt.h:40
ScXMLExecutableElt
base class for all SCXML elements with executable content.
Definition:
ScXMLExecutableElt.h:42
SbLazyPimplPtr< PImpl >
ScXMLFinalizeElt
implements the <finalize> SCXML element.
Definition:
ScXMLFinalizeElt.h:40
ScXMLElt
base class for all SCXML elements.
Definition:
ScXMLElt.h:44
ScXMLEvent
Base class for events sent to SCXML state machines.
Definition:
ScXMLEvent.h:40
ScXMLParamElt
implements the <param> SCXML element.
Definition:
ScXMLParamElt.h:40
ScXMLElt::handleXMLAttributes
virtual SbBool handleXMLAttributes(void)
Definition:
ScXMLElt.cpp:200
ScXMLObject
Base class for all SCXML objects.
Definition:
ScXMLObject.h:41
ScXMLStateMachine
Manager for processing events and setting states in SCXML structures.
Definition:
ScXMLStateMachine.h:61
include
Inventor
scxml
ScXMLInvokeElt.h
Generated on Thu Oct 18 2018 20:22:41 for Coin by
doxygen
1.8.14