// TODO: Fully define this. It is supposed to be passed to the install_action
// callback, but what does it actually represent? Is it the actuall zone data
// there?
-class ZoneSegment {};
+//
+// The current interface is temporary, so the tests work. It will probably
+// change (and we may even fold this class to some other, because there
+// seem to be too many classes around holding zone already).
+//
+// FIXME: Who is responsible for releasing of the segment itself?
+class ZoneSegment {
+public:
+ explicit ZoneSegment(ZoneData* data) :
+ data_(data)
+ {}
+ ZoneData* getZoneData() {
+ return (data_);
+ }
+private:
+ ZoneData* data_;
+};
// TODO: Somehow specify what the ID is
class ZoneSegmentID {};
///
/// Upon successful completion, the ownership of the new zone is passed
/// to the callback and the old to the updater.
-typedef boost::function<ZoneData* (ZoneSegmentID, ZoneSegment*)> InstallAction;
+typedef boost::function<ZoneData* (const ZoneSegmentID&,
+ ZoneSegment*)> InstallAction;
/// \brief Updater implementation which loads data locally.
///
run_unittests_SOURCES += segment_object_holder_unittest.cc
run_unittests_SOURCES += memory_client_unittest.cc
run_unittests_SOURCES += zone_table_segment_unittest.cc
+run_unittests_SOURCES += zone_updater_unittest.cc
run_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES)
run_unittests_LDFLAGS = $(AM_LDFLAGS) $(GTEST_LDFLAGS)