00001 // ===================================================================================== 00002 // Filename: ContextActor.h 00003 // Description: 00004 // Version: 1.0 00005 // Created: 03/30/2007 10:02:44 PM EDT 00006 // Revision: none 00007 // Compiler: gcc 3.4.6 00008 // 00009 // Author: John P. Feltz 00010 // Email: jfeltz@gmail.com 00011 // License: Copyright (c) 2006-2007, John P. Feltz 00012 // This program is free software; you can redistribute it and/or 00013 // modify it under the terms of the GNU General Public License as 00014 // published by the Free Software Foundation, version 2 of the 00015 // License. 00016 // This program is distributed in the hope that it will be 00017 // useful, but WITHOUT ANY WARRANTY; without even the implied 00018 // warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00019 // PURPOSE. 00020 // See the GNU General Public License version 2 for more details. 00021 // 00022 // ===================================================================================== 00023 00026 00027 class ContextActor : public InputActor { 00028 public: 00029 ContextActor(System* const sys); 00030 00031 virtual ~ContextActor() { 00032 log_debug("calling dtor"); 00033 00034 if(m_context) { 00035 log_debug("deleting context"); 00036 delete m_context; 00037 } 00038 }; 00039 00040 virtual std::string getName() const; 00041 00042 virtual InputContext* getContext() const; 00043 virtual InputContext* setContext(InputContext* const context) const; 00044 00045 virtual void update(const InputData& input); 00046 virtual void update(const ModData& input); 00047 00048 private: 00049 InputContext* m_context; 00050 };