AbstractController.hh (9745:884ad4638236) AbstractController.hh (9819:e4b12145f4eb)
1/*
2 * Copyright (c) 2009 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 42 unchanged lines hidden (view full) ---

51class AbstractController : public ClockedObject, public Consumer
52{
53 public:
54 typedef RubyControllerParams Params;
55 AbstractController(const Params *p);
56 void init();
57 const Params *params() const { return (const Params *)_params; }
58
1/*
2 * Copyright (c) 2009 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 42 unchanged lines hidden (view full) ---

51class AbstractController : public ClockedObject, public Consumer
52{
53 public:
54 typedef RubyControllerParams Params;
55 AbstractController(const Params *p);
56 void init();
57 const Params *params() const { return (const Params *)_params; }
58
59 const int & getVersion() const { return m_version; }
60 void initNetworkPtr(Network* net_ptr) { m_net_ptr = net_ptr; }
61
62 // return instance name
63 const std::string getName() const { return m_name; }
64 void blockOnQueue(Address, MessageBuffer*);
65 void unblock(Address);
66
59 virtual MessageBuffer* getMandatoryQueue() const = 0;
67 virtual MessageBuffer* getMandatoryQueue() const = 0;
60 virtual const int & getVersion() const = 0;
61 virtual const std::string toString() const = 0; // returns text version of
62 // controller type
68 virtual const std::string toString() const = 0; // returns text version of
69 // controller type
63 virtual const std::string getName() const = 0; // return instance name
64 virtual void blockOnQueue(Address, MessageBuffer*) = 0;
65 virtual void unblock(Address) = 0;
66 virtual void initNetworkPtr(Network* net_ptr) = 0;
67 virtual AccessPermission getAccessPermission(const Address& addr) = 0;
68 virtual DataBlock& getDataBlock(const Address& addr) = 0;
69
70 virtual void print(std::ostream & out) const = 0;
71 virtual void printStats(std::ostream & out) const = 0;
72 virtual void wakeup() = 0;
73 virtual void clearStats() = 0;
74 virtual void regStats() = 0;

--- 112 unchanged lines hidden ---
70 virtual AccessPermission getAccessPermission(const Address& addr) = 0;
71 virtual DataBlock& getDataBlock(const Address& addr) = 0;
72
73 virtual void print(std::ostream & out) const = 0;
74 virtual void printStats(std::ostream & out) const = 0;
75 virtual void wakeup() = 0;
76 virtual void clearStats() = 0;
77 virtual void regStats() = 0;

--- 112 unchanged lines hidden ---