From a7d83f19b08eb4c6f79a82fe60c2b86db13f4420 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 24 Nov 2018 13:44:03 +0100 Subject: Squashed 'waflib/' changes from 6e726eb1..5ea8f99f 5ea8f99f Improve test output spacing 0e23b29f Raise exception when test suite fails to ensure non-zero exit status d6de073b Show run time of unit tests 5b655541 Add short configure option for ultra-strict flags 4687ba6d Use gtest-like test output 258903d9 Fix failure count in test group summaries da07e738 Fix verbose tests with Python 3 git-subtree-dir: waflib git-subtree-split: 5ea8f99f6e1246079c1fe6bb590c38a53aadd40d --- src/client/ObjectModel.cpp | 108 --------------------------------------------- 1 file changed, 108 deletions(-) delete mode 100644 src/client/ObjectModel.cpp (limited to 'src/client/ObjectModel.cpp') diff --git a/src/client/ObjectModel.cpp b/src/client/ObjectModel.cpp deleted file mode 100644 index 8d40b120..00000000 --- a/src/client/ObjectModel.cpp +++ /dev/null @@ -1,108 +0,0 @@ -/* - This file is part of Ingen. - Copyright 2007-2015 David Robillard - - Ingen is free software: you can redistribute it and/or modify it under the - terms of the GNU Affero General Public License as published by the Free - Software Foundation, either version 3 of the License, or any later version. - - Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU Affero General Public License for details. - - You should have received a copy of the GNU Affero General Public License - along with Ingen. If not, see . -*/ - -#include "ingen/Node.hpp" -#include "ingen/URIs.hpp" -#include "ingen/client/ObjectModel.hpp" - -namespace Ingen { -namespace Client { - -ObjectModel::ObjectModel(URIs& uris, const Raul::Path& path) - : Node(uris, path) - , _path(path) - , _symbol((path == "/") ? "root" : path.symbol()) -{ -} - -ObjectModel::ObjectModel(const ObjectModel& copy) - : Node(copy) - , _parent(copy._parent) - , _path(copy._path) - , _symbol(copy._symbol) -{ -} - -bool -ObjectModel::is_a(const URIs::Quark& type) const -{ - return has_property(_uris.rdf_type, type); -} - -void -ObjectModel::on_property(const URI& uri, const Atom& value) -{ - _signal_property.emit(uri, value); -} - -void -ObjectModel::on_property_removed(const URI& uri, const Atom& value) -{ - _signal_property_removed.emit(uri, value); -} - -const Atom& -ObjectModel::get_property(const URI& key) const -{ - static const Atom null_atom; - auto i = properties().find(key); - return (i != properties().end()) ? i->second : null_atom; -} - -bool -ObjectModel::polyphonic() const -{ - const Atom& polyphonic = get_property(_uris.ingen_polyphonic); - return (polyphonic.is_valid() && polyphonic.get()); -} - -/** Merge the data of `o` with self, as much as possible. - * - * This will merge the two models, but with any conflict take the value in - * `o` as correct. The paths of the two models MUST be equal. - */ -void -ObjectModel::set(SPtr o) -{ - assert(_path == o->path()); - if (o->_parent) { - _parent = o->_parent; - } - - for (auto v : o->properties()) { - Resource::set_property(v.first, v.second); - _signal_property.emit(v.first, v.second); - } -} - -void -ObjectModel::set_path(const Raul::Path& p) -{ - _path = p; - _symbol = Raul::Symbol(p.is_root() ? "root" : p.symbol()); - set_uri(path_to_uri(p)); - _signal_moved.emit(); -} - -void -ObjectModel::set_parent(SPtr p) -{ - assert(_path.is_child_of(p->path())); - _parent = p; -} - -} // namespace Client -} // namespace Ingen -- cgit v1.2.1