00001 /********************************************************************** 00002 * action.H 00003 **********************************************************************/ 00004 #ifndef ACTION_H_IS_INCLUDED 00005 #define ACTION_H_IS_INCLUDED 00006 00007 #include "net/data_item.H" 00008 00009 /***************************************************************** 00010 * ACTION: 00011 * 00012 *****************************************************************/ 00013 class ACTION : public DATA_ITEM { 00014 public: 00015 00016 //******** MANAGERS ******** 00017 ACTION(); 00018 virtual ~ACTION(); 00019 00020 //******** RUN-TIME TYPE ID ******** 00021 DEFINE_RTTI_METHODS3("ACTION", ACTION*, DATA_ITEM, CDATA_ITEM*); 00022 00023 //******** STATICS ******** 00024 static void write_script(STDdstream &d); 00025 00026 //******** VIRTUAL METHODS ******** 00027 virtual void invoke() = 0; 00028 00029 protected: 00030 // the full script, i.e. series of actions: 00031 static ARRAY<ACTION*> _actions; 00032 }; 00033 typedef const ACTION CACTION; 00034 00035 #endif // ACTION_H_IS_INCLUDED 00036 00037 // end of file action.H