1 /*
2     SPDX-FileCopyrightText: 2015-2017 Krzysztof Nowicki <krissn@op.pl>
3 
4     SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include <QSharedPointer>
10 #include <QTimer>
11 
12 #include "ewseventrequestbase.h"
13 #include "ewsid.h"
14 #include "ewstypes.h"
15 
16 class EwsGetStreamingEventsRequest : public EwsEventRequestBase
17 {
18     Q_OBJECT
19 public:
20     EwsGetStreamingEventsRequest(EwsClient &client, QObject *parent);
21     ~EwsGetStreamingEventsRequest() override;
22 
setTimeout(uint timeout)23     void setTimeout(uint timeout)
24     {
25         mTimeout = timeout;
26     }
27 
28     void start() override;
29 public Q_SLOTS:
30     void eventsProcessed(const EwsEventRequestBase::Response &response);
31 Q_SIGNALS:
32     void eventsReceived(KJob *job);
33 protected Q_SLOTS:
34     void requestData(KIO::Job *job, const QByteArray &data) override;
35     void requestDataTimeout();
36 
37 protected:
38     uint mTimeout;
39     QTimer mRespTimer;
40 };
41 
42