Logo
~Sockets~
~Examples~
~Contact~


ISocketHandler.cpp

Go to the documentation of this file.
00001 
00005 /*
00006 Copyright (C) 2004-2007  Anders Hedstrom
00007 
00008 This library is made available under the terms of the GNU GPL.
00009 
00010 If you would like to use this library in a closed-source application,
00011 a separate license agreement is available. For information about 
00012 the closed-source license agreement for the C++ sockets library,
00013 please visit http://www.alhem.net/Sockets/license.html and/or
00014 email license@alhem.net.
00015 
00016 This program is free software; you can redistribute it and/or
00017 modify it under the terms of the GNU General Public License
00018 as published by the Free Software Foundation; either version 2
00019 of the License, or (at your option) any later version.
00020 
00021 This program is distributed in the hope that it will be useful,
00022 but WITHOUT ANY WARRANTY; without even the implied warranty of
00023 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00024 GNU General Public License for more details.
00025 
00026 You should have received a copy of the GNU General Public License
00027 along with this program; if not, write to the Free Software
00028 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00029 */
00030 #include "ISocketHandler.h"
00031 
00032 
00033 #ifdef SOCKETS_NAMESPACE
00034 namespace SOCKETS_NAMESPACE {
00035 #endif
00036 
00037 
00038 #ifdef _DEBUG
00039 #define DEB(x) x
00040 #else
00041 #define DEB(x) 
00042 #endif
00043 
00044 
00045 ISocketHandler::ISocketHandler(StdLog *log)
00046 : m_stdlog(log)
00047 #ifdef ENABLE_DETACH
00048 , m_slave(false)
00049 #endif
00050 , m_mutex(m_mutex)
00051 , m_b_use_mutex(false)
00052 {
00053 }
00054 
00055 
00056 ISocketHandler::ISocketHandler(Mutex& mutex,StdLog *log)
00057 : m_stdlog(log)
00058 #ifdef ENABLE_DETACH
00059 , m_slave(false)
00060 #endif
00061 , m_mutex(mutex)
00062 , m_b_use_mutex(true)
00063 {
00064 }
00065 
00066 
00067 ISocketHandler::~ISocketHandler()
00068 {
00069 }
00070 
00071 
00072 Mutex& ISocketHandler::GetMutex() const
00073 {
00074         return m_mutex; 
00075 }
00076 
00077 
00078 #ifdef ENABLE_DETACH
00079 void ISocketHandler::SetSlave(bool x)
00080 {
00081         m_slave = x;
00082 }
00083 
00084 
00085 bool ISocketHandler::IsSlave()
00086 {
00087         return m_slave;
00088 }
00089 #endif
00090 
00091 
00092 void ISocketHandler::RegStdLog(StdLog *log)
00093 {
00094         m_stdlog = log;
00095 }
00096 
00097 
00098 void ISocketHandler::LogError(Socket *p,const std::string& user_text,int err,const std::string& sys_err,loglevel_t t)
00099 {
00100         if (m_stdlog)
00101         {
00102                 m_stdlog -> error(this, p, user_text, err, sys_err, t);
00103         }
00104 }
00105 
00106 
00107 #ifdef SOCKETS_NAMESPACE
00108 } // namespace SOCKETS_NAMESPACE {
00109 #endif
Page, code, and content Copyright (C) 2007 by Anders Hedström
Generated for C++ Sockets by  doxygen 1.4.4