Data Service  1.2.0
hierarchical_data_service.idl
00001 #ifndef __TECGRAF_OPENBUS_DATA_SERVICE_HIERARCHICAL_IDL__
00002 #define __TECGRAF_OPENBUS_DATA_SERVICE_HIERARCHICAL_IDL__
00003 
00004 #include "data_service.idl"
00005 
00006 module tecgraf {
00007 
00008 module openbus {
00009 
00013 module data_service {
00014 
00018 module hierarchical {
00019 
00023 module v1_02 {
00024 
00025 typedef tecgraf::openbus::data_service::core::v1_02::DataKey DataKey;
00026 typedef tecgraf::openbus::data_service::core::v1_02::DataKeySeq DataKeySeq;
00027 typedef tecgraf::openbus::data_service::core::v1_02::ValueTypeDataView ValueTypeDataView;
00028 typedef tecgraf::openbus::data_service::core::v1_02::DataDescription DataDescription;
00029 typedef tecgraf::openbus::data_service::core::v1_02::DataDescriptionSeq DataDescriptionSeq;
00030 
00032 exception InvalidPrototype {
00033   string fMessage; 
00034 };
00035 
00037 exception InvalidContainer {
00038   string fMessage; 
00039   DataKeySeq fKey; 
00040 };
00041 
00043 exception UnsupportedOperation {
00044   string fMessage; 
00045 };
00046 
00054 valuetype HierarchicalNodeDataView : ValueTypeDataView{
00059   public DataKey fParentKey;
00061   public boolean fIsContainer;
00062 };
00063 
00067 interface IHierarchicalNavigationDataService {
00080   DataDescriptionSeq getRoots() raises (
00081       tecgraf::openbus::data_service::core::v1_02::ServiceFailure,
00082       tecgraf::openbus::data_service::core::v1_02::DataAccessDenied);
00083 
00096   DataDescriptionSeq getChildren(in DataKey fKey) raises (
00097       tecgraf::openbus::data_service::core::v1_02::ServiceFailure,
00098       tecgraf::openbus::data_service::core::v1_02::DataAccessDenied,
00099       tecgraf::openbus::data_service::core::v1_02::InvalidDataKey,
00100       tecgraf::openbus::data_service::core::v1_02::DataNotFound);
00101 
00118   DataDescription getParent(in DataKey fKey) raises (
00119       tecgraf::openbus::data_service::core::v1_02::ServiceFailure,
00120       tecgraf::openbus::data_service::core::v1_02::DataAccessDenied,
00121       tecgraf::openbus::data_service::core::v1_02::InvalidDataKey,
00122       tecgraf::openbus::data_service::core::v1_02::DataNotFound);
00123 };
00124 
00128 interface IHierarchicalManagementDataService {
00153   DataKey createData(in DataDescription fPrototype, in DataKey fParentKey)
00154       raises (
00155       tecgraf::openbus::data_service::core::v1_02::ServiceFailure,
00156       tecgraf::openbus::data_service::core::v1_02::DataAccessDenied,
00157       tecgraf::openbus::data_service::core::v1_02::InvalidDataKey,
00158       tecgraf::openbus::data_service::core::v1_02::DataNotFound,
00159       tecgraf::openbus::data_service::core::v1_02::DataAlreadyExist,
00160       InvalidPrototype,
00161       InvalidContainer,
00162       UnsupportedOperation);
00163 
00182   DataKey copyData(in DataKey fSourceKey, in DataKey fParentKey) raises (
00183       tecgraf::openbus::data_service::core::v1_02::ServiceFailure,
00184       tecgraf::openbus::data_service::core::v1_02::DataAccessDenied,
00185       tecgraf::openbus::data_service::core::v1_02::InvalidDataKey,
00186       tecgraf::openbus::data_service::core::v1_02::DataNotFound,
00187       tecgraf::openbus::data_service::core::v1_02::DataAlreadyExist,
00188       InvalidContainer,
00189       UnsupportedOperation);
00190 
00206   void moveData(in DataKey fKey, in DataKey fNewParentKey) raises (
00207       tecgraf::openbus::data_service::core::v1_02::ServiceFailure,
00208       tecgraf::openbus::data_service::core::v1_02::DataAccessDenied,
00209       tecgraf::openbus::data_service::core::v1_02::InvalidDataKey,
00210       tecgraf::openbus::data_service::core::v1_02::DataNotFound,
00211       tecgraf::openbus::data_service::core::v1_02::DataAlreadyExist,
00212       InvalidContainer,
00213       UnsupportedOperation);
00214 
00230   void updateData(in DataKey fKey, in DataKey fSourceKey) raises (
00231       tecgraf::openbus::data_service::core::v1_02::ServiceFailure,
00232       tecgraf::openbus::data_service::core::v1_02::DataAccessDenied,
00233       tecgraf::openbus::data_service::core::v1_02::InvalidDataKey,
00234       tecgraf::openbus::data_service::core::v1_02::DataNotFound,
00235       tecgraf::openbus::data_service::core::v1_02::AbsentViews,
00236       UnsupportedOperation);
00237 
00250   void deleteData(in DataKey fKey) raises (
00251       tecgraf::openbus::data_service::core::v1_02::ServiceFailure,
00252       tecgraf::openbus::data_service::core::v1_02::DataAccessDenied,
00253       tecgraf::openbus::data_service::core::v1_02::InvalidDataKey,
00254       tecgraf::openbus::data_service::core::v1_02::DataNotFound,
00255       UnsupportedOperation);
00256 };
00257 
00266 interface IHierarchicalTransferDataService {
00289   DataKey copyDataFrom(in DataKey fSourceKey, in DataKey fParentKey) raises (
00290       tecgraf::openbus::data_service::core::v1_02::ServiceFailure,
00291       tecgraf::openbus::data_service::core::v1_02::DataAccessDenied,
00292       tecgraf::openbus::data_service::core::v1_02::InvalidDataKey,
00293       tecgraf::openbus::data_service::core::v1_02::DataNotFound,
00294       tecgraf::openbus::data_service::core::v1_02::AbsentViews,
00295       tecgraf::openbus::data_service::core::v1_02::UnavailableDataService,
00296       tecgraf::openbus::data_service::core::v1_02::DataAlreadyExist,
00297       InvalidContainer,
00298       UnsupportedOperation);
00299 
00315   void updateDataFrom(in DataKey fKey, in DataKey fSourceKey) raises (
00316       tecgraf::openbus::data_service::core::v1_02::ServiceFailure,
00317       tecgraf::openbus::data_service::core::v1_02::DataAccessDenied,
00318       tecgraf::openbus::data_service::core::v1_02::InvalidDataKey,
00319       tecgraf::openbus::data_service::core::v1_02::DataNotFound,
00320       tecgraf::openbus::data_service::core::v1_02::UnavailableDataService,
00321       tecgraf::openbus::data_service::core::v1_02::AbsentViews);
00322 };
00323 
00324 }; // version
00325 
00326 }; // hierarchical
00327 
00328 }; // data_service
00329 
00330 }; // openbus
00331 
00332 }; // tecgraf
00333 
00334 #endif
 Todos Classes Namespaces Funções Variáveis Definições de Tipos