00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef SST_CORE_ACTION_H
00014 #define SST_CORE_ACTION_H
00015
00016 #include <sst/core/serialization.h>
00017
00018 #include <sst/core/activity.h>
00019 #include <sst/core/output.h>
00020
00021 namespace SST {
00022
00023
00024
00025
00026 class Action : public Activity {
00027 public:
00028 Action() {}
00029 ~Action() {}
00030
00031 void print(const std::string& header, Output &out) const {
00032 out.output("%s Generic Action to be delivered at %" PRIu64 " with priority %d\n",
00033 header.c_str(), getDeliveryTime(), getPriority());
00034 }
00035
00036
00037 protected:
00038
00039 void endSimulation();
00040 void endSimulation(SimTime_t end);
00041
00042 private:
00043 friend class boost::serialization::access;
00044 template<class Archive>
00045 void
00046 serialize(Archive & ar, const unsigned int version )
00047 {
00048 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Activity);
00049 }
00050 };
00051
00052 }
00053
00054 BOOST_CLASS_EXPORT_KEY(SST::Action)
00055
00056 #endif // SST_CORE_ACTION_H