AlgorithmService
1.0.0
|
00001 00017 #ifndef _CONFIGURATOR_IDL 00018 #define _CONFIGURATOR_IDL 00019 00020 #include "iparameter.idl" 00021 00022 module tecgraf { 00023 00024 module openbus { 00025 00026 module algorithmservice { 00027 00028 module v1_0 { 00029 exception ParameterDoesNotExistsException {string message;}; 00030 exception AlgorithmDoesNotExistsInFlowException {string message;}; 00031 exception AlgorithmIdDoesNotExistsInFlowException {string message;}; 00032 exception AlgorithmIsDuplicatedInFlowException {string message;}; 00033 exception IncorrectParamTypeException {string message;}; 00034 exception InvalidParameterException {string message;}; 00035 00036 typedef sequence< sequence<string,2> > Dictionary; 00037 typedef sequence<string> StringSeq; 00038 00042 enum ExecutionType { 00043 SIMPLE, 00044 MULTIPLE 00045 }; 00046 00050 enum AlgorithmType { 00051 ALGORITHM, 00052 FLOW 00053 }; 00054 00058 valuetype Configurator { 00062 public string algorithmName; 00063 00067 public string algorithmVersion; 00068 00072 public ExecutionType execType; 00073 00077 public AlgorithmType type; 00078 00082 Dictionary getParameters() 00083 raises(ConversionToTextException); 00084 00088 StringSeq getAlgoritmInfo(); 00089 }; 00090 00094 struct Parameter { 00098 string name; 00099 00103 string type; 00104 00108 IParameterValue value; 00109 }; 00110 00114 valuetype SimpleConfigurator : Configurator { 00118 public sequence<Parameter> parameters; 00119 00129 void setParameterValue(in string name, in IParameterValue value) 00130 raises (ParameterDoesNotExistsException, 00131 IncorrectParamTypeException, 00132 InvalidParameterException); 00133 00142 void setParameterValueAsText(in string name, in string valueAsText) 00143 raises (ParameterDoesNotExistsException); 00144 }; 00145 00149 struct FlowNode { 00153 long id; 00154 00158 string name; 00159 00163 Configurator config; 00164 }; 00165 00169 valuetype FlowConfigurator : Configurator { 00173 public sequence<FlowNode> algorithms; 00174 00186 void setParameterValueById(in long algorithmId, in string parameterName, in IParameterValue value) 00187 raises (ParameterDoesNotExistsException, 00188 IncorrectParamTypeException, 00189 InvalidParameterException, 00190 AlgorithmIdDoesNotExistsInFlowException); 00191 00202 void setParameterValueAsTextById(in long algorithmId, in string parameterName, in string valueAsText) 00203 raises (ParameterDoesNotExistsException, 00204 AlgorithmIdDoesNotExistsInFlowException); 00205 }; 00206 00207 }; // version 00208 00209 }; // algorithmservice 00210 00211 }; // openbus 00212 00213 }; // tecgraf 00214 00215 #endif