Vuo
2.1.0
compiler
VuoCompilerEventPortClass.cc
Go to the documentation of this file.
1
10
#include "
VuoCompilerEventPortClass.hh
"
11
#include "
VuoCompilerDataClass.hh
"
12
16
VuoCompilerEventPortClass::VuoCompilerEventPortClass
(
string
name, Type *type) :
17
VuoCompilerPortClass
(name,
VuoPortClass
::eventOnlyPort, type)
18
{
19
dataClass
= NULL;
20
}
21
25
VuoCompilerEventPortClass::VuoCompilerEventPortClass
(
string
name) :
26
VuoCompilerPortClass
(name,
VuoPortClass
::eventOnlyPort, NULL)
27
{
28
type
= IntegerType::get(getGlobalContext(), 1);
29
dataClass
= NULL;
30
}
31
35
VuoCompilerEventPortClass::~VuoCompilerEventPortClass
(
void
)
36
{
37
delete
dataClass
;
38
}
39
43
VuoCompilerDataClass
*
VuoCompilerEventPortClass::getDataClass
(
void
)
44
{
45
return
dataClass
;
46
}
47
51
void
VuoCompilerEventPortClass::setDataClass
(
VuoCompilerDataClass
*dataClass)
52
{
53
this->dataClass =
dataClass
;
54
55
VuoPortClass
* newBase =
new
VuoPortClass
(
getBase
()->getName(),
dataClass
?
VuoPortClass::dataAndEventPort
:
VuoPortClass::eventOnlyPort
);
56
newBase->
setCompiler
(
this
);
57
delete
getBase
();
58
setBase
(newBase);
59
}
60
64
VuoType
*
VuoCompilerEventPortClass::getDataVuoType
(
void
)
65
{
66
return
(
dataClass
?
dataClass
->
getVuoType
() : NULL);
67
}
68
74
void
VuoCompilerEventPortClass::setDataVuoType
(
VuoType
*type)
75
{
76
dataClass
->
setVuoType
(
type
);
77
}
78
82
string
VuoCompilerEventPortClass::getDisplayName
(
void
)
83
{
84
// First, look for a name stored within the details of the port's data class, if applicable.
85
if
(
getDataVuoType
())
86
{
87
json_object
*
details
=
getDataClass
()->
getDetails
();
88
json_object
*nameValue = NULL;
89
90
if
(
details
&& json_object_object_get_ex(
details
,
"name"
, &nameValue))
91
return
json_object_get_string(nameValue);
92
}
93
94
// Failing that, look for a name associated with the port class rather than the data class.
95
return
VuoCompilerPortClass::getDisplayName
();
96
}
Generated on Mon Jul 6 2020 03:54:59 for Vuo by
1.8.17