/*
- * Copyright (c) 2003 The Regents of The University of Michigan
+ * Copyright (c) 2001-2004 The Regents of The University of Michigan
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* correspond to physical components and can be specified via the
* config file (CPUs, caches, etc.).
*/
-class SimObject : public Serializeable
+class SimObject : public Serializable
{
+ protected:
+ std::string objName;
+
private:
friend class Serializer;
virtual ~SimObject() {}
+ virtual const std::string name() const { return objName; }
+
+ // initialization pass of all objects. Gets invoked by SimInit()
+ virtual void init();
+ static void initAll();
+
// register statistics for this object
virtual void regStats();
virtual void regFormulas();
-
- // print extra results for this object not covered by registered
- // statistics (called at end of simulation)
- virtual void printExtraOutput(std::ostream&);
+ virtual void resetStats();
// static: call reg_stats on all SimObjects
static void regAllStats();
- // static: call printExtraOutput on all SimObjects
- static void printAllExtraOutput(std::ostream&);
+ // static: call resetStats on all SimObjects
+ static void resetAllStats();
+
+ // static: call nameOut() & serialize() on all SimObjects
+ static void serializeAll(std::ostream &);
};
#endif // __SIM_OBJECT_HH__