not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / libs / solid / control / ifaces / wirelessaccesspoint.h
blob315faefffc06179ad1d867de9018397e457bfa4a
1 /*
2 Copyright 2008 Will Stephenson <wstephenson@kde.org>
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) version 3, or any
8 later version accepted by the membership of KDE e.V. (or its
9 successor approved by the membership of KDE e.V.), which shall
10 act as a proxy defined in Section 6 of version 3 of the license.
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
17 You should have received a copy of the GNU Lesser General Public
18 License along with this library. If not, see <http://www.gnu.org/licenses/>.
21 #ifndef SOLIDCONTROL_IFACES_WIRELESSAP_H
22 #define SOLIDCONTROL_IFACES_WIRELESSAP_H
24 #include "../solid_control_export.h"
25 #include "../wirelessaccesspoint.h"
26 #include "../wirelessnetworkinterface.h"
28 namespace Solid
30 namespace Control
32 namespace Ifaces
34 /**
35 * A wireless Access Point or another station acting in ad-hoc mode
37 class SOLIDCONTROLIFACES_EXPORT AccessPoint : public QObject
39 Q_OBJECT
40 public:
41 AccessPoint(QObject *);
42 /**
43 * Destructor
45 virtual ~AccessPoint();
47 /**
48 * Unique identifer for this access point
50 virtual QString uni() const = 0;
52 /**
53 * Flags describing the capabilities of the access point
55 virtual Solid::Control::AccessPoint::Capabilities capabilities() const = 0;
57 /**
58 * Flags describing the access point's capabilities according to WPA (Wifi Protected Access)
60 virtual Solid::Control::AccessPoint::WpaFlags wpaFlags() const = 0;
62 /**
63 * Flags describing the access point's capabilities according to RSN (Robust Secure Network)
64 * aka WPA2
66 virtual Solid::Control::AccessPoint::WpaFlags rsnFlags() const = 0;
68 /**
69 * The Service Set Identifier of the access point
71 virtual QString ssid() const = 0;
73 /**
74 * Retrieves the frequency in MHz of the radio channel that this access point is operating on
76 * @return the frequency
78 virtual uint frequency() const = 0;
80 /**
81 * The hardware address assigned to the access point's wireless interface, in hex-and-colon
82 * form
84 virtual QString hardwareAddress() const = 0;
86 /**
87 * Retrieves the maximum bit rate currently attainable by this device.
89 * @return the maximum bitrate in kilobit/s
91 virtual uint maxBitRate() const = 0;
93 /**
94 * Retrieves the operation mode of this access point
96 * @return the current mode
97 * @see Solid::Control::WirelessNetworkInterface::OperationMode
99 virtual Solid::Control::WirelessNetworkInterface::OperationMode mode() const = 0;
102 * Retrieves the current signal strength of this wifi network.
104 * @return the signal strength as a percentage
106 virtual int signalStrength() const = 0;
108 Q_SIGNALS:
110 * This signal is emitted when the signal strength of this network has changed.
112 * @param strength the new signal strength value for this network
114 void signalStrengthChanged(int strength);
117 * This signal is emitted when the bitrate of this network has changed.
119 * @param bitrate the new bitrate value for this network
121 void bitRateChanged(int bitrate);
124 * This signal is emitted when the WPA flags in use by this access point change
126 * @param flags the new flags
128 void wpaFlagsChanged(Solid::Control::AccessPoint::WpaFlags flags);
131 * This signal is emitted when the RSN(WPA2) flags in use by this access point change
133 * @param flags the new flags
135 void rsnFlagsChanged(Solid::Control::AccessPoint::WpaFlags flags);
137 * This signal is emitted when the ssid of this Access Point changes
139 * @param ssid the new SSID
141 void ssidChanged(const QString &ssid);
144 * This signal is emitted when the frequency used by this Access Point changes
146 * @param frequency the new frequency
148 void frequencyChanged(uint frequency);
154 Q_DECLARE_INTERFACE(Solid::Control::Ifaces::AccessPoint, "org.kde.Solid.Control.Ifaces.AccessPoint/0.1")
156 #endif // SOLIDCONTROL_IFACES_WIRELESSAP_H