1/* 2 * Copyright (c) 2013 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 74 unchanged lines hidden (view full) --- 83 84 public: 85 LocalSimLoopExitEvent(); 86 LocalSimLoopExitEvent(const std::string &_cause, int c, Tick repeat = 0); 87 88 const std::string getCause() const { return cause; } 89 const int getCode() const { return code; } 90 |
91 void process() override; // process event |
92 |
93 const char *description() const override; |
94 95 void serialize(CheckpointOut &cp) const override; 96 void unserialize(CheckpointIn &cp) override; 97 static Serializable *createForUnserialize(CheckpointIn &cp, 98 const std::string §ion); 99}; 100 101class CountedDrainEvent : public Event 102{ 103 private: 104 // Count of how many objects have not yet drained 105 int count; 106 107 public: 108 CountedDrainEvent(); 109 |
110 void process() override; |
111 112 void setCount(int _count) { count = _count; } 113 114 const int getCount() const { return count; } 115}; 116 117// 118// Event class to terminate simulation after 'n' related events have --- 4 unchanged lines hidden (view full) --- 123{ 124 private: 125 std::string cause; // string explaining why we're terminating 126 int &downCounter; // decrement & terminate if zero 127 128 public: 129 CountedExitEvent(const std::string &_cause, int &_downCounter); 130 |
131 void process() override; // process event |
132 |
133 const char *description() const override; |
134}; 135 136 137#endif // __SIM_SIM_EVENTS_HH__ |