• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

include/FCam/Action.h

Go to the documentation of this file.
00001 #ifndef FCAM_ACTION_H
00002 #define FCAM_ACTION_H
00003 
00004 #include <stdio.h>
00005 
00013 namespace FCam {
00015     class Action {
00016       public:
00017         Action() {}
00018         virtual ~Action();
00021         int time;
00022         
00024         int latency;
00025 
00031         virtual void doAction() = 0;
00032 
00038         virtual Action *copy() const = 0;        
00039 
00040       private:
00041 
00042         friend class Shot;
00043     };
00044 
00050     template<typename Derived>
00051         class CopyableAction : public Action {
00052       public:
00055         Action *copy() const {
00056             return new Derived(*((Derived *)this));
00057         }
00058     };
00059 
00060 }
00061     
00062 
00063 #endif

Generated on Mon Aug 16 2010 14:25:45 for FCam by  doxygen 1.7.1