54 class ServiceInlineNode;
55 class ComponentInstance;
63 class InputDataStreamPort;
64 class OutputDataStreamPort;
75 virtual Catalog* loadCatalog(
const std::string& sourceKind,
const std::string& path);
76 virtual InlineFuncNode* createFuncNode(
const std::string& kind,
const std::string& name);
77 virtual InlineNode* createScriptNode(
const std::string& kind,
const std::string& name);
79 virtual ServiceNode* createRefNode(
const std::string& kind,
const std::string& name);
80 virtual ServiceNode* createCompoNode(
const std::string& kind,
const std::string& name);
81 virtual ServiceInlineNode *createSInlineNode(
const std::string& kind,
const std::string& name);
82 virtual DataNode* createInDataNode(
const std::string& kind,
const std::string& name);
83 virtual DataNode* createOutDataNode(
const std::string& kind,
const std::string& name);
86 const std::string& kind=
"");
87 virtual Container *createContainer(
const std::string& kind=
"");
88 virtual Proc* createProc(
const std::string& name);
89 virtual Bloc* createBloc(
const std::string& name);
90 virtual WhileLoop* createWhileLoop(
const std::string& name);
91 virtual ForLoop* createForLoop(
const std::string& name);
94 virtual OptimizerLoop* createOptimizerLoop(
const std::string& name,
const std::string& algLib,
95 const std::string& factoryName,
bool algInitOnFile,
96 const std::string& kind=
"",
Proc * procForTypes = NULL);
97 virtual Switch* createSwitch(
const std::string& name);
99 virtual TypeCode * createInterfaceTc(
const std::string&
id,
const std::string& name,
100 std::list<TypeCodeObjref *> ltc);
101 virtual TypeCode * createSequenceTc(
const std::string&
id,
const std::string& name,
TypeCode *content);
102 virtual TypeCodeStruct * createStructTc(
const std::string&
id,
const std::string& name);
105 const std::string& impl,
110 const std::string& impl,
122 bool init=
false) = 0;
125 const std::string& impl,
127 bool init=
false) = 0;
129 virtual void* convertNeutral(
TypeCode * type,
Any *data);
130 virtual std::string convertNeutralAsString(
TypeCode * type,
Any *data);
132 virtual void removeRuntime();
135 static const char RUNTIME_ENGINE_INTERACTION_IMPL_NAME[];
143 virtual void setCatalogLoaderFactory(
const std::string& name,
CatalogLoader* factory);
146 virtual void addCatalog(
Catalog* catalog);
147 virtual TypeCode* getTypeCode(
const std::string& name);
#define YACSLIBENGINE_EXPORT
: Interface for management of storage of data formated dynamically in its TypeCode....
Composed node to group elementary and composed nodes.
class for YACS catalog loader.
Base class for all component instances.
Class for data parameters specification.
Loop node for parametric calculation.
class for Input Property Ports
Class for calculation node (function) inlined (and executed) in the schema.
Class for calculation node (script) inlined (and executed) in the schema.
Base class for all nodes.
class to build optimization loops
Base class for all schema objects.
virtual InputPort * createInputPort(const std::string &name, const std::string &impl, Node *node, TypeCode *type)=0
virtual InputPort * adapt(InPropertyPort *source, const std::string &impl, TypeCode *type, bool init=false)=0
virtual OutputPort * createOutputPort(const std::string &name, const std::string &impl, Node *node, TypeCode *type)=0
static YACS::ENGINE::TypeCode * _tc_double
virtual std::vector< std::pair< std::string, int > > getCatalogOfComputeNodes() const =0
static YACS::ENGINE::TypeCode * _tc_bool
Catalog * _builtinCatalog
friend Runtime * getRuntime()
virtual InputPort * adapt(InputPort *source, const std::string &impl, TypeCode *type, bool init=false)=0
static YACS::ENGINE::TypeCode * _tc_file
std::vector< Catalog * > _catalogs
static Runtime * _singleton
std::set< std::string > _setOfImplementation
static YACS::ENGINE::TypeCode * _tc_propvec
std::map< std::string, CatalogLoader * > _catalogLoaderFactoryMap
static YACS::ENGINE::TypeCode * _tc_int
static YACS::ENGINE::TypeCode * _tc_stringpair
static YACS::ENGINE::TypeCode * _tc_string
Class for calculation node associated with a component service.
Control node that emulates the C switch.
Base class for all type objects.
YACSLIBENGINE_EXPORT Runtime * getRuntime()