4#ifndef _Stroika_Foundation_IO_Network_Interface_h_
5#define _Stroika_Foundation_IO_Network_Interface_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
12#include "Stroika/Foundation/Common/Common.h"
14#include "Stroika/Foundation/Common/GUID.h"
15#include "Stroika/Foundation/Containers/Collection.h"
16#include "Stroika/Foundation/Containers/Set.h"
39 using Characters::String;
64#if qStroika_Foundation_Common_Platform_POSIX
69 nonvirtual
String GetInterfaceName ()
const;
113 eDeviceVirtualInternalNetwork,
121 optional<Type> fType;
143 optional<String> fSSID;
162 optional<State> fState;
179 optional<ConnectionMode> fConnectionMode;
181 optional<String> fProfileName;
195 optional<BSSType> fBSSType;
197 optional<String> fMACAddress;
218 optional<PhysicalConnectionType> fPhysicalConnectionType;
230 optional<bool> fSecurityEnabled;
231 optional<bool> f8021XEnabled;
249 optional<AuthAlgorithm> fAuthAlgorithm;
251 optional<String> fCipher;
259 optional<WirelessInfo> fWirelessInfo;
281 nonvirtual
String ToString ()
const;
292 optional<Containers::Sequence<InternetAddress>>
fGateways;
375#include "Interface.inl"
#define Stroika_Define_Enum_Bounds(FIRST_ITEM, LAST_ITEM)
String is like std::u32string, except it is much easier to use, often much more space efficient,...
A Collection<T> is a container to manage an un-ordered collection of items, without equality defined ...
nonvirtual optional< Interface > GetContainingAddress(const InternetAddress &ia)
nonvirtual Traversal::Iterable< Interface > GetAll()
nonvirtual optional< Interface > GetById(const Interface::SystemIDType &internalInterfaceID)
Iterable<T> is a base class for containers which easily produce an Iterator<T> to traverse them.
nonvirtual String ToString() const
optional< double > fSignalQuality
nonvirtual String ToString() const
optional< Containers::Set< Status > > fStatus
optional< Containers::Sequence< InternetAddress > > fDNSServers
optional< Containers::Sequence< InternetAddress > > fGateways
optional< uint64_t > fTransmitSpeedBaud
SystemIDType fInternalInterfaceID
optional< Common::GUID > fNetworkGUID
optional< String > fDescription
optional< uint64_t > fReceiveLinkSpeedBaud
optional< String > fHardwareAddress