Data Service  1.2.0
data_service.idl
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
 Todos Classes Namespaces Funções Variáveis Definições de Tipos