Go to the documentation of this file.00001 #ifndef _CDBDAL_IDL_
00002 #define _CDBDAL_IDL_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #include <acscommon.idl>
00037 #include <logging_idl.idl>
00038 #include "cdbErrType.idl"
00039
00040 #pragma prefix "cosylab.com"
00041
00042 module CDB {
00043
00044
00045 typedef sequence <string> stringSeq;
00046 typedef sequence <long> longSeq;
00047 typedef sequence <double> doubleSeq;
00048
00053 interface DAO : ACS::OffShoot {
00054
00055
00056
00057 long get_long( in string propertyName ) raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx);
00058
00059
00060
00061 double get_double( in string propertyName ) raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx);
00062
00063
00064
00065 string get_string( in string propertyName ) raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx);
00066 string get_field_data( in string propertyName )raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx);
00067
00068
00069
00070 stringSeq get_string_seq( in string propertyName )raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx);
00071
00072
00073
00074 longSeq get_long_seq( in string propertyName ) raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx);
00075
00076
00077
00078 doubleSeq get_double_seq( in string propertyName )raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx);
00079
00080 void destroy();
00081 };
00082
00083
00084
00085 interface DALChangeListener : ACS::OffShoot {
00086
00087
00088
00089 oneway void object_changed( in string curl );
00090 };
00091
00095 interface DAL : Logging::LoggingConfigurable {
00099 readonly attribute string configuration_name;
00100
00104 string get_DAO( in string curl ) raises (cdbErrType::CDBRecordDoesNotExistEx,cdbErrType::CDBXMLErrorEx);
00108 DAO get_DAO_Servant( in string curl ) raises (cdbErrType::CDBRecordDoesNotExistEx, cdbErrType::CDBXMLErrorEx);
00109 oneway void shutdown();
00110
00111
00117 long add_change_listener( in DALChangeListener listener );
00123 void listen_for_changes( in string curl, in long listenerID );
00128 void remove_change_listener( in long listenerID );
00129
00130
00136 string list_nodes( in string name );
00137
00143 string list_daos( in string name );
00144 };
00145
00149 interface WDAO : DAO {
00155 void set_long(in string propertyName, in long value) raises(cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBFieldIsReadOnlyEx);
00161 void set_double(in string propertyName, in double value) raises(cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBFieldIsReadOnlyEx);
00167 void set_string(in string propertyName, in string value) raises(cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBFieldIsReadOnlyEx);
00168 void set_field_data(in string propertyName, in string value) raises(cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBFieldIsReadOnlyEx);
00174 void set_string_seq(in string propertyName, in stringSeq value) raises(cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBFieldIsReadOnlyEx);
00175 void set_long_seq(in string propertyName, in longSeq value) raises(cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBFieldIsReadOnlyEx);
00181 void set_double_seq(in string propertyName, in doubleSeq value) raises(cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBFieldIsReadOnlyEx);
00182 };
00183
00187 interface WDAL : DAL {
00193 WDAO get_WDAO_Servant(in string curl) raises(cdbErrType::CDBRecordDoesNotExistEx, cdbErrType::CDBRecordIsReadOnlyEx, cdbErrType::CDBXMLErrorEx);
00199 void add_node(in string curl, in string xml) raises(cdbErrType::CDBRecordAlreadyExistsEx, cdbErrType::CDBXMLErrorEx, cdbErrType::CDBExceptionEx);
00204 void remove_node(in string curl) raises(cdbErrType::CDBRecordDoesNotExistEx, cdbErrType::CDBRecordIsReadOnlyEx);
00210 void set_DAO(in string curl, in string xml) raises(cdbErrType::CDBRecordDoesNotExistEx, cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBRecordIsReadOnlyEx, cdbErrType::CDBXMLErrorEx, cdbErrType::CDBExceptionEx);
00211 };
00212
00213 };
00214
00215 #endif