Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

cdbDAL.idl

Go to the documentation of this file.
00001 #ifndef _CDBDAL_IDL_ 00002 #define _CDBDAL_IDL_ 00003 00004 /******************************************************************************* 00005 * ALMA - Atacama Large Millimiter Array 00006 * (c) European Southern Observatory, 2002 00007 * Copyright by ESO (in the framework of the ALMA collaboration) 00008 * and Cosylab 2002, All rights reserved 00009 * 00010 * This library is free software; you can redistribute it and/or 00011 * modify it under the terms of the GNU Lesser General Public 00012 * License as published by the Free Software Foundation; either 00013 * version 2.1 of the License, or (at your option) any later version. 00014 * 00015 * This library is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 * Lesser General Public License for more details. 00019 * 00020 * You should have received a copy of the GNU Lesser General Public 00021 * License along with this library; if not, write to the Free Software 00022 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00023 * 00024 * 00025 * "@(#) $Id: cdbDAL.idl,v 1.5 2007/10/11 11:15:14 msekoran Exp $" 00026 * 00027 * who when what 00028 * -------- -------- ---------------------------------------------- 00029 * almamgr 2003-08-29 Replaced acsutil.idl with acscomponent.idl 00030 * gchiozzi 2003-05-15 jDAL interface taken out in separate IDL file 00031 * gchiozzi 2003-05-15 DAO extends ACS:OffShoot interface 00032 * gchiozzi 2003-05-15 Added include of acsutil.idl 00033 */ 00034 00035 00036 #include <acscomponent.idl> 00037 #include "cdbErrType.idl" 00038 00039 #pragma prefix "cosylab.com" 00040 00041 module CDB { 00042 00043 // sequences 00044 typedef sequence <string> stringSeq; 00045 typedef sequence <long> longSeq; 00046 typedef sequence <double> doubleSeq; 00047 00052 interface DAO : ACS::OffShoot { 00053 /* 00054 * Give a long value for a specific property of the Node 00055 */ 00056 long get_long( in string propertyName ) raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx); 00057 /* 00058 * Give a double value for a specific property of the Node 00059 */ 00060 double get_double( in string propertyName ) raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx); 00061 /* 00062 * Give a string value for a specific property of the Node 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 * Give a string seq of the value of specific property of the Node 00068 */ 00069 stringSeq get_string_seq( in string propertyName )raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx); 00070 /* 00071 * Give a long seq of the value of specific property of the Node 00072 */ 00073 longSeq get_long_seq( in string propertyName ) raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx); 00074 /* 00075 * Give a double seq of the value of specific property of the Node 00076 */ 00077 doubleSeq get_double_seq( in string propertyName )raises (cdbErrType::WrongCDBDataTypeEx, cdbErrType::CDBFieldDoesNotExistEx); 00078 00079 void destroy(); 00080 }; 00081 /* 00082 * Interface of the listener of changes of DAL 00083 */ 00084 interface DALChangeListener : ACS::OffShoot { 00085 /* 00086 * Inform that the object is changed and reconnect/reload it 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 //data change handling 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 // listing 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 /* _CDBDAL_IDL_ */

Generated on Thu Apr 30 02:26:27 2009 for ACS IDL interfaces by doxygen 1.3.8