source: SMSSender/lib/libdatatypes/src/interfaces/igateway.h @ 71:415b45c71663

3.0
Last change on this file since 71:415b45c71663 was 71:415b45c71663, checked in by Sämy Zehnder <saemy.zehnder@…>, 12 years ago
  • Reorganized all the libraries. libinterfaces and libgateways are removed now and libdatatypes contains now all these files.
File size: 1.3 KB
Line 
1/*
2 * igateway.h
3 *
4 *  Created on: Jul 9, 2009
5 *      Author: saemy
6 */
7
8#ifndef IGATEWAY_H_
9#define IGATEWAY_H_
10
11#include <QObject>
12#include <QString>
13#include <QList>
14#include <QSet>
15#include <QWidget>
16#include <QImage>
17
18#include "iinterface.h"
19
20class IAccount;
21class IContact;
22class IAccountSettingsWidget;
23class IStorage;
24
25class IGateway: public IInterface {
26    Q_INTERFACES(IInterface)
27
28public:
29    virtual QString        name() const =0;
30    virtual QImage         icon() const =0;
31    virtual QSet<int>      validRecipientCountryCodes() const =0;
32
33    virtual IAccount*      createAccountInstance() const =0;
34    virtual IAccount*      createAccountInstance(IStorage* storage) const =0;
35
36    virtual IStorage*      defaultStorage() const =0;
37    virtual void           setDefaultStorage(IStorage* storage) =0;
38
39    virtual QList<QString> splitTextToLongSMS(const QString& text) const =0;
40    virtual QList<QString> splitTextToShortSMS(const QString& text) const =0;
41
42    virtual IAccountSettingsWidget* getAccountSettingsWidget(QWidget* parent = 0) const =0;
43};
44Q_DECLARE_INTERFACE(IGateway,
45                     "ch.gorrion.smssender.IGateway/1.0")
46
47#include "iaccount.h"
48#include "icontact.h"
49#include "persistence/istorage.h"
50#include "../ui/iaccountsettingswidget.h"
51
52#endif /* IGATEWAY_H_ */
Note: See TracBrowser for help on using the repository browser.