All Downloads are FREE. Search and download functionalities are using the official Maven repository.

st.membrane.ComponentController.stc Maven / Gradle / Ivy

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