diff options
Diffstat (limited to 'src/util/resource_manager.h')
-rw-r--r-- | src/util/resource_manager.h | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/src/util/resource_manager.h b/src/util/resource_manager.h index 2c54011a5..f3bb42a08 100644 --- a/src/util/resource_manager.h +++ b/src/util/resource_manager.h @@ -114,6 +114,18 @@ class CVC4_PUBLIC ResourceManager { /** Receives a notification on reaching a hard limit. */ ListenerCollection d_softListeners; + /** + * ResourceManagers cannot be copied as they are given an explicit + * list of Listeners to respond to. + */ + ResourceManager(const ResourceManager&) CVC4_UNDEFINED; + + /** + * ResourceManagers cannot be assigned as they are given an explicit + * list of Listeners to respond to. + */ + ResourceManager& operator=(const ResourceManager&) CVC4_UNDEFINED; + public: ResourceManager(); @@ -162,13 +174,25 @@ public: static uint64_t getFrequencyCount() { return s_resourceCount; } - /** Collection of listeners that are notified on a hard resource out. */ - ListenerCollection* getHardListeners(); + /** + * Registers a listener that is notified on a hard resource out. + * + * This Registration must be destroyed by the user before this + * ResourceManager. + */ + ListenerCollection::Registration* registerHardListener(Listener* listener); + + /** + * Registers a listener that is notified on a soft resource out. + * + * This Registration must be destroyed by the user before this + * ResourceManager. + */ + ListenerCollection::Registration* registerSoftListener(Listener* listener); - /** Collection of listeners that are notified on a soft resource out. */ - ListenerCollection* getSoftListeners(); };/* class ResourceManager */ + }/* CVC4 namespace */ #endif /* __CVC4__RESOURCE_MANAGER_H */ |