not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / libs / solid / control / networkgsminterface.h
blob38a981f3249a5ffdc43c63621b270a10bdc26641
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 SOLID_CONTROL_GSMNETWORKINTERFACE_H
22 #define SOLID_CONTROL_GSMNETWORKINTERFACE_H
24 #include "networkserialinterface.h"
26 namespace Solid
28 namespace Control
30 class GsmNetworkInterfacePrivate;
31 /**
32 * This interface represents a GSM cellular network interface
34 class SOLIDCONTROL_EXPORT GsmNetworkInterface : public SerialNetworkInterface
36 Q_OBJECT
37 Q_DECLARE_PRIVATE(GsmNetworkInterface)
39 public:
40 /**
41 * Creates a new GsmNetworkInterface object.
43 * @param backendObject the network object provided by the backend
45 GsmNetworkInterface(QObject *backendObject = 0);
47 /**
48 * Constructs a copy of a network.
50 * @param network the network to copy
52 GsmNetworkInterface(const GsmNetworkInterface &network);
54 /**
55 * Destroys a GsmNetworkInterface object.
57 virtual ~GsmNetworkInterface();
59 /**
60 * The NetworkInterface type.
62 * @return the NetworkInterface::Type. This always returns NetworkInterface::Ieee8023
64 virtual NetworkInterface::Type type() const;
66 Q_SIGNALS:
67 protected:
68 /**
69 * @internal
71 GsmNetworkInterface(GsmNetworkInterfacePrivate &dd, QObject *backendObject);
73 /**
74 * @internal
76 GsmNetworkInterface(GsmNetworkInterfacePrivate &dd, const GsmNetworkInterface &network);
78 void makeConnections(QObject * source);
79 private Q_SLOTS:
80 void _k_destroyed(QObject *object);
81 private:
82 friend class NetworkInterface;
83 friend class NetworkInterfacePrivate;
85 } //Control
86 } //Solid
88 #endif // SOLID_CONTROL_GSMNETWORKINTERFACE_H