summaryrefslogtreecommitdiff
path: root/include/gras/callable.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/gras/callable.hpp')
-rw-r--r--include/gras/callable.hpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/gras/callable.hpp b/include/gras/callable.hpp
index 9d24c83..792be93 100644
--- a/include/gras/callable.hpp
+++ b/include/gras/callable.hpp
@@ -6,6 +6,7 @@
#include <gras/gras.hpp>
#include <PMC/PMC.hpp>
#include <boost/shared_ptr.hpp>
+#include <vector>
#include <string>
namespace gras
@@ -34,12 +35,23 @@ namespace gras
class GRAS_API Callable
{
public:
+
//! Default constructor
Callable(void);
//! Destructor (virtual for subclasses)
virtual ~Callable(void);
+ //! Get a list of keys for registered calls
+ std::vector<std::string> get_registered_keys(void) const;
+
+protected:
+ /*!
+ * Unregister a previously registered call.
+ * Throws if the key is not found in the registry.
+ */
+ void unregister_call(const std::string &key);
+
/*******************************************************************
* Register API - don't look here, template magic, not helpful
******************************************************************/