response.hpp

См. документацию.
00001 /*
00002 
00003 Copyright (c) 2002-2005, Yauheni Akhotnikau
00004 All rights reserved.
00005 
00006 Redistribution and use in source and binary forms, with or without
00007 modification, are permitted provided that the following conditions are met:
00008 
00009 - Redistributions of source code must retain the above copyright notice, this
00010 list of conditions and the following disclaimer.
00011 
00012 - Redistributions in binary form must reproduce the above copyright notice, this
00013 list of conditions and the following disclaimer in the documentation and/or
00014 other materials provided with the distribution.
00015 
00016 - The name of the author may not be used to endorse or promote products derived
00017 from this software without specific prior written permission.
00018 
00019 THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
00020 WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
00021 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
00022 EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00023 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
00024 OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00025 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00026 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
00027 IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
00028 OF SUCH DAMAGE.
00029 
00030 */
00031 
00032 /*
00033   ObjESSty-1
00034 */
00035 
00041 #if !defined( _OESS_1__DB__SITE__IMPL__RESPONSE_HPP_ )
00042 #define _OESS_1__DB__SITE__IMPL__RESPONSE_HPP_
00043 
00044 #include <oess_1/defs/h/err_code.hpp>
00045 
00046 #include <oess_1/stdsn/h/shptr.hpp>
00047 
00048 namespace oess_1 {
00049 
00050 namespace db {
00051 
00052 namespace site {
00053 
00054 namespace impl {
00055 
00056 //
00057 // result_t
00058 //
00059 
00063 class result_t :
00064   public oess_1::stdsn::serializable_t
00065 {
00066   OESS_SERIALIZER( result_t )
00067   public :
00068     result_t();
00069     result_t(
00070       const oess_1::err_code_t & err );
00071     result_t(
00072       const result_t & o );
00073     virtual ~result_t();
00074 
00075     result_t &
00076     operator=( const result_t & o );
00077 
00078     oess_1::err_code_t
00079     query_err_code() const;
00080 
00081   private :
00083     oess_1::int_t m_code;
00085     std::string m_file;
00088     int m_line;
00090     std::string m_desc;
00091 };
00092 
00093 //
00094 // response_t
00095 //
00096 
00100 class response_t :
00101   public oess_1::stdsn::serializable_t
00102 {
00103   OESS_SERIALIZER( response_t )
00104   public :
00105     response_t();
00106     response_t(
00108       const result_t & result );
00109     virtual ~response_t();
00110 
00112     virtual oess_1::uint_t
00113     query_resp_id() const = 0;
00114 
00116     const result_t &
00117     query_result() const;
00118 
00119   private :
00121     result_t  m_result;
00122 };
00123 
00124 //
00125 // resp_wrapper_t
00126 //
00127 
00134 class resp_wrapper_t :
00135   public oess_1::stdsn::shptr_t
00136 {
00137   OESS_SERIALIZER( resp_wrapper_t )
00138   OESS_1_SHPTR_IFACE( resp_wrapper_t,
00139     oess_1::db::site::impl::response_t,
00140     oess_1::stdsn::shptr_t )
00141 };
00142 
00143 } /* namespace impl */
00144 
00145 } /* namespace site */
00146 
00147 } /* namespace db */
00148 
00149 } /* namespace oess_1 */
00150 
00151 #endif

Документация по ObjESSty. Последние изменения: Fri Oct 13 18:35:35 2006. Создано системой  doxygen 1.4.7
Hosted by uCoz