InetUDPReplier.h

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 
00022 /*
00023  * This class was written by Jared Jennings <jjenning@fastmail.fm>
00024  */
00025 
00026 #ifndef LIBOSC_INETUDPREPLIER_H
00027 #define LIBOSC_INETUDPREPLIER_H
00028 
00029 #include "Transmit.h"
00030 #include "NullTransmit.h"
00031 #include "InetOSC.h"
00032 
00033 #include <sstream>
00034 #include <iosfwd>
00035 
00036 class InetUDPMaster; // compiler food
00037 
00046 class InetUDPReplier : public Transmit, InetOSC {
00047 public:
00056   InetUDPReplier(InetUDPMaster *master);
00057 
00060   InetUDPReplier(InetUDPReplier &);
00061 
00063   virtual ~InetUDPReplier ();
00064 
00071   bool transmit(const std::string& data);
00072 
00083   bool setDestination (const std::string& host,
00084                        const short port);
00085 
00089   bool setReturnPort(short);
00090 
00095   const std::string getStatusString (void);
00096 
00097   std::string getName();
00098 
00099   virtual Transmit * clone();
00100 
00101 protected:
00102 
00103 
00104 private:
00105 
00107   struct sockaddr *_remoteSendAddr;
00108 
00110   unsigned int _addrlen;
00111 
00113   InetUDPMaster *_master;
00114 
00115 };
00116 
00117 #endif // #ifndef LIBOSC_INETUDPREPLIER_H

Generated on Thu Mar 2 23:51:35 2006 for libOSC++ by  doxygen 1.4.6