1 /* 2 Drawpile - a collaborative drawing program. 3 4 Copyright (C) 2019 Calle Laakkonen 5 6 Drawpile is free software: you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation, either version 3 of the License, or 9 (at your option) any later version. 10 11 Drawpile 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 Drawpile. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef THINSERVERCLIENT_H 21 #define THINSERVERCLIENT_H 22 23 #include "client.h" 24 25 namespace server { 26 27 class ThinServerClient : public Client 28 { 29 public: 30 ThinServerClient(QTcpSocket *socket, ServerLog *logger, QObject *parent=nullptr); 31 32 /** 33 * @brief Get this client's position in the session history 34 * The returned index in the index of the last history message that 35 * is (or was) in the client's upload queue. 36 */ historyPosition()37 int historyPosition() const { return m_historyPosition; } 38 setHistoryPosition(int pos)39 void setHistoryPosition(int pos) { m_historyPosition = pos; } 40 41 public slots: 42 void sendNextHistoryBatch(); 43 44 private: 45 int m_historyPosition; 46 }; 47 48 } 49 50 #endif // THINSERVERCLIENT_H 51