X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fxml%2Flog-builder.h;h=0a161d18f71d5e0597a464a3547edbc9622cf3d0;hb=dc04c2a317d9e7ea799d78d5b4e9bf28997ca46f;hp=dc68a4f4a7f4f0bef140b93b081a39d11afbd483;hpb=e7cd2ec3e1687a262ebe95e5ac7a47f8ab147ce2;p=inkscape.git diff --git a/src/xml/log-builder.h b/src/xml/log-builder.h index dc68a4f4a..0a161d18f 100644 --- a/src/xml/log-builder.h +++ b/src/xml/log-builder.h @@ -1,7 +1,7 @@ -/* - * Inkscape::XML::LogBuilder - NodeObserver which builds an event log - * - * Copyright 2005 MenTaLguY +/** @file + * @brief Object building an event log + */ +/* Copyright 2005 MenTaLguY * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -9,28 +9,45 @@ * of the License, or (at your option) any later version. * * See the file COPYING for details. - * */ #ifndef SEEN_INKSCAPE_XML_LOG_BUILDER_H #define SEEN_INKSCAPE_XML_LOG_BUILDER_H #include "gc-managed.h" +#include "xml/xml-forward.h" #include "xml/node-observer.h" namespace Inkscape { namespace XML { -class Event; - +/** + * @brief Event log builder + * + * This object records all events sent to it via the public methods in an internal event log. + * Calling detach() then returns the built log. Calling discard() will clear all the events + * recorded so far. + */ class LogBuilder { public: LogBuilder() : _log(NULL) {} ~LogBuilder() { discard(); } + /** @name Manipulate the recorded event log + * @{ */ + /** + * @brief Clear the internal log + */ void discard(); + /** + * @brief Get the internal event log + * @return The recorded event chain + */ Event *detach(); + /*@}*/ + /** @name Record events in the log + * @{ */ void addChild(Node &node, Node &child, Node *prev); void removeChild(Node &node, Node &child, Node *prev); @@ -39,12 +56,13 @@ public: Node *old_prev, Node *new_prev); void setContent(Node &node, - Util::shared_ptr old_content, - Util::shared_ptr new_content); + Util::ptr_shared old_content, + Util::ptr_shared new_content); void setAttribute(Node &node, GQuark name, - Util::shared_ptr old_value, - Util::shared_ptr new_value); + Util::ptr_shared old_value, + Util::ptr_shared new_value); + /*@}*/ private: Event *_log;