• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdecore
 

tdecore

  • tdecore
  • tdehw
tdenetworkconnections.h
1/* This file is part of the TDE libraries
2 Copyright (C) 2012 Timothy Pearson <kb9vqf@pearsoncomputing.net>
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License version 2 as published by the Free Software Foundation.
7
8 This library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Library General Public License for more details.
12
13 You should have received a copy of the GNU Library General Public License
14 along with this library; see the file COPYING.LIB. If not, write to
15 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 Boston, MA 02110-1301, USA.
17*/
18#ifndef _TDENETWORKCONNECTIONS_H
19#define _TDENETWORKCONNECTIONS_H
20
21// TDE includes
22#include <tqobject.h>
23#include <tqstring.h>
24#include <tqptrlist.h>
25#include <tqdatetime.h>
26#include <tqstringlist.h>
27#include <tqhostaddress.h>
28#include "kiconloader.h"
29#include "tdelibs_export.h"
30
31#define CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(x) \
32 inline x operator|(x a, x b) \
33 { \
34 return static_cast<x>(static_cast<int>(a) | static_cast<int>(b)); \
35 } \
36 \
37 inline x operator&(x a, x b) \
38 { \
39 return static_cast<x>(static_cast<int>(a) & static_cast<int>(b)); \
40 } \
41 \
42 inline x operator~(x a) \
43 { \
44 return static_cast<x>(~static_cast<int>(a)); \
45 } \
46 \
47 inline x &operator|=(x& a, const x& b) \
48 { \
49 a = static_cast<x>(static_cast<int>(a) | static_cast<int>(b)); \
50 return a; \
51 } \
52 \
53 inline x &operator&=(x& a, const x& b) \
54 { \
55 a = static_cast<x>(static_cast<int>(a) & static_cast<int>(b)); \
56 return a; \
57 }
58
59class TDENetworkDevice;
60
61typedef TQValueList<TQ_UINT8> TDENetworkByteList;
62typedef TQValueList<TQHostAddress> TDENetworkAddressList;
63typedef TQMap<TQString, TQString> TDENetworkSettingsMap;
64typedef TQMap<TQ_UINT32, TQ_UINT32> TDENetworkPriorityMap;
65
66namespace TDENetworkDeviceType {
67 enum TDENetworkDeviceType {
68 BackendOnly,
69 WiredEthernet,
70 WiFi,
71 Bluetooth,
72 OLPCMesh,
73 WiMax,
74 Modem,
75 Infiniband,
76 Bond,
77 VLAN,
78 ADSL,
79 Other,
80 Last = Other
81 };
82};
83
84namespace TDENetworkConnectionType {
85 enum TDENetworkConnectionType {
86 WiredEthernet,
87 WiFi,
88 Bluetooth,
89 OLPCMesh,
90 WiMax,
91 Modem,
92 Infiniband,
93 Bond,
94 VLAN,
95 ADSL,
96 VPN,
97 Other,
98 Last = Other
99 };
100};
101
102namespace TDENetworkConnectionErrorFlags {
103 enum TDENetworkConnectionErrorFlags {
104 NoError = 0x00000000,
105 InvalidConnectionSetting = 0x00000001,
106 InvalidIPv4Setting = 0x00000002,
107 InvalidIPv6Setting = 0x00000004,
108 InvalidEAPSetting = 0x00000008,
109 InvalidEAPKey = 0x00000010,
110 InvalidWirelessSetting = 0x00000020,
111 InvalidWirelessKey = 0x00000040
112 };
113
114 CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(TDENetworkConnectionErrorFlags)
115};
116
117typedef TQMap<TDENetworkConnectionErrorFlags::TDENetworkConnectionErrorFlags, TQString> TDENetworkErrorStringMap;
118
119namespace TDENetworkInfinibandTransportMode {
120 enum TDENetworkInfinibandTransportMode {
121 Datagram,
122 Connected,
123 Other,
124 Last = Other
125 };
126};
127
128namespace TDEWiFiMode {
129 enum TDEWiFiMode {
130 AdHoc,
131 Infrastructure,
132 Other,
133 Last = Other
134 };
135};
136
137namespace TDEWiFiFrequencyBand {
138 enum TDEWiFiFrequencyBand {
139 None,
140 Band2_4GHz,
141 Band5GHz,
142 Other,
143 Last = Other
144 };
145};
146
147namespace TDEBluetoothConnectionType {
148 enum TDEBluetoothConnectionType {
149 DUN,
150 PAN,
151 Other,
152 Last = Other
153 };
154};
155
156namespace TDEModemConnectionType {
157 enum TDEModemConnectionType {
158 CDMA,
159 GSM,
160 Other,
161 Last = Other
162 };
163};
164
165namespace TDEGSMNetworkType {
166 enum TDEGSMNetworkType {
167 Any,
168 Only3G,
169 GPRSEdge,
170 Prefer3G,
171 Prefer2G,
172 Other,
173 Last = Other
174 };
175};
176
177namespace TDENetworkParity {
178 enum TDENetworkParity {
179 None,
180 Even,
181 Odd,
182 Other,
183 Last = Other
184 };
185};
186
187namespace TDENetworkSlaveDeviceType {
188 enum TDENetworkSlaveDeviceType {
189 None,
190 Bond,
191 Other,
192 Last = Other
193 };
194};
195
196namespace TDENetworkGlobalEventType {
197 enum TDENetworkGlobalEventType {
198 ConnectionListChanged,
199 Other,
200 Last = Other
201 };
202};
203
204namespace TDENetworkVPNEventType {
205 enum TDENetworkVPNEventType {
206 LoginBanner,
207 Failure,
208 Other,
209 Last = Other
210 };
211};
212
213namespace TDENetworkDeviceEventType {
214 enum TDENetworkDeviceEventType {
215 BitRateChanged,
216 Failure,
217 Other,
218 Last = Other
219 };
220};
221
222namespace TDENetworkAPEventType {
223 enum TDENetworkAPEventType {
224 Discovered,
225 Lost,
226 SignalStrengthChanged,
227 AccessPointChanged,
228 Other,
229 Last = Other
230 };
231};
232
233namespace TDENetworkGlobalManagerFlags {
234 enum TDENetworkGlobalManagerFlags {
235 Unknown = 0x00000000,
236 Disconnected = 0x00000001,
237 Connected = 0x00000002,
238 EstablishingLink = 0x00000004,
239 DeactivatingLink = 0x00000008,
240 LinkLocalAccess = 0x00000010,
241 SiteLocalAccess = 0x00000020,
242 GlobalAccess = 0x00000040,
243 Sleeping = 0x00000080,
244 BackendUnavailable = 0x00000100,
245 VPNUnknown = 0x00000200,
246 VPNEstablishingLink = 0x00000400,
247 VPNNeedAuthorization = 0x00000800,
248 VPNConfiguringProtocols = 0x00001000,
249 VPNVerifyingProtocols = 0x00002000,
250 VPNConnected = 0x00004000,
251 VPNFailed = 0x00008000,
252 VPNDisconnected = 0x00010000,
253 GlobalMask = 0x000001ff,
254 VPNMask = 0x0001fe00
255 };
256
257 CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(TDENetworkGlobalManagerFlags)
258};
259
260namespace TDENetworkDeviceCapabilityFlags {
261 enum TDENetworkDeviceCapabilityFlags {
262 None = 0x00000000,
263 Supported = 0x00000001,
264 CanDetectLink = 0x00000002
265 };
266
267 CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(TDENetworkDeviceCapabilityFlags)
268};
269
270namespace TDENetworkPPPFlags {
271 enum TDENetworkPPPFlags {
272 None = 0x00000000,
273 DisableEAP = 0x00000001,
274 DisablePAP = 0x00000002,
275 DisableCHAP = 0x00000004,
276 DisableMSCHAP = 0x00000008,
277 DisableMSCHAPv2 = 0x00000010,
278 AllowBSDCompression = 0x00000020,
279 AllowDeflateCompression = 0x00000040,
280 AllowVJCompression = 0x00000080,
281 RequireMPPE = 0x00000100,
282 RequireMPPE128 = 0x00000200,
283 StatefulMPPE = 0x00000400,
284 UseHardwareFlowControl = 0x00000800
285 };
286
287 CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(TDENetworkPPPFlags)
288};
289
290namespace TDENetworkWiFiAPFlags {
291 enum TDENetworkWiFiAPFlags {
292 None = 0x00000000,
293 PrivacySupport = 0x00000001,
294 PairWEP40 = 0x00000002,
295 PairWEP104 = 0x00000004,
296 PairTKIP = 0x00000008,
297 PairCCMP = 0x00000010,
298 GroupWEP40 = 0x00000020,
299 GroupWEP104 = 0x00000040,
300 GroupTKIP = 0x00000080,
301 GroupCCMP = 0x00000100,
302 KeyManagementPSK = 0x00000200,
303 KeyManagement80211 = 0x00000400,
304 GeneralFlagsMask = 0x00000001,
305 EncryptionFlagsMask = 0xfffffffe
306 };
307
308 CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(TDENetworkWiFiAPFlags)
309};
310
311namespace TDENetworkWiFiClientFlags {
312 enum TDENetworkWiFiClientFlags {
313 None = 0x00000000,
314 CipherWEP40 = 0x00000002,
315 CipherWEP104 = 0x00000004,
316 CipherTKIP = 0x00000008,
317 CipherCCMP = 0x00000010,
318 CipherWPA = 0x00000020,
319 CipherRSN = 0x00000040
320 };
321
322 CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(TDENetworkWiFiClientFlags)
323};
324
325namespace TDENetworkVPNType {
326 enum TDENetworkVPNType {
327 OpenVPN,
328 PPTP,
329 StrongSwan,
330 VPNC,
331 Other,
332 Last = Other
333 };
334};
335
336typedef TQValueList<TDENetworkVPNType::TDENetworkVPNType> TDENetworkVPNTypeList;
337
338namespace TDENetworkWiFiConnectionCipher {
339 enum TDENetworkWiFiConnectionCipher {
340 None,
341 CipherWEP40,
342 CipherWEP104,
343 CipherTKIP,
344 CipherCCMP,
345 CipherWPA,
346 CipherRSN,
347 Any
348 };
349};
350
351typedef TQValueList<TDENetworkWiFiConnectionCipher::TDENetworkWiFiConnectionCipher> TDENetworkWiFiConnectionCipherList;
352
353namespace TDENetworkWepKeyType {
354 enum TDENetworkWepKeyType {
355 Hexadecimal,
356 Ascii,
357 Passphrase
358 };
359};
360
361namespace TDENetworkVLANFlags {
362 enum TDENetworkVLANFlags {
363 None = 0x00000000,
364 ReorderPacketHeaders = 0x00000001,
365 UseGVRP = 0x00000002,
366 LooseBinding = 0x00000004
367 };
368
369 CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(TDENetworkVLANFlags)
370};
371
372namespace TDENetworkWiFiKeyType {
373 enum TDENetworkWiFiKeyType {
374 WEP,
375 DynamicWEP,
376 WPAAdHoc,
377 WPAInfrastructure,
378 WPAEnterprise,
379 Other,
380 Last = Other
381 };
382};
383
384namespace TDENetworkWiFiAuthType {
385 enum TDENetworkWiFiAuthType {
386 Open,
387 Shared,
388 LEAP,
389 Other,
390 Last = Other
391 };
392};
393
394namespace TDENetworkIEEE8021xType {
395 enum TDENetworkIEEE8021xType {
396 None,
397 LEAP,
398 MD5,
399 PAP,
400 CHAP,
401 MSCHAP,
402 MSCHAPV2,
403 Fast,
404 PSK,
405 PAX,
406 SAKE,
407 GPSK,
408 TLS,
409 PEAP,
410 TTLS,
411 SIM,
412 GTC,
413 OTP
414 };
415};
416
417typedef TQValueList<TDENetworkIEEE8021xType::TDENetworkIEEE8021xType> TDENetworkIEEE8021xTypeList;
418
419namespace TDENetworkIEEE8021xFastFlags {
420 enum TDENetworkIEEE8021xFastFlags {
421 None = 0x00000000,
422 AllowUnauthenticated = 0x00000001,
423 AllowAuthenticated = 0x00000002
424 };
425
426 CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(TDENetworkIEEE8021xFastFlags)
427};
428
429namespace TDENetworkWiFiWPAVersionFlags {
430 enum TDENetworkWiFiWPAVersionFlags {
431 None = 0x00000000,
432 WPA = 0x00000001,
433 RSN = 0x00000002,
434 Any = 0x00000003
435 };
436
437 CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(TDENetworkWiFiWPAVersionFlags)
438};
439
440namespace TDENetworkPasswordHandlingFlags {
441 enum TDENetworkPasswordHandlingFlags {
442 None = 0x00000000,
443 NoSave = 0x00000001,
444 NoPrompt = 0x00000002,
445 ExternalStorage = 0x00000004
446 };
447
448 CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(TDENetworkPasswordHandlingFlags)
449};
450
451namespace TDENetworkConnectionStatus {
452 enum TDENetworkConnectionStatus {
453 None = 0x00000000,
454 Invalid = 0x00000001,
455 Disconnected = 0x00000002,
456 Connected = 0x00000004,
457 LinkUnavailable = 0x00000008,
458 EstablishingLink = 0x00000010,
459 DeactivatingLink = 0x00000020,
460 ConfiguringProtocols = 0x00000040,
461 Reconnecting = 0x00000080,
462 LinkLost = 0x00000100,
463 LinkLocalAccess = 0x00000200,
464 SiteLocalAccess = 0x00000400,
465 GlobalAccess = 0x00000800,
466 UnManaged = 0x00001000,
467 NeedAuthorization = 0x00002000,
468 Failed = 0x00004000,
469 VerifyingProtocols = 0x00008000,
470 DependencyWait = 0x00010000
471 };
472
473 CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(TDENetworkConnectionStatus)
474};
475
476namespace TDENetworkIPConfigurationFlags {
477 enum TDENetworkIPConfigurationFlags {
478 None = 0x00000000,
479 IPV4DHCPIP = 0x00000001,
480 IPV4DHCPDNS = 0x00000002,
481 IPV4DHCPRoutes = 0x00000004,
482 IPV4LocalOnly = 0x00000008,
483 IPV4StartConnectionSharingServer = 0x00000010,
484 IPV4Disabled = 0x00000020,
485 IPV4MayUseAsDefaultRoute = 0x00000040,
486 IPV6DHCPIP = 0x00000080,
487 IPV6DHCPDNS = 0x00000100,
488 IPV6DHCPRoutes = 0x00000200,
489 IPV6LocalOnly = 0x00000400,
490 IPV6StartConnectionSharingServer = 0x00000800,
491 IPV6Disabled = 0x00001000,
492 IPV6MayUseAsDefaultRoute = 0x00002000
493 };
494
495 CREATE_FLAG_BITWISE_MANIPULATION_FUNCTIONS(TDENetworkIPConfigurationFlags)
496};
497
498class TDECORE_EXPORT TDENetworkSearchDomain
499{
500 public:
501 TDENetworkSearchDomain();
502 TDENetworkSearchDomain(TQString domain, bool ipv6=false);
503 ~TDENetworkSearchDomain();
504
505 TQString searchDomain();
506 void setSearchDomain(TQString domain, bool ipv6=false);
507
508 bool isIPv4();
509 bool isIPv6();
510
511 private:
512 TQString m_domain;
513 bool m_isIPV6;
514};
515
516typedef TQValueList<TDENetworkSearchDomain> TDENetworkSearchDomainList;
517
518class TDECORE_EXPORT TDENetMask
519{
520 public:
521 TDENetMask();
522 TDENetMask(TQ_UINT32 netmask);
523 TDENetMask(TQ_UINT8* netmask);
524 ~TDENetMask();
525
526 void fromCIDRMask(unsigned char mask, bool ipv6=false);
527 unsigned char toCIDRMask();
528 void fromString(TQString mask);
529 TQString toString();
530
531 bool isIPv4();
532 bool isIPv6();
533
534 private:
535 TQ_UINT32 m_ipv4NetMask;
536 TQHostAddress m_ipv6NetMask;
537 bool m_isIPV6;
538};
539
540class TDECORE_EXPORT TDEMACAddress
541{
542 public:
543 TDEMACAddress();
544 TDEMACAddress(TDENetworkByteList address);
545 ~TDEMACAddress();
546
547 TDENetworkByteList address();
548 void setAddress(TDENetworkByteList address);
549 TQString toString();
550 void fromString(TQString address);
551 bool isValid();
552
553 private:
554 bool m_isValid;
555 TDENetworkByteList m_macAddress;
556
557 friend bool operator==(const TDEMACAddress &a1, const TDEMACAddress &a2);
558 friend bool operator<(const TDEMACAddress &a1, const TDEMACAddress &a2);
559};
560
561TDECORE_EXPORT bool operator==(const TDEMACAddress &a1, const TDEMACAddress &a2);
562TDECORE_EXPORT bool operator<(const TDEMACAddress &a1, const TDEMACAddress &a2);
563
564typedef TQValueList<TDEMACAddress> TDEMACAddressList;
565
566class TDECORE_EXPORT TDENetworkSingleIPConfiguration
567{
568 public:
569 TDENetworkSingleIPConfiguration();
570 ~TDENetworkSingleIPConfiguration();
571
572 bool isIPv4();
573 bool isIPv6();
574
575 public:
576 bool valid;
577 TQHostAddress ipAddress;
578 TDENetMask networkMask;
579 TQHostAddress gateway;
580};
581
582typedef TQValueList<TDENetworkSingleIPConfiguration> TDENetworkSingleIPConfigurationList;
583
584class TDECORE_EXPORT TDENetworkSingleRouteConfiguration
585{
586 public:
587 TDENetworkSingleRouteConfiguration();
588 ~TDENetworkSingleRouteConfiguration();
589
590 bool isIPv4();
591 bool isIPv6();
592
593 public:
594 bool valid;
595 TQHostAddress ipAddress;
596 TDENetMask networkMask;
597 TQHostAddress gateway;
598 TQ_UINT32 metric;
599};
600
601typedef TQValueList<TDENetworkSingleRouteConfiguration> TDENetworkSingleRouteConfigurationList;
602
603class TDECORE_EXPORT TDENetworkIEEE8021xConfiguration
604{
605 public:
606 TDENetworkIEEE8021xConfiguration();
607 ~TDENetworkIEEE8021xConfiguration();
608
609 public:
610 bool valid;
611 bool allowedValid;
612 bool secretsValid;
613 TDENetworkIEEE8021xType::TDENetworkIEEE8021xType type;
614 TQString userName;
615 TQString anonymousUserName;
616 TQString pacFileName;
617 TQByteArray caCertificate;
618 TQString additionalCAFilesPath;
619 TQString authServerCertSubjectMatch;
620 TQStringList alternateAuthServerCertSubjectMatch;
621 TQByteArray clientCertificate;
622 TQString forcePEAPVersion;
623 TQString forcePEAPLabel;
624 TDENetworkIEEE8021xFastFlags::TDENetworkIEEE8021xFastFlags fastProvisioningFlags;
625 TDENetworkIEEE8021xType::TDENetworkIEEE8021xType phase2NonEAPAuthMethod;
626 TDENetworkIEEE8021xType::TDENetworkIEEE8021xType phase2EAPAuthMethod;
627 TDENetworkIEEE8021xTypeList allowedPhase2NonEAPMethods;
628 TDENetworkIEEE8021xTypeList allowedPhase2EAPMethods;
629 TQByteArray phase2CaCertificate;
630 TQString phase2CaFilesPath;
631 TQString phase2AuthServerCertSubjectMatch;
632 TQStringList phase2AlternateAuthServerCertSubjectMatch;
633 TQByteArray phase2ClientCertificate;
634 TQString password;
635 TDENetworkPasswordHandlingFlags::TDENetworkPasswordHandlingFlags passwordFlags;
636 TQByteArray binaryPassword;
637 TDENetworkPasswordHandlingFlags::TDENetworkPasswordHandlingFlags binaryPasswordFlags;
638 TQByteArray privateKey;
639 TQString privateKeyPassword;
640 TDENetworkPasswordHandlingFlags::TDENetworkPasswordHandlingFlags privateKeyPasswordFlags;
641 TQByteArray phase2PrivateKey;
642 TQString phase2PrivateKeyPassword;
643 TDENetworkPasswordHandlingFlags::TDENetworkPasswordHandlingFlags phase2PrivateKeyPasswordFlags;
644 bool forceSystemCaCertificates;
645};
646
647class TDECORE_EXPORT TDENetworkPPPConfiguration
648{
649 public:
650 TDENetworkPPPConfiguration();
651 virtual ~TDENetworkPPPConfiguration();
652
653 public:
654 bool valid;
655 bool requireServerAuthentication;
656 TDENetworkPPPFlags::TDENetworkPPPFlags flags;
657 TQ_UINT32 baudRate;
658 TQ_UINT32 mru;
659 TQ_UINT32 mtu;
660 TQ_UINT32 lcpEchoPingInterval;
661 TQ_UINT32 lcpEchoFailureThreshold;
662};
663
664class TDECORE_EXPORT TDENetworkPPPOEConfiguration
665{
666 public:
667 TDENetworkPPPOEConfiguration();
668 virtual ~TDENetworkPPPOEConfiguration();
669
670 public:
671 bool valid;
672 bool secretsValid;
673 TQString networkServiceProvider;
674 TQString username;
675 TQString password;
676 TDENetworkPasswordHandlingFlags::TDENetworkPasswordHandlingFlags passwordFlags;
677};
678
679class TDECORE_EXPORT TDENetworkSerialConfiguration
680{
681 public:
682 TDENetworkSerialConfiguration();
683 virtual ~TDENetworkSerialConfiguration();
684
685 public:
686 bool valid;
687 TQ_UINT32 baudRate;
688 TQ_UINT32 byteWidth;
689 TDENetworkParity::TDENetworkParity parity;
690 TQ_UINT32 stopBits;
691 TQ_UINT64 txDelay;
692};
693
694class TDECORE_EXPORT TDENetworkCDMAConfiguration
695{
696 public:
697 TDENetworkCDMAConfiguration();
698 virtual ~TDENetworkCDMAConfiguration();
699
700 public:
701 bool valid;
702 bool secretsValid;
703 TQString providerDataNumber;
704 TQString username;
705 TQString password;
706 TDENetworkPasswordHandlingFlags::TDENetworkPasswordHandlingFlags passwordFlags;
707};
708
709class TDECORE_EXPORT TDENetworkGSMConfiguration
710{
711 public:
712 TDENetworkGSMConfiguration();
713 virtual ~TDENetworkGSMConfiguration();
714
715 public:
716 bool valid;
717 bool secretsValid;
718 TQString providerDataNumber;
719 TQString username;
720 TQString password;
721 TDENetworkPasswordHandlingFlags::TDENetworkPasswordHandlingFlags passwordFlags;
722 TQString accessPointName;
723 TQString networkID;
724 TDEGSMNetworkType::TDEGSMNetworkType networkType;
725 TQString pin;
726 TDENetworkPasswordHandlingFlags::TDENetworkPasswordHandlingFlags pinFlags;
727 TQ_UINT32 allowedFrequencyBands;
728 bool allowRoaming;
729};
730
731
732class TDENetworkWiFiSecurityConfiguration
733{
734 public:
735 TDENetworkWiFiSecurityConfiguration();
736 ~TDENetworkWiFiSecurityConfiguration();
737
738 public:
739 bool valid;
740 bool secretsValid;
741 TDENetworkWiFiKeyType::TDENetworkWiFiKeyType keyType;
742 TDENetworkWiFiAuthType::TDENetworkWiFiAuthType authType;
743 TDENetworkWiFiWPAVersionFlags::TDENetworkWiFiWPAVersionFlags wpaVersion;
744 TDENetworkWiFiConnectionCipher::TDENetworkWiFiConnectionCipher cipher;
745 TQString wepKey0;
746 TQString wepKey1;
747 TQString wepKey2;
748 TQString wepKey3;
749 TDENetworkPasswordHandlingFlags::TDENetworkPasswordHandlingFlags wepKeyFlags;
750 TQ_UINT32 wepKeyIndex;
751 TDENetworkWepKeyType::TDENetworkWepKeyType wepKeyType;
752 TDENetworkWiFiConnectionCipherList allowedPairWiseCiphers;
753 TDENetworkWiFiConnectionCipherList allowedGroupWiseCiphers;
754 TQString psk;
755 TDENetworkPasswordHandlingFlags::TDENetworkPasswordHandlingFlags pskFlags;
756 TQString leapUsername;
757 TQString leapPassword;
758 TDENetworkPasswordHandlingFlags::TDENetworkPasswordHandlingFlags leapPasswordFlags;
759};
760
761class TDECORE_EXPORT TDENetworkIPConfiguration
762{
763 public:
764 TDENetworkIPConfiguration();
765 ~TDENetworkIPConfiguration();
766
767 public:
768 bool valid;
769 TDENetworkIPConfigurationFlags::TDENetworkIPConfigurationFlags connectionFlags;
770 TDENetworkSingleIPConfigurationList ipConfigurations;
771 TDENetworkSingleRouteConfigurationList routeConfigurations;
772 TQHostAddress broadcast;
773 TQHostAddress destination;
774 TDENetworkAddressList resolvers;
775 TDENetworkSearchDomainList searchDomains;
776 TQString dhcpClientIdentifier;
777};
778
779class TDECORE_EXPORT TDENetworkWiFiDeviceInfo
780{
781 public:
782 TDENetworkWiFiDeviceInfo();
783 ~TDENetworkWiFiDeviceInfo();
784
785 public:
786 bool valid;
787 TDEMACAddress hwAddress;
788 TDEMACAddress permanentHWAddress;
789 TDEWiFiMode::TDEWiFiMode operatingMode;
790 unsigned int bitrate;
791 TDEMACAddress activeAccessPointBSSID;
792 TDENetworkWiFiClientFlags::TDENetworkWiFiClientFlags wirelessFlags;
793};
794
795class TDECORE_EXPORT TDENetworkDeviceInformation
796{
797 public:
798 TDENetworkDeviceInformation();
799 ~TDENetworkDeviceInformation();
800
801 public:
802 bool valid;
803 TDENetworkConnectionStatus::TDENetworkConnectionStatus statusFlags;
804 TQString UUID;
805 TQString backendDriver;
806 TQString backendDriverVersion;
807 TQString firmwareVersion;
808 TDENetworkDeviceCapabilityFlags::TDENetworkDeviceCapabilityFlags capabilityFlags;
809 TDENetworkIPConfiguration ipConfiguration;
810 bool managed;
811 bool autoConnect;
812 bool firmwareMissing;
813 TDENetworkDeviceType::TDENetworkDeviceType deviceType;
814 TQString activeConnectionUUID;
815 TDENetworkWiFiDeviceInfo wiFiInfo;
816};
817
818class TDECORE_EXPORT TDENetworkHWNeighbor
819{
820 public:
821 TDENetworkHWNeighbor();
822 virtual ~TDENetworkHWNeighbor();
823
824 public:
825 bool valid;
826};
827
828class TDECORE_EXPORT TDENetworkWiFiAPInfo : public TDENetworkHWNeighbor
829{
830 public:
831 TDENetworkWiFiAPInfo();
832 virtual ~TDENetworkWiFiAPInfo();
833
834 public:
835 TQString friendlySSID() const;
836
837 public:
838 TQByteArray SSID;
839 TDENetworkWiFiAPFlags::TDENetworkWiFiAPFlags wpaFlags;
840 TDENetworkWiFiAPFlags::TDENetworkWiFiAPFlags rsnFlags;
841 unsigned int frequency;
842 TDEMACAddress BSSID;
843 unsigned int maxBitrate;
844 double signalQuality;
845};
846
847typedef TQPtrList< TDENetworkHWNeighbor > TDENetworkHWNeighborList;
848
849class TDECORE_EXPORT TDENetworkConnection
850{
851 public:
852 TDENetworkConnection();
853 virtual ~TDENetworkConnection();
854
855 public:
856 TDENetworkConnectionType::TDENetworkConnectionType type();
857
858 public:
859 TQString UUID;
860 TQString friendlyName;
861 TDENetworkIPConfiguration ipConfig;
862 TDEMACAddress lockedHWAddress;
863 TDEMACAddress manualHWAddress;
864 bool readOnly;
865 bool autoConnect;
866 bool fullDuplex;
867 bool requireIPV4;
868 bool requireIPV6;
869 TQ_UINT32 mtu;
870 TDENetworkIEEE8021xConfiguration eapConfig;
871 TDENetworkPPPConfiguration pppConfig;
872 TDENetworkPPPOEConfiguration pppoeConfig;
873 TDENetworkSerialConfiguration serialConfig;
874 TQStringList authorizedUsers;
875 TQString masterConnectionUUID;
876 TDENetworkSlaveDeviceType::TDENetworkSlaveDeviceType slaveType;
877 TQDateTime lastKnownConnection;
878};
879
880class TDECORE_EXPORT TDEWiredEthernetConnection : public TDENetworkConnection
881{
882 public:
883 TDEWiredEthernetConnection();
884 virtual ~TDEWiredEthernetConnection();
885};
886
887class TDECORE_EXPORT TDEWiFiConnection : public TDENetworkConnection
888{
889 public:
890 TDEWiFiConnection();
891 virtual ~TDEWiFiConnection();
892
893 public:
894 TQByteArray SSID;
895 TDEWiFiMode::TDEWiFiMode operatingMode;
896 TDEWiFiFrequencyBand::TDEWiFiFrequencyBand bandRestriction;
897 TQ_INT32 channelRestriction;
898 TQ_INT32 bitRateRestriction;
899 TQ_INT32 powerRestriction;
900 TDEMACAddress accessPointRestriction;
901 TDEMACAddressList blacklistedBSSIDs;
902 TDEMACAddressList heardBSSIDs;
903 bool isHiddenNetwork;
904 bool securityRequired;
905 TDENetworkWiFiSecurityConfiguration securitySettings;
906};
907
908class TDECORE_EXPORT TDEWiredInfinibandConnection : public TDENetworkConnection
909{
910 public:
911 TDEWiredInfinibandConnection();
912 virtual ~TDEWiredInfinibandConnection();
913
914 public:
915 TDENetworkInfinibandTransportMode::TDENetworkInfinibandTransportMode transportMode;
916};
917
918class TDECORE_EXPORT TDEVPNConnection : public TDENetworkConnection
919{
920 public:
921 TDEVPNConnection();
922 virtual ~TDEVPNConnection();
923
924 public:
925 TQString vpnPluginID;
926 TQString lockedUserName;
927 TDENetworkSettingsMap pluginData;
928 bool secretsValid;
929 TDENetworkSettingsMap pluginSecrets;
930};
931
932class TDECORE_EXPORT TDEWiMaxConnection : public TDENetworkConnection
933{
934 public:
935 TDEWiMaxConnection();
936 virtual ~TDEWiMaxConnection();
937
938 public:
939 TQString networkServiceProvider;
940};
941
942class TDECORE_EXPORT TDEVLANConnection : public TDENetworkConnection
943{
944 public:
945 TDEVLANConnection();
946 virtual ~TDEVLANConnection();
947
948 public:
949 TQString kernelName;
950 TQString parentConnectionUUID;
951 TQ_UINT32 vlanID;
952 TDENetworkVLANFlags::TDENetworkVLANFlags vlanFlags;
953 TDENetworkPriorityMap ingressPriorityMap;
954 TDENetworkPriorityMap egressPriorityMap;
955};
956
957class TDECORE_EXPORT TDEOLPCMeshConnection : public TDENetworkConnection
958{
959 public:
960 TDEOLPCMeshConnection();
961 virtual ~TDEOLPCMeshConnection();
962
963 public:
964 TQByteArray SSID;
965 TQ_INT32 channel;
966 TQByteArray anycastDHCPHWAddress;
967};
968
969class TDECORE_EXPORT TDEBluetoothConnection : public TDENetworkConnection
970{
971 public:
972 TDEBluetoothConnection();
973 virtual ~TDEBluetoothConnection();
974
975 public:
976 TDEBluetoothConnectionType::TDEBluetoothConnectionType type;
977};
978
979class TDECORE_EXPORT TDEModemConnection : public TDENetworkConnection
980{
981 public:
982 TDEModemConnection();
983 virtual ~TDEModemConnection();
984
985 public:
986 TDEModemConnectionType::TDEModemConnectionType type;
987 TDENetworkCDMAConfiguration cdmaConfig;
988 TDENetworkGSMConfiguration gsmConfig;
989};
990
991typedef TQPtrList< TDENetworkConnection > TDENetworkConnectionList;
992
996class TDENetworkEventQueueEvent_Private
997{
998 public:
999 int eventType;
1000 TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags newState;
1001 TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags previousState;
1002 TDENetworkConnectionStatus::TDENetworkConnectionStatus newConnStatus;
1003 TDENetworkConnectionStatus::TDENetworkConnectionStatus previousConnStatus;
1004 TDEMACAddress BSSID;
1005 TQString message;
1006 TQString deviceNode;
1007 TDENetworkAPEventType::TDENetworkAPEventType apevent;
1008 TDENetworkDeviceEventType::TDENetworkDeviceEventType ndevent;
1009 TDENetworkVPNEventType::TDENetworkVPNEventType vpnevent;
1010 TDENetworkGlobalEventType::TDENetworkGlobalEventType globalevent;
1011};
1012typedef TQValueList<TDENetworkEventQueueEvent_Private> TDENetworkEventQueueEvent_PrivateList;
1013
1014class TQTimer;
1015
1016class TDECORE_EXPORT TDENetworkConnectionManager : public TQObject
1017{
1018 TQ_OBJECT
1019
1020 public:
1027 TDENetworkConnectionManager(TDENetworkDevice *networkDevice);
1028
1032 ~TDENetworkConnectionManager();
1033
1037 virtual TQString backendName() = 0;
1038
1042 virtual TDENetworkDeviceType::TDENetworkDeviceType deviceType() = 0;
1043
1047 virtual TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags backendStatus() = 0;
1048
1052 virtual TDENetworkDeviceInformation deviceInformation() = 0;
1053
1062 virtual TDENetworkDeviceInformation deviceStatus() = 0;
1063
1070 virtual void loadConnectionInformation() = 0;
1071
1078 virtual void loadConnectionAllowedValues(TDENetworkConnection* connection) = 0;
1079
1085 virtual bool loadConnectionSecrets(TQString uuid) = 0;
1086
1092 virtual bool saveConnection(TDENetworkConnection* connection) = 0;
1093
1099 virtual bool deleteConnection(TQString uuid) = 0;
1100
1110 virtual bool verifyConnectionSettings(TDENetworkConnection* connection, TDENetworkConnectionErrorFlags::TDENetworkConnectionErrorFlags* type=NULL, TDENetworkErrorStringMap* reason=NULL) = 0;
1111
1119 virtual TDENetworkConnectionStatus::TDENetworkConnectionStatus initiateConnection(TQString uuid) = 0;
1120
1125 virtual TDENetworkConnectionStatus::TDENetworkConnectionStatus checkConnectionStatus(TQString uuid) = 0;
1126
1132 virtual TDENetworkConnectionStatus::TDENetworkConnectionStatus deactivateConnection(TQString uuid) = 0;
1133
1139 virtual TQStringList validSettings() = 0;
1140
1150 virtual TDENetworkHWNeighborList* siteSurvey() = 0;
1151
1158 virtual TQStringList connectionPhysicalDeviceUUIDs(TQString uuid) = 0;
1159
1164 virtual TDENetworkVPNTypeList availableVPNTypes() = 0;
1165
1169 virtual bool networkingEnabled() = 0;
1170
1175 virtual bool enableNetworking(bool enable) = 0;
1176
1180 virtual bool wiFiHardwareEnabled() = 0;
1181
1186 virtual bool enableWiFi(bool enable) = 0;
1187
1191 virtual bool wiFiEnabled() = 0;
1192
1197 virtual TQStringList defaultNetworkDevices() = 0;
1198
1199 signals:
1204 void networkConnectionStateChanged(TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags newState, TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags previousState);
1205
1212 void networkDeviceStateChanged(TDENetworkConnectionStatus::TDENetworkConnectionStatus newState, TDENetworkConnectionStatus::TDENetworkConnectionStatus previousState, TQString deviceNode);
1213
1218 void accessPointStatusChanged(TDEMACAddress BSSID, TDENetworkAPEventType::TDENetworkAPEventType event);
1219
1225 void networkDeviceEvent(TDENetworkDeviceEventType::TDENetworkDeviceEventType event, TQString message);
1226
1232 void vpnEvent(TDENetworkVPNEventType::TDENetworkVPNEventType event, TQString message);
1233
1238 void networkManagementEvent(TDENetworkGlobalEventType::TDENetworkGlobalEventType event);
1239
1240 public:
1254 virtual TDENetworkConnectionList* connections();
1255
1259 TQString deviceNode();
1260
1264 TQString deviceMACAddress();
1265
1272 TDENetworkConnection* findConnectionByUUID(TQString uuid);
1273
1280 TDENetworkDevice* findDeviceByUUID(TQString uuid);
1281
1288 TDENetworkWiFiAPInfo* findAccessPointByBSSID(TDEMACAddress bssid);
1289
1293 static TQString friendlyConnectionTypeName(TDENetworkConnectionType::TDENetworkConnectionType type);
1294
1298 static bool validateIPAddress(TQHostAddress address);
1299
1303 static bool validateIPNeworkMask(TQHostAddress netmask);
1304
1305 protected:
1309 void clearTDENetworkConnectionList();
1310
1314 void clearTDENetworkHWNeighborList();
1315
1320 void internalNetworkConnectionStateChanged(TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags newState);
1321
1326 void internalNetworkDeviceStateChanged(TDENetworkConnectionStatus::TDENetworkConnectionStatus newState, TQString deviceNode=TQString::null);
1327
1332 void internalAccessPointStatusChanged(TDEMACAddress BSSID, TDENetworkAPEventType::TDENetworkAPEventType event);
1333
1338 void internalNetworkDeviceEvent(TDENetworkDeviceEventType::TDENetworkDeviceEventType event, TQString message);
1339
1344 void internalVpnEvent(TDENetworkVPNEventType::TDENetworkVPNEventType event, TQString message);
1345
1350 void internalNetworkManagementEvent(TDENetworkGlobalEventType::TDENetworkGlobalEventType event);
1351
1352 protected slots:
1353 void emitQueuedSignals();
1354
1355 protected:
1356 TDENetworkConnectionList* m_connectionList;
1357 TDENetworkHWNeighborList* m_hwNeighborList;
1358 TDENetworkDevice* m_networkDevice;
1359 TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags m_prevConnectionStatus;
1360 TQMap<TQString, TDENetworkConnectionStatus::TDENetworkConnectionStatus> m_prevDeviceStatus;
1361 TQTimer* m_emissionTimer;
1362 TDENetworkEventQueueEvent_PrivateList m_globalEventQueueEventList;
1363};
1364
1365class TDECORE_EXPORT TDEGlobalNetworkManager : public TQObject
1366{
1367 TQ_OBJECT
1368
1369 public:
1373 TDEGlobalNetworkManager();
1374
1378 ~TDEGlobalNetworkManager();
1379
1383 virtual TQString backendName();
1384
1388 virtual TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags backendStatus();
1389
1396 virtual void loadConnectionInformation();
1397
1404 virtual void loadConnectionAllowedValues(TDENetworkConnection* connection);
1405
1411 virtual bool loadConnectionSecrets(TQString uuid);
1412
1418 virtual bool saveConnection(TDENetworkConnection* connection);
1419
1425 virtual bool deleteConnection(TQString uuid);
1426
1436 virtual bool verifyConnectionSettings(TDENetworkConnection* connection, TDENetworkConnectionErrorFlags::TDENetworkConnectionErrorFlags* type=NULL, TDENetworkErrorStringMap* reason=NULL);
1437
1443 virtual TDENetworkConnectionStatus::TDENetworkConnectionStatus initiateConnection(TQString uuid);
1444
1449 virtual TDENetworkConnectionStatus::TDENetworkConnectionStatus checkConnectionStatus(TQString uuid);
1450
1456 virtual TDENetworkConnectionStatus::TDENetworkConnectionStatus deactivateConnection(TQString uuid);
1457
1463 virtual TQStringList validSettings();
1464
1474 virtual TDENetworkHWNeighborList* siteSurvey();
1475
1482 virtual TQStringList connectionPhysicalDeviceUUIDs(TQString uuid);
1483
1488 virtual TDENetworkVPNTypeList availableVPNTypes();
1489
1493 virtual bool networkingEnabled();
1494
1499 virtual bool enableNetworking(bool enable);
1500
1504 virtual bool wiFiHardwareEnabled();
1505
1510 virtual bool enableWiFi(bool enable);
1511
1515 virtual bool wiFiEnabled();
1516
1521 virtual TQStringList defaultNetworkDevices();
1522
1523 signals:
1528 void networkConnectionStateChanged(TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags newState, TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags previousState);
1529
1536 void networkDeviceStateChanged(TDENetworkConnectionStatus::TDENetworkConnectionStatus newState, TDENetworkConnectionStatus::TDENetworkConnectionStatus previousState, TQString deviceNode);
1537
1542 void accessPointStatusChanged(TDEMACAddress BSSID, TDENetworkAPEventType::TDENetworkAPEventType event);
1543
1549 void vpnEvent(TDENetworkVPNEventType::TDENetworkVPNEventType event, TQString message);
1550
1555 void networkManagementEvent(TDENetworkGlobalEventType::TDENetworkGlobalEventType event);
1556
1557 public:
1571 virtual TDENetworkConnectionList* connections();
1572
1579 TDENetworkConnection* findConnectionByUUID(TQString uuid);
1580
1587 TDENetworkDevice* findDeviceByUUID(TQString uuid);
1588
1595 TDENetworkWiFiAPInfo* findAccessPointByBSSID(TDEMACAddress bssid);
1596
1597 private:
1598 TDENetworkConnectionManager* m_internalConnectionManager;
1599};
1600
1601#endif // _TDENETWORKCONNECTIONS_H
TDENetworkEventQueueEvent_Private
INTERNAL CLASS.
Definition: tdenetworkconnections.h:997
KShell::NoError
@ NoError
Success.
Definition: kshell.h:68

tdecore

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

tdecore

Skip menu "tdecore"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdecore by doxygen 1.9.4
This website is maintained by Timothy Pearson.