00001 // OSB library ************************************************ -*- C++ -*- 00006 /* 00007 AUTHOR(S): Stephan Broennimann (vb) 00008 00009 RCS information 00010 $Name: OSB_060808 $ 00011 $Revision: 1.3 $ 00012 00013 License 00014 OSB rating and billing library for communication networks 00015 Copyright (C) 2004, 2005, 2006 OSB systems 00016 00017 This file may be distributed and/or modify under the terms of the 00018 GNU General Public License (GPL) as published by the Free Software 00019 Foundation which is provided in the file LICENSE.GPL included in the 00020 packaging of this file. 00021 00022 The file is distributed in the hope that it will be useful, but WITHOUT 00023 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00024 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00025 for more details. 00026 00027 Holders of a OSB Commercial License may use this file under the terms 00028 and conditions of this commercial license. 00029 */ 00030 #ifndef _RQSUTILS_H_ 00031 #define _RQSUTILS_H_ 00032 00033 // ************************************************************************ 00034 // included header files 00035 // + standard includes 00036 00037 // + libraries 00038 #include <requesthandler.h> 00039 00040 // + local headers 00041 00042 // + class declarations 00043 namespace OSB_DB { 00044 class Session; 00045 } 00046 00047 namespace OSB_LIB { 00048 class StatusRequest; 00049 class OsbErrors; 00050 } 00051 00052 // ************************************************************************ 00053 // namespace extensions 00054 namespace OSB_CORBA { 00055 00056 // ************************************************************************ 00057 // free functions 00079 OSB_LIB::RequestHandler::Result process( 00080 const OSB_DB::Session& session, 00081 OSB_LIB::RequestHandler& rh, 00082 OSB_LIB::StatusRequest& request, 00083 OSB_LIB::OsbErrors& errList 00084 ); 00085 00087 template<typename Os> 00088 Os& operator<<(Os& os, OSB_LIB::RequestHandler::Result res); 00089 } // namespace OSB_CORBA 00090 00091 // ************************************************************************ 00092 // inline definitions 00093 namespace OSB_CORBA { 00094 template<typename Os> 00095 Os& operator<<(Os& os, OSB_LIB::RequestHandler::Result res) 00096 { 00097 typedef OSB_LIB::RequestHandler Rh; 00098 switch (res) { 00099 case Rh::resOk: 00100 os << "success"; 00101 break; 00102 case Rh::resProcessed: 00103 os << "processed"; 00104 break; 00105 case Rh::resSkipped: 00106 os << "skipped"; 00107 break; 00108 case Rh::resError: 00109 os << "error"; 00110 break; 00111 } 00112 return os; 00113 } 00114 } // namespace OSB_CORBA 00115 #endif // #ifndef _RQSUTILS_H_