1 /* 2 * %kadu copyright begin% 3 * Copyright 2016 Rafał Przemysław Malinowski (rafal.przemyslaw.malinowski@gmail.com) 4 * %kadu copyright end% 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License as 8 * published by the Free Software Foundation; either version 2 of 9 * the License, or (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 #pragma once 21 22 #include "exports.h" 23 24 #include <QtCore/QObject> 25 #include <QtCore/QPointer> 26 #include <injeqt/injeqt.h> 27 #include <memory> 28 29 class AccountStorage; 30 class AvatarManager; 31 class BuddyStorage; 32 class Buddy; 33 class ContactStorage; 34 class IconsManager; 35 class IdentityStorage; 36 class InjectedFactory; 37 class StoragePoint; 38 39 class KADUAPI BuddyDummyFactory : public QObject 40 { 41 Q_OBJECT 42 43 public: 44 Q_INVOKABLE explicit BuddyDummyFactory(QObject *parent = nullptr); 45 virtual ~BuddyDummyFactory(); 46 47 Buddy dummy(); 48 49 private: 50 QPointer<AccountStorage> m_accountStorage; 51 QPointer<AvatarManager> m_avatarManager; 52 QPointer<BuddyStorage> m_buddyStorage; 53 QPointer<ContactStorage> m_contactStorage; 54 QPointer<IconsManager> m_iconsManager; 55 QPointer<IdentityStorage> m_identityStorage; 56 QPointer<InjectedFactory> m_injectedFactory; 57 58 private slots: 59 INJEQT_SET void setAccountStorage(AccountStorage *accountStorage); 60 INJEQT_SET void setAvatarManager(AvatarManager *avatarManager); 61 INJEQT_SET void setBuddyStorage(BuddyStorage *buddyStorage); 62 INJEQT_SET void setContactStorage(ContactStorage *contactStorage); 63 INJEQT_SET void setIconsManager(IconsManager *iconsManager); 64 INJEQT_SET void setIdentityStorage(IdentityStorage *identityStorage); 65 INJEQT_SET void setInjectedFactory(InjectedFactory *injectedFactory); 66 67 }; 68