not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / libs / solid / control / networkserialinterface.h
blob0525cbb97f4f93f8a63eb96094b2c933e0201129
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_SERIALNETWORKINTERFACE_H
22 #define SOLID_CONTROL_SERIALNETWORKINTERFACE_H
24 #include "networkinterface.h"
26 namespace Solid
28 namespace Control
30 class SerialNetworkInterfacePrivate;
31 /**
32 * This interface represents a SERIAL cellular network interface
34 class SOLIDCONTROL_EXPORT SerialNetworkInterface : public NetworkInterface
36 Q_OBJECT
37 Q_DECLARE_PRIVATE(SerialNetworkInterface)
39 public:
40 /**
41 * Creates a new SerialNetworkInterface object.
43 * @param backendObject the network object provided by the backend
45 SerialNetworkInterface(QObject *backendObject = 0);
47 /**
48 * Constructs a copy of a network.
50 * @param network the network to copy
52 SerialNetworkInterface(const SerialNetworkInterface &network);
54 /**
55 * Destroys a SerialNetworkInterface object.
57 virtual ~SerialNetworkInterface();
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 void pppStats(uint in, uint out);
68 protected:
69 /**
70 * @internal
72 SerialNetworkInterface(SerialNetworkInterfacePrivate &dd, QObject *backendObject);
74 /**
75 * @internal
77 SerialNetworkInterface(SerialNetworkInterfacePrivate &dd, const SerialNetworkInterface &network);
79 void makeConnections(QObject * source);
80 private Q_SLOTS:
81 void _k_destroyed(QObject *object);
82 private:
83 friend class NetworkInterface;
84 friend class NetworkInterfacePrivate;
86 } //Control
87 } //Solid
89 #endif // SOLID_CONTROL_SERIALNETWORKINTERFACE_H