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 00037 #if !defined( _OESS_1__DB__SITE__IMPL__ENT_FIND_NEXT_CMD_HPP_ ) 00038 #define _OESS_1__DB__SITE__IMPL__ENT_FIND_NEXT_CMD_HPP_ 00039 00040 #include <oess_1/db/site/impl/h/request.hpp> 00041 #include <oess_1/db/site/impl/h/response.hpp> 00042 00043 namespace oess_1 { 00044 00045 namespace db { 00046 00047 namespace site { 00048 00049 namespace impl { 00050 00051 // 00052 // ent_find_next_cmd_t 00053 // 00054 00058 class ent_find_next_cmd_t : 00059 public request_t 00060 { 00061 OESS_SERIALIZER( ent_find_next_cmd_t ) 00062 public : 00063 ent_find_next_cmd_t(); 00064 ent_find_next_cmd_t( 00066 const std::string & client_id, 00068 const std::string & db_logic_name, 00070 const std::string & slice_name, 00072 const oess_1::ent_id_t & ent_id ); 00073 virtual ~ent_find_next_cmd_t(); 00074 00075 enum { 00077 e_id = 700 00078 }; 00079 00080 virtual oess_1::uint_t 00081 query_req_id() const; 00082 00084 const std::string & 00085 query_db_logic_name() const; 00086 00088 const std::string & 00089 query_slice_name() const; 00090 00092 const oess_1::ent_id_t & 00093 query_ent_id() const; 00094 00095 private : 00097 std::string m_db_logic_name; 00099 std::string m_slice_name; 00101 oess_1::ent_id_t m_ent_id; 00102 }; 00103 00104 // 00105 // ent_find_next_cmd_result_t 00106 // 00107 00111 class ent_find_next_cmd_result_t : 00112 public response_t 00113 { 00114 OESS_SERIALIZER( ent_find_next_cmd_result_t ) 00115 public : 00116 ent_find_next_cmd_result_t(); 00118 ent_find_next_cmd_result_t( 00120 const result_t & result ); 00122 ent_find_next_cmd_result_t( 00124 const oess_1::ent_id_t & ent_id ); 00125 virtual ~ent_find_next_cmd_result_t(); 00126 00127 enum { 00129 e_id = 701 00130 }; 00131 00132 virtual oess_1::uint_t 00133 query_resp_id() const; 00134 00136 const oess_1::ent_id_t & 00137 query_ent_id() const; 00138 00139 private : 00141 oess_1::ent_id_t m_ent_id; 00142 }; 00143 00144 } /* namespace impl */ 00145 00146 } /* namespace site */ 00147 00148 } /* namespace db */ 00149 00150 } /* namespace oess_1 */ 00151 00152 #endif