InputStream.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 
00031 #ifndef OSC_INPUTSTREAM_H
00032 #define OSC_INPUTSTREAM_H
00033 
00034 #include "OSCCallable.h"
00035 #include "Transmit.h"
00036 
00037 #ifdef LIBOSC_DEBUG
00038 #include <iostream>
00039 #endif
00040 
00041 class InputStream : public OSCCallable
00042 {
00043  private:
00044   Transmit* myTransmit;
00045  public:
00046   InputStream()                   { this -> myTransmit = NULL; }
00047   InputStream(Transmit* transmit) { this -> setTransmit(transmit); }
00048   
00049   virtual ~InputStream()          { delete myTransmit; }
00050   
00051   virtual void call(const std::string& data, Transmit *const reply) 
00052     {
00053 #ifdef LIBOSC_DEBUG
00054       std::cout << "InputStream::call: " << this->getName() << " sending to " 
00055                 << myTransmit->getName() << std::endl;
00056 #endif
00057       myTransmit -> transmit(data);
00058     }
00059 
00060   void setTransmit(Transmit* transmit)  { this -> myTransmit = transmit; }
00061   Transmit* getTransmit()               { return this -> myTransmit; }
00062 };
00063 
00064 #endif

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