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

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

template st.membrane.AttributeController
  : 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 AttributeController interface
----------------------------------------------------------------------------- */

#include "fractal/internal/ACdelegate.h"













>>

// -----------------------------------------------------------------------------
// Internal templates
// -----------------------------------------------------------------------------

initAttributeDescriptors(definition) ::= <<
static struct {
  int nbAttributes;
  struct __component_AttributeDescriptor attributeDesc[];
} __component__attribute_descriptor = {
  , /* nbAttributes */
  { /* attributeDesc */
    
  }
};
>>

initAttributeDescriptor(definition, attribute) ::= <<
__COMPONENT_INIT_ATTRIBUTE_DESCRIPTOR(, , _ATTR_TYPE)
>>

listFcAttributes(definition) ::= <<
int METH(attributeController, listFcAttributes)(__MIND_STRING_TYPEDEF attributeNames[]) 
{
  return __component_listFcAttributes_delegate(attributeNames,
      );
}
>>

getFcAttribute(definition) ::= <<
int METH(attributeController, getFcAttribute)(__MIND_STRING_TYPEDEF attributeName,
    void **value) 
{
  return __component_getFcAttribute_delegate(attributeName, value,
      , 
      );
}
>>

getFcAttributeSize(definition) ::= <<
int METH(attributeController, getFcAttributeSize)(__MIND_STRING_TYPEDEF attributeName) 
{
  return __component_getFcAttributeSize_delegate(attributeName,
      );
}
>>

getFcAttributeType(definition) ::= <<
int METH(attributeController, getFcAttributeType)(__MIND_STRING_TYPEDEF attributeName,
  enum AttributeType *type) 
{
  return __component_getFcAttributeType_delegate(attributeName, type,
      );
}
>>

setFcAttribute(definition) ::= <<
int METH(attributeController, setFcAttribute)(__MIND_STRING_TYPEDEF attributeName, 
    void *value) 
{
  return __component_setFcAttribute_delegate(attributeName, value,
      , 
      );
}
>>


attributeDescPointer(definition) ::= <<
((struct __component_AttributeDescriptors *) &__component__attribute_descriptor)
>>

componentPointer(definition) ::= <<

(&__component__singleton_instance)

CONTEXT_PTR_ACCESS

>>

}$$
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy