source: SMSSender/gateways/Post/business/gateway.h @ 376:0d8179eea17f

separation-frontend-backend
Last change on this file since 376:0d8179eea17f was 376:0d8179eea17f, checked in by Sämy Zehnder <saemy.zehnder@…>, 5 years ago
  • Separates backend and frontend code in the Post gateway.
File size: 1.9 KB
Line 
1/*
2  Swiss Post gateway plugin - The smssender plugin for the Swiss Post platform.
3  Copyright (C) 2011-2014, gorrión. See http://smssender.gorrion.ch
4
5  This program is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  GNU General Public License for more details.
14
15  You should have received a copy of the GNU General Public License
16  along with this program.  If not, see <http://www.gnu.org/licenses/>.
17*/
18#ifndef POST_GATEWAY_H
19#define POST_GATEWAY_H
20
21#include <QSet>
22
23#include "common/business/igateway.h"
24
25#ifdef FRONTEND_GUI
26class QIcon;
27#endif
28
29namespace Post {
30
31const QString URL_LOGIN    = "https://sso.post.ch/organizer/?login&lang=DE";
32const QString URL_SMSFORM  = "https://organizer.sso.post.ch/messages/msgSMS.html?lang=DE";
33const QString URL_SENDSMS  = "https://organizer.sso.post.ch/messages/sms_send_action.html";
34const QString URL_LOGOUT   = "https://sso.post.ch/portal/logout.do?lang=DE";
35
36const short   MAX_RECIPIENTS_PER_SMS = 10;
37
38class Gateway : public IGateway {
39    Q_INTERFACES(IGateway)
40
41public: /* IGateway */
42    QString name() const;
43
44#ifdef FRONTEND_GUI
45    QIcon icon() const;
46    IAccountSettingsWidget *createAccountSettingsWidget(QWidget *parent) const;
47#endif
48
49public: /* IGateway */
50    QList<int> validRecipientCountryCodes() const;
51    QList<QChar> doublePriceChars() const;
52    QList<QChar> disAllowedChars() const;
53
54public: /* IGateway */
55    IAccount *createAccountInstance();
56
57public: /* IStorable */
58    ::Persistence::IStorageHelper *createStorageHelper(
59            Persistence::IMainStorage *storage);
60};
61
62}
63
64#endif /* POSTATEWAY_H */
Note: See TracBrowser for help on using the repository browser.