summaryrefslogtreecommitdiff
path: root/src/util/resource_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/resource_manager.h')
-rw-r--r--src/util/resource_manager.h32
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 */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback