Data Service
1.2.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_02 { 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 string fMessage; 00061 DataKeySeq fKeys; 00062 }; 00063 00068 exception AbsentViews { 00069 string fMessage; 00070 DataKeySeq fKey; 00071 StringSeq fViews; 00072 }; 00073 00075 exception InvalidDataKey { 00076 string fMessage; 00077 DataKeySeq fKeys; 00078 }; 00079 00081 exception DataAccessDenied { 00082 string fMessage; 00083 DataKeySeq fKeys; 00084 }; 00085 00087 exception DataNotFound { 00088 string fMessage; 00089 DataKeySeq fKeys; 00090 }; 00091 00093 exception ServiceFailure { 00094 string fMessage; 00095 }; 00096 00098 exception DataAlreadyExist { 00099 string fMessage; 00100 }; 00101 00103 exception UnavailableDataService { 00104 string fMessage; 00105 }; 00106 00126 abstract interface DataView { 00135 DataKey getKey(); 00136 00146 string getInterfaceName(); 00147 }; 00148 typedef sequence<DataView> DataViewSeq; 00154 valuetype ValueTypeDataView supports DataView { 00155 public DataKey fKey; 00156 }; 00157 00165 struct Metadata { 00166 string fName; 00167 any fValue; 00168 }; 00169 typedef sequence<Metadata> MetadataSeq; 00178 struct DefaultView { 00179 string fInterfaceName; 00180 DataView fValue; 00181 }; 00182 00196 struct DataDescription { 00197 DataKey fKey; 00198 string fName; 00199 DefaultView fDefaultView; 00200 StringSeq fOthersViews; 00201 MetadataSeq fMetadata; 00202 }; 00203 typedef sequence<DataDescription> DataDescriptionSeq; 00210 valuetype UnstructuredDataView : ValueTypeDataView { 00211 public string fHost; 00212 public unsigned long fPort; 00214 public OctetSeq fAccessKey; 00215 public boolean fWritable; 00216 }; 00217 00224 interface IDataService { 00237 DataDescription getDataDescription(in DataKey fKey) raises (ServiceFailure, 00238 InvalidDataKey, DataNotFound, DataAccessDenied); 00239 00259 DataView getDataView(in DataKey fKey, in string fViewInterface) 00260 raises (ServiceFailure, InvalidDataKey, DataNotFound, 00261 UnsupportedView, DataAccessDenied); 00262 00280 DataViewSeq getDataViewSeq(in DataKeySeq fKeys, in string fViewInterface) 00281 raises (ServiceFailure, InvalidDataKey, DataNotFound, 00282 UnsupportedView, DataAccessDenied); 00283 }; 00284 00285 }; // version 00286 00287 }; // core 00288 00289 }; // data_service 00290 00291 }; // openbus 00292 00293 }; // tecgraf 00294 00295 #endif