From b5996d6441811eda94b738e79b4d673f3375e6f0 Mon Sep 17 00:00:00 2001 From: Robert Tari Date: Fri, 2 Jul 2021 02:01:24 +0200 Subject: Drop myself.[h|cpp] --- include/datetime/myself.h | 62 ------------------------------------- src/myself.cpp | 79 ----------------------------------------------- 2 files changed, 141 deletions(-) delete mode 100644 include/datetime/myself.h delete mode 100644 src/myself.cpp diff --git a/include/datetime/myself.h b/include/datetime/myself.h deleted file mode 100644 index 67e938d..0000000 --- a/include/datetime/myself.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2016 Canonical Ltd. - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 3, as published - * by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranties of - * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR - * PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - * - * Authors: - * Renato Araujo Oliveira Filho - */ - -#ifndef INDICATOR_DATETIME_MYSELF_H -#define INDICATOR_DATETIME_MYSELF_H - -#include - -#include -#include -#include -#include - -typedef struct _AgManager AgManager; - -namespace ayatana { -namespace indicator { -namespace datetime { - -class Myself -{ -public: - Myself(); - - const core::Property>& emails() - { - return m_emails; - } - - bool isMyEmail(const std::string &email); - -private: - std::shared_ptr m_accounts_manager; - core::Property > m_emails; - - static void on_accounts_changed(AgManager*, guint, Myself*); - void reloadEmails(); - -}; - - -} // namespace datetime -} // namespace indicator -} // namespace ayatana - -#endif // INDICATOR_DATETIME_MYSELF_H diff --git a/src/myself.cpp b/src/myself.cpp deleted file mode 100644 index 9c02054..0000000 --- a/src/myself.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2016 Canonical Ltd. - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 3, as published - * by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranties of - * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR - * PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - * - * Authors: - * Renato Araujo Oliveira Filho - */ - -#include "datetime/myself.h" - -#if GLIB_CHECK_VERSION(2, 66, 0) - #include -#else - #include -#endif - -#include - -namespace ayatana { -namespace indicator { -namespace datetime { - -Myself::Myself() - : m_accounts_manager(ag_manager_new(), g_object_unref) -{ - reloadEmails(); - g_object_connect(m_accounts_manager.get(), - "signal::account-created", on_accounts_changed, this, - "signal::account-deleted", on_accounts_changed, this, - "signal::account-updated", on_accounts_changed, this, - nullptr); -} - -bool Myself::isMyEmail(const std::string &email) -{ - return m_emails.get().count(email) > 0; -} - -void Myself::on_accounts_changed(AgManager *, guint, Myself *self) -{ - self->reloadEmails(); -} - -void Myself::reloadEmails() -{ - std::set emails; - - auto manager = m_accounts_manager.get(); - auto ids = ag_manager_list(manager); - for (auto l=ids; l!=nullptr; l=l->next) - { - auto acc = ag_manager_get_account(manager, GPOINTER_TO_UINT(l->data)); - if (acc) { - auto account_name = ag_account_get_display_name(acc); - if (account_name != nullptr) - emails.insert(account_name); - g_object_unref(acc); - } - } - ag_manager_list_free(ids); - - m_emails.set(emails); -} - -} // namespace datetime -} // namespace indicator -} // namespace ayatana - -- cgit v1.2.3