Added ChangedEvent.
diff --git a/ndn-cpp/util/changed-event.hpp b/ndn-cpp/util/changed-event.hpp
new file mode 100644
index 0000000..3bac8b6
--- /dev/null
+++ b/ndn-cpp/util/changed-event.hpp
@@ -0,0 +1,44 @@
+/**
+ * Copyright (C) 2013 Regents of the University of California.
+ * @author: Jeff Thompson <jefft0@remap.ucla.edu>
+ * See COPYING for copyright and distribution information.
+ */
+
+#ifndef NDN_CHANGED_EVENT_HPP
+#define NDN_CHANGED_EVENT_HPP
+
+#include <vector>
+#include "../common.hpp"
+
+namespace ndn {
+
+/**
+ * An OnChanged function object is called to notify a listener of a changed event.
+ */
+typedef func_lib::function<void()> OnChanged;
+
+class ChangedEvent {
+public:
+ /**
+ * Add onChanged to the listener list. This does not check if a duplicate is already in the list.
+ * @param onChanged The OnChanged function object.
+ */
+ void add(OnChanged onChanged)
+ {
+ listeners_.push_back(onChanged);
+ }
+
+ /**
+ * Call all the listeners.
+ */
+ void fire();
+
+#if 0
+private:
+#endif
+ std::vector<OnChanged> listeners_;
+};
+
+}
+
+#endif