
st.membrane.ComponentController.stc Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of annotations Show documentation
Show all versions of annotations Show documentation
Common ADL and IDL annotations of the Mind programming model.
The newest version!
template st.membrane.ComponentController
: st.common.ComponentHelper
implements st.membrane.ControllerGenerator {
st.interfaces.IDLDefinition idl2c = st.interfaces.IDL2C;
$${
// -----------------------------------------------------------------------------
// Implementation of the ControllerGenerator interface
// -----------------------------------------------------------------------------
ControllerImplementation(definition, controller, interfaceDefinitions) ::= <<
/* -----------------------------------------------------------------------------
Implementation of the Component controller interface
----------------------------------------------------------------------------- */
#include "fractal/internal/CIdelegate.h"
>>
// -----------------------------------------------------------------------------
// Internal templates
// -----------------------------------------------------------------------------
initInterfaceDescriptors(definition) ::= <<
static struct {
int nbItfs;
struct __component_InterfaceDescriptor itfDesc[];
} __component__interface_descriptor = {
, /* nbItfs */
{ /* itfDesc */
}
};
>>
initInterfaceDescriptor(definition, itf) ::= <<
__COMPONENT_INIT_CLIENT_INTERFACE_DESCRIPTOR(, , "")
__COMPONENT_INIT_SERVER_INTERFACE_DESCRIPTOR(, , "")
>>
getFcInterface(definition) ::= <<
int METH(component, getFcInterface)(__MIND_STRING_TYPEDEF interfaceName,
void** interfaceReference)
{
return __component_getFcInterface_delegate(interfaceName, interfaceReference,
,
);
}
>>
getFcInterfaces(definition) ::= <<
int METH(component, getFcInterfaces)(void* interfaceReferences[])
{
return __component_getFcInterfaces_delegate(interfaceReferences,
,
);
}
>>
listFcInterfaces(definition) ::= <<
int METH(component, listFcInterfaces)(__MIND_STRING_TYPEDEF interfaceNames[])
{
return __component_listFcInterfaces_delegate(interfaceNames,
);
}
>>
getFcInterfaceRole(definition) ::= <<
int METH(component, getFcInterfaceRole)(__MIND_STRING_TYPEDEF interfaceName)
{
return __component_getFcInterfaceRole_delegate(interfaceName,
);
}
>>
getFcInterfaceSignature(definition) ::= <<
int METH(component, getFcInterfaceSignature)(__MIND_STRING_TYPEDEF interfaceName,
const char **signature)
{
return __component_getFcInterfaceSignature_delegate(interfaceName, signature,
);
}
>>
itfDescPointer(definition) ::= <<
((void *) &__component__interface_descriptor)
>>
componentPointer(definition) ::= <<
(&__component__singleton_instance)
CONTEXT_PTR_ACCESS
>>
}$$
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy