Commit c887cb05 authored by Michal 'vorner' Vaner's avatar Michal 'vorner' Vaner
Browse files

[2207] Definition of the local zone updater

parent b59e1eb4
......@@ -12,10 +12,16 @@
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.
#include <boost/function.hpp>
namespace isc {
namespace datasrc {
namespace memory {
// Forward declarations
class ZoneData;
class ZoneTableSegment;
/// \brief Does an update to a zone.
///
/// This abstract base class represents the work of a reload of a zone.
......@@ -70,6 +76,26 @@ public:
virtual void cleanup() = 0;
};
// 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 {};
// TODO: Somehow specify what the ID is
class ZoneSegmentID {};
typedef boost::function<void(ZoneData*)> LoadAction;
typedef boost::function<ZoneData* (ZoneSegmentID, ZoneSegment*)> InstallAction;
class ZoneUpdaterLocal : public ZoneUpdater {
public:
ZoneUpdaterLocal(ZoneTableSegment* segment, const LoadAction& load_action,
const InstallAction& install_action);
~ ZoneUpdaterLocal();
virtual void load();
virtual void install();
virtual void cleanup();
};
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment