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 <acscomponent.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
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