From: Michal 'vorner' Vaner Date: Wed, 10 Oct 2012 11:44:53 +0000 (+0200) Subject: [2207] Definition of the local zone updater X-Git-Tag: trac2402_base~12^2~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c887cb05e27289bf5a80130c1a196dbbc1903234;p=thirdparty%2Fkea.git [2207] Definition of the local zone updater --- diff --git a/src/lib/datasrc/memory/zone_updater.h b/src/lib/datasrc/memory/zone_updater.h index 7bf33e6911..2b97d97639 100644 --- a/src/lib/datasrc/memory/zone_updater.h +++ b/src/lib/datasrc/memory/zone_updater.h @@ -12,10 +12,16 @@ // OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR // PERFORMANCE OF THIS SOFTWARE. +#include + 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 LoadAction; +typedef boost::function 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(); +}; + } } }