summaryrefslogtreecommitdiffstats
path: root/tdecore/networkbackends/network-manager/network-manager_p.h
blob: 474f628bb71135c669c97cf34cd1192ef0fc4694 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/* This file is part of the TDE libraries
   Copyright (C) 2012 Timothy Pearson <kb9vqf@pearsoncomputing.net>

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public
   License version 2 as published by the Free Software Foundation.

   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public License
   along with this library; see the file COPYING.LIB.  If not, write to
   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, USA.
*/

#ifndef _TDENETWORKBACKEND_NETWORKMANAGER_P_H
#define _TDENETWORKBACKEND_NETWORKMANAGER_P_H

/* TQt headers */
#include <tqvaluelist.h>
#include <tqapplication.h>
#include <tqtimer.h>
#include <tquuid.h>

/* TDE headers */
#include <kdebug.h>
#include <klocale.h>

/* TQDbus headers */
#include <tqdbusconnection.h>
#include <tqdbusobjectpath.h>
#include <tqdbusdata.h>
#include <tqdbuserror.h>
#include <tqdbusdatamap.h>
#include <tqdbusvariant.h>
#include <tqdbusdatalist.h>

/* NM headers */
//#include <NetworkManager.h>

/* Proxy headers */
#include "networkmanagerproxy.h"
#include "networkmanagersettings.h"
#include "connectionsettings.h"
#include "deviceproxy.h"
#include "ethernetproxy.h"
#include "infinibandproxy.h"
#include "wifiproxy.h"
#include "wimaxproxy.h"
#include "bluetoothproxy.h"
#include "olpcmeshproxy.h"
#include "activeconnectionproxy.h"
#include "accesspointproxy.h"
#include "vpnpluginproxy.h"

typedef TQT_DBusDataMap<TQString> TQT_DBusTQStringDataMap;
typedef TQValueList<TQT_DBusData> TQT_DBusDataValueList;

typedef TQMap<uint, bool> NMAsyncCallIDMap;
typedef TQMap<uint, TQT_DBusTQStringDataMap> NMAsyncSettingsResponseMap;
typedef TQMap<uint, TQT_DBusObjectPath> NMAddConnectionAsyncResponseMap;

typedef TQValueList<TQT_DBusObjectPath> TQT_DBusObjectPathList;

class TDENetworkConnectionManager_BackendNM;
class TDENetworkConnectionManager_BackendNMPrivate;

class TDENetworkConnectionManager_BackendNM_DBusSignalReceiver : public TQObject
{
	Q_OBJECT

	public:
		TDENetworkConnectionManager_BackendNM_DBusSignalReceiver(TDENetworkConnectionManager_BackendNMPrivate*);
		~TDENetworkConnectionManager_BackendNM_DBusSignalReceiver();

	public slots:
		void dbusSignal(const TQT_DBusMessage&);

	private:
		TDENetworkConnectionManager_BackendNMPrivate* m_parent;
};

class TDENetworkConnectionManager_BackendNMPrivate : public TQObject
{
	Q_OBJECT

	public:
		TDENetworkConnectionManager_BackendNMPrivate(TDENetworkConnectionManager_BackendNM*);
		~TDENetworkConnectionManager_BackendNMPrivate();

	public:
		DBus::NetworkManagerProxy* m_networkManagerProxy;
		DBus::SettingsInterface* m_networkManagerSettings;
		DBus::DeviceProxy* m_networkDeviceProxy;
		DBus::WiFiDeviceProxy* m_wiFiDeviceProxy;
		DBus::VPNPluginProxy* m_vpnProxy;
		NMAsyncCallIDMap nmConnectionSettingsAsyncCallWaiting;
		NMAsyncSettingsResponseMap nmConnectionSettingsAsyncSettingsResponse;
		NMAddConnectionAsyncResponseMap nmAddConnectionAsyncResponse;
		bool nonReentrantCallActive;
		TQString m_dbusDeviceString;

	public slots:
		void processConnectionSettingsAsyncReply(int, const TQT_DBusDataMap<TQString>&);
		void processConnectionSettingsUpdateAsyncReply(int);
		void processAddConnectionAsyncReply(int, const TQT_DBusObjectPath&);

		void internalProcessGlobalStateChanged(TQ_UINT32 state);
		void internalProcessVPNStateChanged(TQ_UINT32 state);
		void internalProcessVPNLoginBanner(const TQString& banner);
		void internalProcessVPNFailure(TQ_UINT32 reason);
		void internalProcessDeviceStateChanged(TQ_UINT32 newState, TQ_UINT32 oldState, TQ_UINT32 reason);
		void internalProcessWiFiAccessPointAdded(const TQT_DBusObjectPath&);
		void internalProcessWiFiAccessPointRemoved(const TQT_DBusObjectPath&);
		void internalProcessWiFiPropertiesChanged(const TQMap<TQString, TQT_DBusVariant>&);
		void internalProcessAPPropertiesChanged(const TQMap<TQString, TQT_DBusVariant>&);

	private:
		TDENetworkConnectionManager_BackendNM* m_parent;
		TQMap<TQString, DBus::AccessPointProxy*> m_accessPointProxyList;
		TQT_DBusConnection *m_dbusSignalConnection;
		TDENetworkConnectionManager_BackendNM_DBusSignalReceiver *m_dbusSignalReceiver;
		int m_prevDeviceState;

		friend class TDENetworkConnectionManager_BackendNM_DBusSignalReceiver;
};

#endif // _TDENETWORKBACKEND_NETWORKMANAGER_P_H