interfaces/CCGS.idl Source File

CCGS.idl
Go to the documentation of this file.
1 
8 #include "CellML_APISPEC.idl"
10 #include "MaLaES.idl"
11 
15 module cellml_services
16 {
17  interface CustomGenerator;
18 
20  {
26 
33 
43 
50 
59 
65 
72  };
73 
75  {
85 
94 
102 
108  };
109 
112  {
118 
124  readonly attribute unsigned long degree;
125 
129  readonly attribute VariableEvaluationType type;
130 
137  readonly attribute wstring name;
138 
143  readonly attribute unsigned long assignedIndex;
144  };
145 #pragma terminal-interface
146 
149  {
153  ComputationTarget nextComputationTarget();
154  };
155 #pragma terminal-interface
156 
157  interface CodeInformation
159  {
165  readonly attribute wstring errorMessage;
166 
173 
179  readonly attribute unsigned long algebraicIndexCount;
180 
186  readonly attribute unsigned long rateIndexCount;
187 
192  readonly attribute unsigned long constantIndexCount;
193 
232  readonly attribute wstring initConstsString;
233 
237  readonly attribute wstring ratesString;
238 
242  readonly attribute wstring variablesString;
243 
252  readonly attribute wstring functionsString;
253 
257  ComputationTargetIterator iterateTargets();
258 
265 
271  readonly attribute ComputationTarget missingInitial;
272  };
273 #pragma cross-module-argument
274 
275  interface CodeGenerator
277  {
283  attribute wstring constantPattern;
284 
290  attribute wstring stateVariableNamePattern;
291 
297  attribute wstring algebraicVariableNamePattern;
298 
304  attribute wstring rateNamePattern;
305 
311  attribute wstring voiPattern;
312 
322  attribute wstring sampleDensityFunctionPattern;
323 
335  attribute wstring sampleRealisationsPattern;
336 
342  attribute wstring boundVariableName;
343 
349  attribute unsigned long arrayOffset;
350 
357  attribute wstring assignPattern;
358 
372  attribute wstring solvePattern;
373 
383  attribute wstring solveNLSystemPattern;
384 
391  attribute wstring temporaryVariablePattern;
392 
398  attribute wstring declareTemporaryPattern;
399 
408  attribute wstring conditionalAssignmentPattern;
409 
418 
428 
438 
444 
449  CodeInformation generateCode(in cellml_api::Model sourceModel);
450 
457  CustomGenerator createCustomGenerator(in cellml_api::Model sourceModel);
458 
474  attribute boolean allowPassthrough;
475  };
476 #pragma cross-module-argument
477 
480  {
491 
497  readonly attribute unsigned long indexCount;
498 
514  ComputationTargetIterator iterateTargets();
515 
520  readonly attribute wstring generatedCode;
521 
530  readonly attribute wstring functionsString;
531 };
532 
535 {
539  ComputationTargetIterator iterateTargets();
540 
546  void requestComputation(in ComputationTarget wanted) raises(cellml_api::CellMLException);
547 
554  void markAsKnown(in ComputationTarget known);
555 
562  void markAsUnwanted(in ComputationTarget unwanted);
563 
567  CustomCodeInformation generateCode();
568 };
569 
572  {
616  readonly attribute wstring essentialVariablesString;
617 
621  readonly attribute wstring stateInformationString;
622 
627  readonly attribute unsigned long conditionVariableCount;
628 
632  readonly attribute wstring rootInformationString;
633  };
634 #pragma terminal-interface
635 #pragma cross-module-argument
636 
638  : CodeGenerator
639  {
644  IDACodeInformation generateIDACode(in cellml_api::Model sourceModel);
645 
653  attribute wstring residualPattern;
654 
662 
670 
676  attribute wstring infDelayedRatePattern;
677 
683  attribute wstring infDelayedStatePattern;
684 
691  attribute boolean trackPiecewiseConditions;
692 
698  attribute wstring conditionVariablePattern;
699  };
700 #pragma terminal-interface
701 #pragma cross-module-argument
702 
705  {
706  CodeGenerator createCodeGenerator();
707  IDACodeGenerator createIDACodeGenerator();
708  };
709 #pragma terminal-interface
710 #pragma cross-module-argument
711 
712 };