Data Service
1.1.0
|
00001 #ifndef __TECGRAF_OPENBUS_DATA_SERVICE_CORE_IDL__ 00002 #define __TECGRAF_OPENBUS_DATA_SERVICE_CORE_IDL__ 00003 00004 module tecgraf { 00005 00006 module openbus { 00007 00011 module data_service { 00012 00016 module core { 00017 00021 module v1_01 { 00022 00024 typedef sequence<octet> OctetSeq; 00025 00027 typedef sequence<string> StringSeq; 00028 00030 typedef sequence<any> AnySeq; 00031 00033 typedef long long TimeStamp; 00034 00053 typedef OctetSeq DataKey; 00054 00056 typedef sequence<DataKey> DataKeySeq; 00057 00059 exception UnsupportedView { 00060 DataKeySeq fKeys; 00061 }; 00062 00067 exception AbsentViews { 00068 DataKeySeq fKey; 00069 StringSeq fViews; 00070 }; 00071 00073 exception InvalidDataKey { 00074 DataKeySeq fKeys; 00075 }; 00076 00078 exception DataAccessDenied { 00079 DataKeySeq fKeys; 00080 }; 00081 00083 exception DataNotFound { 00084 DataKeySeq fKeys; 00085 }; 00086 00088 exception ServiceFailure { 00089 string fMessage; 00090 }; 00091 00093 exception DataAlreadyExist{}; 00094 00096 exception UnavailableDataService {}; 00097 00117 abstract interface DataView { 00126 DataKey getKey(); 00127 00137 string getInterfaceName(); 00138 }; 00139 typedef sequence<DataView> DataViewSeq; 00145 valuetype ValueTypeDataView supports DataView { 00146 public DataKey fKey; 00147 }; 00148 00156 struct Metadata { 00157 string fName; 00158 any fValue; 00159 }; 00160 typedef sequence<Metadata> MetadataSeq; 00169 struct DefaultView { 00170 string fInterfaceName; 00171 DataView fValue; 00172 }; 00173 00187 struct DataDescription { 00188 DataKey fKey; 00189 string fName; 00190 DefaultView fDefaultView; 00191 StringSeq fOthersViews; 00192 MetadataSeq fMetadata; 00193 }; 00194 typedef sequence<DataDescription> DataDescriptionSeq; 00201 valuetype UnstructuredDataView : ValueTypeDataView { 00202 public string fHost; 00203 public unsigned long fPort; 00205 public OctetSeq fAccessKey; 00206 public boolean fWritable; 00207 }; 00208 00215 interface IDataService { 00228 DataDescription getDataDescription(in DataKey fKey) raises (ServiceFailure, 00229 InvalidDataKey, DataNotFound, DataAccessDenied); 00230 00250 DataView getDataView(in DataKey fKey, in string fViewInterface) 00251 raises (ServiceFailure, InvalidDataKey, DataNotFound, 00252 UnsupportedView, DataAccessDenied); 00253 00271 DataViewSeq getDataViewSeq(in DataKeySeq fKeys, in string fViewInterface) 00272 raises (ServiceFailure, InvalidDataKey, DataNotFound, 00273 UnsupportedView, DataAccessDenied); 00274 }; 00275 00276 }; // version 00277 00278 }; // core 00279 00280 }; // data_service 00281 00282 }; // openbus 00283 00284 }; // tecgraf 00285 00286 #endif