[gnote] Move semantics for addinmanager
- From: Aurimas Černius <aurimasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnote] Move semantics for addinmanager
- Date: Mon, 21 Feb 2022 21:17:34 +0000 (UTC)
commit e4554c9786c853f9f4ff57e3eac2f7e77b820708
Author: Aurimas Černius <aurisc4 gmail com>
Date: Mon Feb 21 22:48:49 2022 +0200
Move semantics for addinmanager
src/addinmanager.cpp | 15 ++++++---------
src/addinmanager.hpp | 6 +++---
src/preferencesdialog.cpp | 4 ++--
3 files changed, 11 insertions(+), 14 deletions(-)
---
diff --git a/src/addinmanager.cpp b/src/addinmanager.cpp
index b75b686c..0f4d3748 100644
--- a/src/addinmanager.cpp
+++ b/src/addinmanager.cpp
@@ -139,29 +139,26 @@ namespace {
}
}
- void AddinManager::add_note_addin_info(const Glib::ustring & id,
- const sharp::DynamicModule * dmod)
+ void AddinManager::add_note_addin_info(Glib::ustring && id, const sharp::DynamicModule * dmod)
{
{
- const IdInfoMap::const_iterator iter
- = m_note_addin_infos.find(id);
+ const IdInfoMap::const_iterator iter = m_note_addin_infos.find(id);
if (m_note_addin_infos.end() != iter) {
ERR_OUT(_("Note plugin info %s already present"), id.c_str());
return;
}
}
- sharp::IfaceFactoryBase * const f = dmod->query_interface(
- NoteAddin::IFACE_NAME);
+ sharp::IfaceFactoryBase * const f = dmod->query_interface(NoteAddin::IFACE_NAME);
if(!f) {
ERR_OUT(_("%s does not implement %s"), id.c_str(), NoteAddin::IFACE_NAME);
return;
}
- load_note_addin(id, f);
+ load_note_addin(std::move(id), f);
}
- void AddinManager::load_note_addin(const Glib::ustring & id, sharp::IfaceFactoryBase *const f)
+ void AddinManager::load_note_addin(Glib::ustring && id, sharp::IfaceFactoryBase *const f)
{
m_note_addin_infos.insert(std::make_pair(id, f));
for(NoteAddinMap::iterator iter = m_note_addins.begin();
@@ -177,7 +174,7 @@ namespace {
NoteAddin *const addin = dynamic_cast<NoteAddin *>((*f)());
if(addin) {
addin->initialize(m_gnote, note);
- id_addin_map.insert(std::make_pair(id, addin));
+ id_addin_map.insert(std::make_pair(std::move(id), addin));
}
}
}
diff --git a/src/addinmanager.hpp b/src/addinmanager.hpp
index b18ff45f..e135d37b 100644
--- a/src/addinmanager.hpp
+++ b/src/addinmanager.hpp
@@ -1,7 +1,7 @@
/*
* gnote
*
- * Copyright (C) 2010,2012-2015,2017,2019-2020 Aurimas Cernius
+ * Copyright (C) 2010,2012-2015,2017,2019-2020,2022 Aurimas Cernius
* Copyright (C) 2009 Debarshi Ray
* Copyright (C) 2009 Hubert Figuiere
*
@@ -54,7 +54,7 @@ public:
AddinManager(IGnote & g, NoteManager & note_manager, Preferences & preferences, const Glib::ustring &
conf_dir);
~AddinManager();
- void add_note_addin_info(const Glib::ustring & id, const sharp::DynamicModule * dmod);
+ void add_note_addin_info(Glib::ustring && id, const sharp::DynamicModule * dmod);
void erase_note_addin_info(const Glib::ustring & id);
Glib::ustring & get_prefs_dir()
@@ -87,7 +87,7 @@ public:
private:
void load_addin_infos(const Glib::ustring & global_path, const Glib::ustring & local_path);
void load_addin_infos(const Glib::ustring & path);
- void load_note_addin(const Glib::ustring & id, sharp::IfaceFactoryBase *const f);
+ void load_note_addin(Glib::ustring && id, sharp::IfaceFactoryBase *const f);
std::vector<Glib::ustring> get_enabled_addins() const;
void initialize_sharp_addins();
void add_module_addins(const Glib::ustring & mod_id, sharp::DynamicModule * dmod);
diff --git a/src/preferencesdialog.cpp b/src/preferencesdialog.cpp
index 6a4440ee..282844a2 100644
--- a/src/preferencesdialog.cpp
+++ b/src/preferencesdialog.cpp
@@ -1,7 +1,7 @@
/*
* gnote
*
- * Copyright (C) 2010-2015,2017,2019-2021 Aurimas Cernius
+ * Copyright (C) 2010-2015,2017,2019-2022 Aurimas Cernius
* Copyright (C) 2009 Debarshi Ray
* Copyright (C) 2009 Hubert Figuiere
*
@@ -184,7 +184,7 @@ namespace gnote {
if (module->has_interface(NoteAddin::IFACE_NAME)) {
if (enable)
- m_addin_manager.add_note_addin_info(id, module);
+ m_addin_manager.add_note_addin_info(std::move(id), module);
else
m_addin_manager.erase_note_addin_info(id);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]