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