00001 /* Open SoundControl kit in C++ */ 00002 /* Copyright (C) 2002-2004 libOSC++ contributors. See AUTHORS */ 00003 /* */ 00004 /* This library is free software; you can redistribute it and/or */ 00005 /* modify it under the terms of the GNU Lesser General Public */ 00006 /* License as published by the Free Software Foundation; either */ 00007 /* version 2.1 of the License, or (at your option) any later version. */ 00008 /* */ 00009 /* This library is distributed in the hope that it will be useful, */ 00010 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ 00011 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */ 00012 /* Lesser General Public License for more details. */ 00013 /* */ 00014 /* You should have received a copy of the GNU Lesser General Public */ 00015 /* License along with this library; if not, write to the Free Software */ 00016 /* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ 00017 /* */ 00018 /* For questions regarding this program contact */ 00019 /* Daniel Holth <dholth@fastmail.fm> or visit */ 00020 /* http://wiretap.stetson.edu/ */ 00021 00030 #ifndef LIBOSC_INETMASTER_H 00031 #define LIBOSC_INETMASTER_H 00032 00033 #include "Processor.h" 00034 #include "InetTransport.h" 00035 00036 class InetTransportManager; // compiler food 00037 00038 class InetMaster : public InetTransport 00039 { 00040 public: 00042 InetMaster () { _reuseAddr = false; } 00043 00045 virtual ~InetMaster () { } 00046 00053 virtual bool startlisten (const short port) = 0; 00054 00059 virtual bool stoplisten () = 0; 00060 00065 virtual void setProcessor (Processor *processor) = 0; 00066 00071 virtual bool isListening () = 0; 00072 00079 virtual bool setTransportManager (InetTransportManager *const transMan) = 0; 00080 00086 void setReuseSockAddr (bool reuseAddr) { _reuseAddr = reuseAddr; } 00087 00088 00089 protected : 00090 00092 bool _reuseAddr; 00093 00094 }; 00095 00096 #endif // #ifndef LIBOSC_INETMASTER_H