• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdelibs API Reference
  • KDE Home
  • Contact Us
 

Solid

  • sources
  • kde-4.12
  • kdelibs
  • solid
  • solid
networking_win.cpp
Go to the documentation of this file.
1 /*
2  Copyright 2013 Patrick von Reth <vonreth@kde.org>
3  Copyright 2006-2007 Will Stephenson <wstephenson@kde.org>
4  Copyright 2006-2007 Kevin Ottens <ervin@kde.org>
5 
6  This library is free software; you can redistribute it and/or
7  modify it under the terms of the GNU Lesser General Public
8  License as published by the Free Software Foundation; either
9  version 2.1 of the License, or (at your option) version 3, or any
10  later version accepted by the membership of KDE e.V. (or its
11  successor approved by the membership of KDE e.V.), which shall
12  act as a proxy defined in Section 6 of version 3 of the license.
13 
14  This library is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  Lesser General Public License for more details.
18 
19  You should have received a copy of the GNU Lesser General Public
20  License along with this library. If not, see <http://www.gnu.org/licenses/>.
21 */
22 
23 //#include <KDebug>
24 
25 #include "networking.h"
26 #include "networking_p.h"
27 
28 #include "soliddefs_p.h"
29 #include "org_kde_solid_networking_client.h"
30 
31 
32 
33 SOLID_GLOBAL_STATIC(Solid::NetworkingPrivate, globalNetworkManager)
34 
35 Solid::NetworkingPrivate::NetworkingPrivate()
36  : netStatus(Solid::Networking::Unknown),
37  connectPolicy(Solid::Networking::Managed),
38  disconnectPolicy(Solid::Networking::Managed),
39  m_manager(new QNetworkConfigurationManager())
40 {
41  initialize();
42 }
43 
44 Solid::NetworkingPrivate::~NetworkingPrivate()
45 {
46  m_manager->deleteLater();
47 }
48 
49 Solid::Networking::Notifier::Notifier()
50 {
51 }
52 
53 void Solid::NetworkingPrivate::initialize()
54 {
55 
56  netStatus = m_manager->isOnline()?Solid::Networking::Connected:Solid::Networking::Unconnected;
57 
58  connect(m_manager,SIGNAL(onlineStateChanged(bool)),this,SLOT(serviceStatusChanged(bool)));
59 }
60 
61 uint Solid::NetworkingPrivate::status() const
62 {
63  return netStatus;
64 }
65 
66 /*=========================================================================*/
67 
68 Solid::Networking::Status Solid::Networking::status()
69 {
70  return static_cast<Solid::Networking::Status>( globalNetworkManager->status() );
71 }
72 
73 Solid::Networking::Notifier *Solid::Networking::notifier()
74 {
75  return globalNetworkManager;
76 }
77 
78 void Solid::NetworkingPrivate::serviceStatusChanged( bool status )
79 {
80 // kDebug( 921 ) ;
81  netStatus = status?Solid::Networking::Connected:Solid::Networking::Unconnected;
82  switch ( netStatus ) {
83  case Solid::Networking::Unknown:
84  break;
85  case Solid::Networking::Unconnected:
86  emit globalNetworkManager->shouldDisconnect();
87  break;
88  case Solid::Networking::Connected:
89  emit globalNetworkManager->shouldConnect();
90  break;
91  default:
92  break;
93 // kDebug( 921 ) << "Unrecognised status code!";
94  }
95  emit globalNetworkManager->statusChanged( netStatus );
96 }
97 
98 Solid::Networking::ManagementPolicy Solid::Networking::connectPolicy()
99 {
100  return globalNetworkManager->connectPolicy;
101 }
102 
103 void Solid::Networking::setConnectPolicy( Solid::Networking::ManagementPolicy policy )
104 {
105  globalNetworkManager->connectPolicy = policy;
106 }
107 
108 Solid::Networking::ManagementPolicy Solid::Networking::disconnectPolicy()
109 {
110  return globalNetworkManager->disconnectPolicy;
111 }
112 
113 void Solid::Networking::setDisconnectPolicy( Solid::Networking::ManagementPolicy policy )
114 {
115  globalNetworkManager->disconnectPolicy = policy;
116 }
117 
118 #include "networking_p.moc"
119 #include "networking.moc"
Solid::Networking::Notifier::Notifier
Notifier()
Definition: networking.cpp:50
Solid::NetworkingPrivate::~NetworkingPrivate
~NetworkingPrivate()
Definition: networking.cpp:46
Solid::Networking::setDisconnectPolicy
SOLID_EXPORT void setDisconnectPolicy(ManagementPolicy policy)
Set a policy to manage the application's disconnect behaviour.
Definition: networking.cpp:153
Solid::Networking::disconnectPolicy
SOLID_EXPORT ManagementPolicy disconnectPolicy()
Retrieve a policy managing the application's disconnect behaviour.
Definition: networking.cpp:148
Solid::Networking::notifier
SOLID_EXPORT Notifier * notifier()
Definition: networking.cpp:85
Solid::Networking::ManagementPolicy
ManagementPolicy
This defines application policy in response to networking connect/disconnect events.
Definition: networking.h:56
SOLID_GLOBAL_STATIC
#define SOLID_GLOBAL_STATIC(TYPE, NAME)
Definition: soliddefs_p.h:77
Solid::Networking::status
SOLID_EXPORT Status status()
Get the current networking status If the result is Unknown, the backend may be unconfigured or otherw...
Definition: networking.cpp:80
Solid::Networking::setConnectPolicy
SOLID_EXPORT void setConnectPolicy(ManagementPolicy policy)
Set a policy to manage the application's connect behaviour.
Definition: networking.cpp:143
Solid::Networking::connectPolicy
SOLID_EXPORT ManagementPolicy connectPolicy()
Retrieve a policy managing the application's connect behaviour.
Definition: networking.cpp:138
soliddefs_p.h
networking.h
Solid::Networking::Unconnected
the system is not connected to any network
Definition: networking.h:47
Solid::Networking::Unknown
the networking system is not active or unable to report its status - proceed with caution ...
Definition: networking.h:46
Solid::NetworkingPrivate::serviceStatusChanged
void serviceStatusChanged(bool status)
Definition: networking.cpp:90
Solid::NetworkingPrivate
Definition: networking_p.h:38
Solid::Networking::Status
Status
Describes the state of the networking system.
Definition: networking.h:45
Solid::Networking::Connected
the system is currently connected to a network
Definition: networking.h:50
networking_p.h
Solid::Networking::Managed
the app should connect or disconnect whenever the KConnectionManager reports a state change ...
Definition: networking.h:59
Solid::Networking::Notifier
This object emits signals, for use if your application requires notification of changes to networking...
Definition: networking.h:97
Solid::NetworkingPrivate::status
uint status() const
Definition: networking.cpp:73
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:48:47 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

Solid

Skip menu "Solid"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  • kjsembed
  •   WTF
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Nepomuk-Core
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal