Data Service
1.0.0
|
00001 #ifndef __TECGRAF_OPENBUS_DATA_SERVICE_IDL__ 00002 #define __TECGRAF_OPENBUS_DATA_SERVICE_IDL__ 00003 00004 module tecgraf { 00005 00006 module openbus { 00007 00011 module data_service { 00012 00014 typedef sequence<octet> OctetSeq; 00015 00017 typedef sequence<string> StringSeq; 00018 00020 typedef long long TimeStamp; 00021 00031 typedef OctetSeq DataKey; 00032 00034 typedef sequence<DataKey> DataKeySeq; 00035 00037 exception UnknownViewInterface { 00038 string fName; 00039 }; 00040 00045 exception UnknownViews {}; 00046 00048 exception InvalidDataKey { 00049 DataKey fKey; 00050 }; 00051 00053 exception InvalidPrototype {}; 00054 00056 exception DataAccessDenied{}; 00057 00059 exception DataNotFound { 00060 DataKeySeq fKey; 00061 }; 00062 00064 exception ServiceFailure {}; 00065 00073 struct Metadata { 00074 string fName; 00075 any fValue; 00076 }; 00077 typedef sequence<Metadata> MetadataSeq; 00100 valuetype DataDescription { 00101 public DataKey fKey; 00102 public string fName; 00103 public StringSeq fViews; 00104 public MetadataSeq fMetadata; 00105 }; 00106 typedef sequence<DataDescription> DataDescriptionSeq; 00128 abstract interface DataView { 00137 DataKey getKey(); 00138 00148 string getInterfaceName(); 00149 }; 00150 typedef sequence<DataView> DataViewSeq; 00157 valuetype UnstructuredData supports DataView { 00158 public DataKey fKey; 00159 public string fHost; 00160 public unsigned long fPort; 00162 public OctetSeq fAccessKey; 00163 public boolean fWritable; 00164 }; 00165 00169 interface IHierarchicalNavigationDataService { 00182 DataDescriptionSeq getRoots() raises (ServiceFailure, DataAccessDenied); 00183 00196 DataDescriptionSeq getChildren(in DataKey fKey) raises (ServiceFailure, 00197 InvalidDataKey, DataNotFound, DataAccessDenied); 00198 00211 DataDescription getParent(in DataKey fKey) raises (ServiceFailure, 00212 InvalidDataKey, DataNotFound, DataAccessDenied); 00213 00226 DataDescription getDataDescription(in DataKey fKey) raises (ServiceFailure, 00227 InvalidDataKey, DataNotFound, DataAccessDenied); 00228 00248 DataView getDataView(in DataKey fKey, in string fViewInterface) 00249 raises (ServiceFailure, InvalidDataKey, DataNotFound, 00250 UnknownViewInterface, DataAccessDenied); 00251 00269 DataViewSeq getDataViewSeq(in DataKeySeq fKeys, in string fViewInterface) 00270 raises (ServiceFailure, InvalidDataKey, DataNotFound, 00271 UnknownViewInterface, DataAccessDenied); 00272 }; 00273 00277 interface IHierarchicalManagementDataService { 00298 DataKey createData(in DataKey fPrototype, in DataDescription fParentKey) 00299 raises (ServiceFailure, InvalidDataKey, DataNotFound, InvalidPrototype, 00300 DataAccessDenied); 00301 00318 DataKey copyData(in DataKey fSourceKey, in DataKey fParentKey) 00319 raises (ServiceFailure, UnknownViews, InvalidDataKey, DataNotFound, 00320 DataAccessDenied); 00321 00334 void moveData(in DataKey fKey, in DataKey fNewParentKey) 00335 raises (ServiceFailure, UnknownViews, InvalidDataKey, DataNotFound, 00336 DataAccessDenied); 00337 00351 void updateData(in DataKey fKey, in DataKey fSourceKey) 00352 raises (ServiceFailure, UnknownViews, InvalidDataKey, DataNotFound, 00353 DataAccessDenied); 00354 00365 void deleteData(in DataKey fKey) raises (ServiceFailure, InvalidDataKey, 00366 DataNotFound, DataAccessDenied); 00367 }; 00368 00372 interface IHierarchicalTransferDataService { 00389 DataKey copyDataFrom(in DataKey fSourceKey, in DataKey fParentKey) 00390 raises (ServiceFailure, UnknownViews, InvalidDataKey, DataNotFound, 00391 DataAccessDenied); 00392 00406 void updateDataFrom(in DataKey fKey, in DataKey fSourceKey) 00407 raises (ServiceFailure, UnknownViews, InvalidDataKey, DataNotFound, 00408 DataAccessDenied); 00409 }; 00410 00417 interface IHierarchicalDataService : IHierarchicalNavigationDataService, 00418 IHierarchicalManagementDataService, IHierarchicalTransferDataService { 00419 }; 00420 00421 }; // data_service 00422 00423 }; // openbus 00424 00425 }; // tecgraf 00426 00427 #endif