X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Felement_import_handler.h;h=be2e3fafb0effdf68be74197e2c3696054b373a3;hb=bb9cc45cd22af67ac275a5e73accbe14fee664d8;hp=9393c315595855b86bb32e308fe697281e48a9cf;hpb=572fa80aa713e723f63e1e1822db614307eea6af;p=ardour.git diff --git a/libs/ardour/ardour/element_import_handler.h b/libs/ardour/ardour/element_import_handler.h index 9393c31559..be2e3fafb0 100644 --- a/libs/ardour/ardour/element_import_handler.h +++ b/libs/ardour/ardour/element_import_handler.h @@ -23,10 +23,10 @@ #include #include +#include #include -using std::string; class XMLTree; namespace ARDOUR { @@ -34,7 +34,7 @@ namespace ARDOUR { class Session; class ElementImporter; -/// Virtual interface class for element import handlers +/// Virtual interface class for element import handlers class ElementImportHandler { public: @@ -48,61 +48,61 @@ class ElementImportHandler * @param source XML tree to be parsed * @see elements */ - ElementImportHandler (XMLTree const & source, ARDOUR::Session & session) : - source (source), session (session) { } - + ElementImportHandler (XMLTree const & source, ARDOUR::Session & session) + : source (source), session (session) { } + virtual ~ElementImportHandler (); - + /** Gets a textual representation of the element type * @return textual representation of element type */ - virtual string get_info () const = 0; - + virtual std::string get_info () const = 0; + /// Elements this handler handles ElementList elements; - + /* For checking duplicates names against queued elements */ - + /** Checks whether or not an element with some name is queued or not * @param name name to check * @return true if name is not used */ - bool check_name (const string & name) const; - + bool check_name (const std::string & name) const; + /// Adds name to the list of used names - void add_name (string name); - + void add_name (std::string name); + /// Removes name from the list of used names - void remove_name (const string & name); - + void remove_name (const std::string & name); + /// Checks wheter or not all elements can be imported cleanly static bool dirty () { return _dirty; } - + /// Sets handler dirty static void set_dirty () { _dirty = true; } - + /// Checks wheter or not all elements were imported cleanly static bool errors () { return _errors; } - + /// Sets handler dirty static void set_errors () { _errors = true; } protected: /// Source session XML tree XMLTree const & source; - + /// Destination session ARDOUR::Session & session; - + /// Session XML readability static bool _dirty; - + /// Errors post initialization static bool _errors; - + private: - /// List of names for duplicate checking - std::list names; + /// Set of names for duplicate checking + std::set names; }; } // namespace ARDOUR