File indexing completed on 2024-04-14 14:20:37

0001 /*
0002     Copyright 2007 Will Stephenson <wstephenson@kde.org>
0003 
0004     This library is free software; you can redistribute it and/or
0005     modify it under the terms of the GNU Lesser General Public
0006     License as published by the Free Software Foundation; either
0007     version 2.1 of the License, or (at your option) version 3, or any
0008     later version accepted by the membership of KDE e.V. (or its
0009     successor approved by the membership of KDE e.V.), which shall
0010     act as a proxy defined in Section 6 of version 3 of the license.
0011 
0012     This library is distributed in the hope that it will be useful,
0013     but WITHOUT ANY WARRANTY; without even the implied warranty of
0014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0015     Lesser General Public License for more details.
0016 
0017     You should have received a copy of the GNU Lesser General Public
0018     License along with this library. If not, see <http://www.gnu.org/licenses/>.
0019 */
0020 
0021 #ifndef KTESTNETWORKSTATUS_H
0022 #define KTESTNETWORKSTATUS_H
0023 
0024 #include <QApplication>
0025 #include <QMainWindow>
0026 
0027 #include "solid/networking.h"
0028 
0029 #include "ui_networkingclientview.h"
0030 
0031 /**
0032  * Test client that uses a ConnectionManager to change its state
0033  *
0034  * @short Main window class
0035  * @author Will Stephenson <wstephenson@kde.org>
0036  * @version 0.1
0037  */
0038 class TestClient : public QMainWindow
0039 {
0040     Q_OBJECT
0041 public:
0042     enum AppStatus { AppDisconnected, AppWaitingForConnect, AppConnected };
0043     /**
0044      * Default Constructor
0045      */
0046     TestClient();
0047 
0048     /**
0049      * Default Destructor
0050      */
0051     ~TestClient() override;
0052 
0053 private Q_SLOTS:
0054     void networkStatusChanged(Solid::Networking::Status status);
0055     void connectButtonClicked();
0056     void doConnect();
0057     void doDisconnect();
0058 private:
0059     void appWaiting();
0060     void appEstablishing();
0061     void appIsConnected();
0062     void appDisestablishing();
0063     void appDisconnected();
0064     static QColor toQColor(TestClient::AppStatus);
0065 private:
0066     //OrgKdeSolidNetworkingClientInterface *m_service;
0067     Ui_TestClientView ui;
0068     AppStatus m_status; // this represents the app's status not the network's status
0069     QWidget *m_view;
0070 };
0071 
0072 #endif // KTESTNETWORKSTATUS_H
0073