/**
 * $Id$
 * $Revision$
 * $Author$
 * $Date$
 *
 * This file is part of The iWear Framework.
 * In particular this file is part of the Framework Test Library
 *
 * The iWear Framework is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by the
 * Free Software Foundation as in version 2 of the License.

 * 
 * The iWear Framework is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * The iWear Framework; if not, write to the Free Software Foundation, Inc., 59
 * Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#ifndef __EXIT_FUNCTOR_H
#define __EXIT_FUNCTOR_H

#include <iwear/functor.h>

//#include <iwear_output/odofunctor.h>
//#include <iwear_output/outputdata.h>
//#include <iwear_output/button.h>
#include <iwear/debugstream.h>

//using namespace iwear::output;

using namespace iwear;

namespace iwear{
  namespace test{

  //extern bool should_exit;

class ExitFunctor : public VoidFunctor //: public ODOFunctor 
{

public: 

  //ExitFunctor(const Button* exit_button);

  ExitFunctor(bool* should_exit);

    virtual ~ExitFunctor();

    virtual void operator()(void);

    //void operator()(const uid& odo_uid, 
    //		    const Eventable& eventable, 
    //	    const EVENT_TYPE& event_type);
protected:

    bool* should_exit;



private:

    //const Button* exit_button;

};

} // namespace test
} // namespace iwear

#endif // __EXIT_FUNCTOR

