OSCCallable.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 
00048 #ifndef OSC_CALLABLE_H
00049 #define OSC_CALLABLE_H
00050 
00051 #include <iostream>
00052 #include <string>
00053 #include "Transmit.h"
00054 
00055 class OSCCallable
00056 {
00057   protected:
00058     std::string myDocumentation;
00059     std::string myTypeSignature;
00060 
00061   public:
00062     virtual ~OSCCallable();
00063     
00065     virtual void call(const std::string& data, Transmit *const reply) = 0;
00066 
00067     // may soon include one with a separate address argument
00068     // virtual void call(const std::string& data, Transmit *const reply) = 0;
00069     
00070     virtual std::string getDocumentation() 
00071     { 
00072       return this->myDocumentation; 
00073     }
00074     
00075     virtual void setDocumentation(std::string documentation)
00076     {
00077       this->myDocumentation = documentation;
00078     }
00079 
00080     virtual std::string getTypeSignature()
00081     {
00082       return this->myTypeSignature;
00083     }
00084 
00085     virtual void setTypeSignature(std::string typeSignature)
00086     {
00087       this->myTypeSignature = typeSignature;
00088     }
00089 
00093   virtual std::string getName ();
00094 
00095 };
00096 
00098 std::ostream &operator<<(std::ostream &, OSCCallable &);
00099 
00100 #endif

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