source: SMSSender/lib/libdatatypes/src/interfaces/iaccount.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: 2.1 KB
Line 
1/*
2 * iaccount.h
3 *
4 *  Created on: Apr 29, 2009
5 *      Author: saemy
6 */
7
8#ifndef IACCOUNT_H_
9#define IACCOUNT_H_
10
11#include <QObject>
12#include <QString>
13#include <QSet>
14
15#include "istorable.h"
16#include "ivalidatable.h"
17
18class IContact;
19class IGateway;
20class SAccountEventMapper;
21
22namespace Account {
23    class Status {
24    public:
25        static const QString Idle;
26        static const QString Error;
27        static const QString RemovingRecipients;
28        static const QString AddingRecipients;
29        static const QString SendingSMS;
30        static const QString SMSSent;
31    };
32}
33
34class IAccount: public IStorable, public IValidatable {
35    Q_INTERFACES(IStorable IValidatable)
36
37public:
38    virtual IGateway* gateway() const =0;
39
40//    virtual QWidget   getSettingsFrame() =0;
41
42    virtual int       id() const =0;
43    virtual void      setId(int id) =0;
44
45    virtual QString   name() const =0;
46    virtual void      setName(const QString& name) =0;
47
48    virtual int       freeSMSCount() const =0;
49
50    virtual bool      isEnabled() const =0;
51    virtual void      setEnabled(bool enabled) =0;
52
53    virtual void      initialize() =0;
54    virtual bool      isInitializing() =0;
55    virtual bool      isInitialized() =0;
56    virtual void      stopInitializing() =0;
57    virtual void      unInitialize() =0;
58
59    virtual void      sendSMS(const QString& message, const QSet<IContact*>& recipients) =0;
60    virtual bool      isSendingCanceled() =0;
61    virtual void      cancelSMSSending() =0;
62
63    virtual IAccount* getClonedInstance() const =0;
64
65    virtual SAccountEventMapper* eventMapper() const =0;
66
67protected:
68    enum ProgressMethod {
69        IncProgress,
70        SetProgress
71    };
72
73    virtual void      setStatus(const QString& status, int progress = -1, const ProgressMethod& progressMethod = SetProgress) =0;
74    virtual void      setProgress(int progress, const ProgressMethod& progressMethod = SetProgress) =0;
75
76    virtual void      uncancelSendingSMS() =0;
77};
78Q_DECLARE_INTERFACE(IAccount,
79                     "ch.gorrion.smssender.IAccount/1.0")
80
81#include "icontact.h"
82#include "igateway.h"
83#include "eventmappers/saccounteventmapper.h"
84
85#endif /* IACCOUNT_H_ */
Note: See TracBrowser for help on using the repository browser.