Logo
~Sockets~
~Examples~
~Contact~


IEventOwner.cpp

Go to the documentation of this file.
00001 
00005 /*
00006 Copyright (C) 2005,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 "IEventOwner.h"
00031 
00032 
00033 #ifdef SOCKETS_NAMESPACE
00034 namespace SOCKETS_NAMESPACE {
00035 #endif
00036 
00037 
00038 IEventOwner::IEventOwner(IEventHandler& h) : m_event_handler(h), m_handler_invalid(false), m_events(0)
00039 {
00040 }
00041 
00042 
00043 IEventOwner::~IEventOwner()
00044 {
00045         if (m_events && !m_handler_invalid)
00046         {
00047                 m_event_handler.ClearEvents(this);
00048         }
00049 }
00050 
00051 
00052 IEventHandler& IEventOwner::EventHandler()
00053 {
00054         return m_event_handler;
00055 }
00056 
00057 
00058 long IEventOwner::AddEvent(long sec,long usec)
00059 {
00060         return m_event_handler.AddEvent(this, sec, usec);
00061 }
00062 
00063 
00064 void IEventOwner::ClearEvents()
00065 {
00066         m_event_handler.ClearEvents(this);
00067 }
00068 
00069 
00070 void IEventOwner::RemoveEvent(long eid)
00071 {
00072         m_event_handler.RemoveEvent(this, eid);
00073 }
00074 
00075 
00076 void IEventOwner::Increase()
00077 {
00078         m_events++;
00079 }
00080 
00081 
00082 void IEventOwner::Decrease()
00083 {
00084         if (m_events)
00085                 m_events--;
00086 }
00087 
00088 
00089 #ifdef SOCKETS_NAMESPACE
00090 }
00091 #endif
Page, code, and content Copyright (C) 2007 by Anders Hedström
Generated for C++ Sockets by  doxygen 1.4.4