hmService: Código-Fonte de algorithm_service.idl
AlgorithmService  1.0.0
algorithm_service.idl
Vá para a documentação deste arquivo.
00001 
00016 #ifndef _ALGORITHMSERVICE_IDL
00017 #define _ALGORITHMSERVICE_IDL
00018 
00019 #include "configurator.idl"
00020 
00021 module tecgraf {
00022 
00023 module openbus {
00024 
00025 module algorithmservice {
00026 
00027 module v1_0 {
00028     typedef sequence<string> StringList;
00029 
00030     exception UserDoesNotExistsException {string message;};
00031     exception AlgorithmDoesNotExistsException {string message;};
00032     exception VersionDoesNotExistsException {string message;};
00033     exception ConfiguratorErrorException {string message;};
00034     exception NoPermissionException {string message;};
00035     exception AuthorizationException {string message;};
00036 
00040     struct AlgorithmBasicInfo {
00044         string name;
00048         string description;
00049     };
00050 
00051     typedef sequence<AlgorithmBasicInfo> AlgorithmBasicInfoList;
00052 
00056     struct FTCFile {
00060         sequence<octet> id;
00064         string host;
00068         long port;
00072         sequence<octet> key;
00073     };
00074 
00078     struct Program {
00082         string name;
00086         sequence<string> requirements;
00087     };
00088 
00092     struct Version {
00096         long major;
00100         long minor;
00104         long patch;
00108         string stringValue;
00112         FTCFile configFile;
00116         sequence<Program> programs;
00117     };
00118 
00122     struct Property {
00126         string key;
00130         string value;
00131     };
00132 
00136     typedef string Category;
00137 
00141     struct AlgorithmDetailedInfo {
00145         string name;
00149         string description;
00153         sequence<Version> versions;
00157         sequence<Property> properties;
00161         sequence<Category> categories;
00162     };
00163 
00167     typedef sequence<AlgorithmDetailedInfo> AlgorithmDetailedInfoList;
00168 
00172     interface AlgorithmService {
00178         AlgorithmBasicInfoList getAlgorithms()
00179             raises (AuthorizationException);
00180 
00190         AlgorithmDetailedInfo getAlgorithmDetail(in string algorithmName)
00191             raises (AlgorithmDoesNotExistsException,
00192             ConfiguratorErrorException,
00193             NoPermissionException,
00194             AuthorizationException);
00195 
00205         AlgorithmDetailedInfoList getAlgorithmsDetails(in StringList algorithmNameList)
00206             raises (AlgorithmDoesNotExistsException,
00207             ConfiguratorErrorException,
00208             NoPermissionException,
00209             AuthorizationException);
00210 
00220         boolean checkUserPermission(in string algorithmName, in string userId)
00221             raises (UserDoesNotExistsException,
00222             AlgorithmDoesNotExistsException);
00223 
00234         Configurator getConfigurator(in string algorithmName, in string version)
00235             raises (AlgorithmDoesNotExistsException,
00236             VersionDoesNotExistsException,
00237             ConfiguratorErrorException,
00238             AuthorizationException);
00239     };
00240 
00241 }; // version
00242 
00243 }; // algorithmservice
00244 
00245 }; // openbus
00246 
00247 }; // tecgraf
00248 
00249 #endif
 Todos Classes Arquivos Funções Variáveis