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
132
133
|
/***************************************************************************
*
* knetworkmanager-connection.h - A NetworkManager frontend for KDE
*
* Copyright (C) 2005, 2006 Novell, Inc.
*
* Author: Helmut Schaa <[email protected]>, <[email protected]>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
**************************************************************************/
#ifndef KNETWORKMANAGER_CONNECTION_H
#define KNETWORKMANAGER_CONNECTION_H
#include <tqmap.h>
#include <tqobject.h>
#include "knetworkmanager-connection_setting.h"
#include "dbus/connection.h"
#include "dbus/connectionnode.h"
class AccessPoint;
class TQT_DBusObjectPath;
namespace ConnectionSettings
{
class WirelessSecurity;
class Connection;
class ConnectionSetting;
class ConnectionPrivate;
class Info;
class Wired;
class Wireless;
class WirelessSecurity;
class IPv4;
typedef TQMap<TQString, SettingsMap> ConnectionMap;
// a connection wraps multiple settings
class Connection : public TQObject, DBus::ConnectionNode
{
Q_OBJECT
public:
Connection();
virtual ~Connection();
virtual TQString getID() const = 0;
virtual void setID(const TQString& id) = 0;
// get a specific setting
ConnectionSetting* getSetting(const TQString&) const;
// get all settings of this connection
TQValueList<ConnectionSetting*> getSettings() const;
// attach a new setting
virtual void appendSetting(ConnectionSetting* setting);
// ugly stuff introduced by NM
void setSpecificObject(const TQString&);
TQString getSpecificObject() const;
// sometimes its usefull to have the object_path
TQT_DBusObjectPath getObjectPath() const;
// is the connection valid?
virtual bool isValid() const;
// the connections type (only for KNM use)
virtual TQString getType();
// duplicate
virtual Connection* duplicate() = 0;
// update the settings from another connection
void updateSettings(Connection*);
// true if the NM requested new secrets for this connection
bool awaitingSecrets();
public slots:
// gets called from NM when it needs the secrets
void slotSecretsNeeded(const TQString& setting_name, const TQStringList& hints, bool request_new);
// gets called when the GUI provided new secrets
void slotSecretsProvided(ConnectionSetting* setting);
// signal a failure in getting new secrets
void slotSecretsError();
// gets called when a settings validity changes
void slotSettingValidityChanged();
// gets called when the connection is about to be removed
void slotAboutToBeRemoved();
// gets called when the connections settings changed
void slotUpdated();
protected:
// implementations for ConnectionNode
TQT_DBusObjectBase* createInterface(const TQString& interfaceName);
TQString objectPath() const;
signals:
// signal when we need new secrets
void SecretsNeeded(Connection* connection, ConnectionSetting* setting, const TQStringList& hints, bool request_new);
// signal gets emitted when connections validity changes
void validityChanged();
private:
ConnectionPrivate* d;
};
}
#endif /* KNETWORKMANAGER_CONNECTION_H */
|