Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • nightly/20250515.0
  • nightly/20250510.0
  • nightly/20250509.1
  • nightly/20250509.0
  • stable/20250430.1
  • stable/20250430.0
  • beta/202504301614
  • nightly/20250430.0
  • stable/20250424.1
  • beta/202504241506
  • stable/20250424.0
  • nightly/20250424.1
  • nightly/20250424.0
  • nightly/20250422.0
  • beta/202504120241
  • stable/20250411.0
  • nightly/20250411.0
  • nightly/20250331.0
  • beta/202503281438
  • stable/20250321.0
21 results

clientwrapper.h

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    clientwrapper.h 3.71 KiB
    /*
     * Copyright (C) 2019-2020 by Savoir-faire Linux
     * Author: Yang Wang   <yang.wang@savoirfairelinux.com>
     * Author: Aline Gondim Santos   <aline.gondimsantos@savoirfairelinux.com>
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License as published by
     * the Free Software Foundation; either version 3 of the License, or
     * (at your option) any later version.
     *
     * This program 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 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 <http://www.gnu.org/licenses/>.
     */
    
    #pragma once
    
    #include "accountadapter.h"
    #include "accountlistmodel.h"
    #include "audiocodeclistmodel.h"
    #include "avadapter.h"
    #include "bannedlistmodel.h"
    #include "calladapter.h"
    #include "contactadapter.h"
    #include "mediahandleradapter.h"
    #include "conversationsadapter.h"
    #include "deviceitemlistmodel.h"
    #include "pluginitemlistmodel.h"
    #include "mediahandleritemlistmodel.h"
    #include "preferenceitemlistmodel.h"
    #include "distantrenderer.h"
    #include "globalinstances.h"
    #include "globalsystemtray.h"
    #include "messagesadapter.h"
    #include "namedirectory.h"
    #include "pixbufmanipulator.h"
    #include "previewrenderer.h"
    #include "qrimageprovider.h"
    #include "settingsadaptor.h"
    #include "utils.h"
    #include "version.h"
    #include "videocodeclistmodel.h"
    
    #include <QObject>
    
    class ClientWrapper : public QObject
    {
        Q_OBJECT
    
        Q_PROPERTY(UtilsAdapter *utilsAdaptor READ getUtilsAdapter NOTIFY utilsAdaptorChanged)
        Q_PROPERTY(SettingsAdaptor *settingsAdaptor READ getSettingsAdaptor NOTIFY settingsAdaptorChanged)
        Q_PROPERTY(NameDirectory *nameDirectory READ getNameDirectory NOTIFY nameDirectoryChanged)
        Q_PROPERTY(LRCInstance *lrcInstance READ getLRCInstance NOTIFY lrcInstanceChanged)
        Q_PROPERTY(AccountAdapter *accountAdaptor READ getAccountAdapter NOTIFY accountAdaptorChanged)
        Q_PROPERTY(RenderManager *renderManager READ getRenderManager NOTIFY renderManagerChanged)
        Q_PROPERTY(lrc::api::NewAccountModel *accountModel READ getAccountModel NOTIFY accountModelChanged)
        Q_PROPERTY(lrc::api::AVModel *avmodel READ getAvModel NOTIFY avmodelChanged)
        Q_PROPERTY(lrc::api::DataTransferModel *dataTransferModel READ getDataTransferModel NOTIFY dataTransferModelChanged)
        Q_PROPERTY(lrc::api::ContactModel *contactModel READ getContactModel NOTIFY contactModelChanged)
        Q_PROPERTY(lrc::api::NewDeviceModel *deviceModel READ getDeviceModel NOTIFY deviceModelChanged)
        Q_PROPERTY(lrc::api::PluginModel *pluginModel READ getPluginModel)
    public:
        explicit ClientWrapper(QObject *parent = nullptr);
    
        NameDirectory *getNameDirectory();
        UtilsAdapter *getUtilsAdapter();
        SettingsAdaptor *getSettingsAdaptor();
        LRCInstance *getLRCInstance();
        AccountAdapter *getAccountAdapter();
    
        RenderManager *getRenderManager();
        lrc::api::NewAccountModel *getAccountModel();
        lrc::api::AVModel *getAvModel();
        lrc::api::DataTransferModel *getDataTransferModel();
    
        lrc::api::ContactModel *getContactModel();
        lrc::api::NewDeviceModel *getDeviceModel();
        lrc::api::PluginModel *getPluginModel();
    
    signals:
        void utilsAdaptorChanged();
        void settingsAdaptorChanged();
        void nameDirectoryChanged();
        void lrcInstanceChanged();
        void accountAdaptorChanged();
        void renderManagerChanged();
        void accountModelChanged();
        void avmodelChanged();
        void dataTransferModelChanged();
        void contactModelChanged();
        void deviceModelChanged();
    };
    Q_DECLARE_METATYPE(ClientWrapper *)