00001 /*00002 * The Software License00003 * =================================================================================00004 * Copyright (c) 2003-.The Terimber Corporation. All rights reserved.00005 * =================================================================================00006 * Redistributions of source code must retain the above copyright notice, 00007 * this list of conditions and the following disclaimer.00008 * Redistributions in binary form must reproduce the above copyright notice, 00009 * this list of conditions and the following disclaimer in the documentation 00010 * and/or other materials provided with the distribution.00011 * The end-user documentation included with the redistribution, if any, 00012 * must include the following acknowledgment:00013 * "This product includes software developed by the Terimber Corporation."00014 * =================================================================================00015 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, 00016 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 00017 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 00018 * IN NO EVENT SHALL THE TERIMBER CORPORATION OR ITS CONTRIBUTORS BE LIABLE FOR 00019 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 00020 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 00021 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 00022 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT00023 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE00024 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.00025 * ================================================================================00026 */00027
00028 #ifndef _terimber_msg_lsnr_h_00029 #define _terimber_msg_lsnr_h_00030
00031 #include "aiomsg/msg_base.h"00032 #include "aiomsg/msg_comm.h"00033
00034 BEGIN_TERIMBER_NAMESPACE00035 #pragma pack(4)00036
00039class msg_listener : publicmsg_base,
00040 publicterimber_log_helper00041 {
00042 public:
00044 msg_listener( msg_communicator* communicator,
00045 constconf_listener& info
00046 );
00048 virtual~msg_listener();
00050 virtual00051 transport_type00052 get_type() const = 0;
00054 static00055 void00056 accept_address( constguid_t& addr,
00057 constconf_listener& linfo,
00058 conf_connection& cinfo
00059 );
00061 inline00062 const00063 conf_listener&
00064get_info() const00065 {
00066 return_info;
00067 }
00068 protected:
00069conf_listener_info;
00070 };
00071
00072 #pragma pack()00073 END_TERIMBER_NAMESPACE00074
00075 #endif // _terimber_msg_lsnr_h_00076