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 "cdbErrType.idl"
00038
00039 #pragma prefix "cosylab.com"
00040
00041 module CDB {
00042
00043
00044 typedef sequence <string> stringSeq;
00045 typedef sequence <long> longSeq;
00046 typedef sequence <double> doubleSeq;
00047
00052 interface DAO : ACS::OffShoot {
00053
00054
00055
00056 long get_long( in string propertyName ) raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx);
00057
00058
00059
00060 double get_double( in string propertyName ) raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx);
00061
00062
00063
00064 string get_string( in string propertyName ) raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx);
00065 string get_field_data( in string propertyName )raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx);
00066
00067
00068
00069 stringSeq get_string_seq( in string propertyName )raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx);
00070
00071
00072
00073 longSeq get_long_seq( in string propertyName ) raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx);
00074
00075
00076
00077 doubleSeq get_double_seq( in string propertyName )raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx);
00078
00079 void destroy();
00080 };
00081
00082
00083
00084 interface DALChangeListener : ACS::OffShoot {
00085
00086
00087
00088 oneway void object_changed( in string curl );
00089 };
00090
00094 interface DAL {
00098 readonly attribute string configuration_name;
00099
00103 string get_DAO( in string curl ) raises (cdbErrType::CDBRecordDoesNotExistEx,cdbErrType::CDBXMLErrorEx);
00107 DAO get_DAO_Servant( in string curl ) raises (cdbErrType::CDBRecordDoesNotExistEx, cdbErrType::CDBXMLErrorEx);
00108 oneway void shutdown();
00109
00110
00116 long add_change_listener( in DALChangeListener listener );
00122 void listen_for_changes( in string curl, in long listenerID );
00127 void remove_change_listener( in long listenerID );
00128
00129
00135 string list_nodes( in string name );
00136
00142 string list_daos( in string name );
00143 };
00144
00148 interface WDAO : DAO {
00154 void set_long(in string propertyName, in long value) raises(cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBFieldIsReadOnlyEx);
00160 void set_double(in string propertyName, in double value) raises(cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBFieldIsReadOnlyEx);
00166 void set_string(in string propertyName, in string value) raises(cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBFieldIsReadOnlyEx);
00167 void set_field_data(in string propertyName, in string value) raises(cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBFieldIsReadOnlyEx);
00173 void set_string_seq(in string propertyName, in stringSeq value) raises(cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBFieldIsReadOnlyEx);
00174 void set_long_seq(in string propertyName, in longSeq value) raises(cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBFieldIsReadOnlyEx);
00180 void set_double_seq(in string propertyName, in doubleSeq value) raises(cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBFieldIsReadOnlyEx);
00181 };
00182
00186 interface WDAL : DAL {
00192 WDAO get_WDAO_Servant(in string curl) raises(cdbErrType::CDBRecordDoesNotExistEx, cdbErrType::CDBRecordIsReadOnlyEx, cdbErrType::CDBXMLErrorEx);
00198 void add_node(in string curl, in string xml) raises(cdbErrType::CDBRecordAlreadyExistsEx, cdbErrType::CDBXMLErrorEx, cdbErrType::CDBExceptionEx);
00203 void remove_node(in string curl) raises(cdbErrType::CDBRecordDoesNotExistEx, cdbErrType::CDBRecordIsReadOnlyEx);
00209 void set_DAO(in string curl, in string xml) raises(cdbErrType::CDBRecordDoesNotExistEx, cdbErrType::CDBFieldDoesNotExistEx, cdbErrType::CDBRecordIsReadOnlyEx, cdbErrType::CDBXMLErrorEx, cdbErrType::CDBExceptionEx);
00210 };
00211
00212 };
00213
00214 #endif