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/KeyedCollection.h"
17#include "Stroika/Foundation/Containers/Set.h"
20#include "Stroika/Foundation/IO/Network/SocketAddress.h"
41 using Characters::String;
72#if qStroika_Platform_POSIX
77 nonvirtual
String GetInterfaceName ()
const;
163 optional<Type> fType;
185 optional<String> fSSID;
204 optional<State> fState;
221 optional<ConnectionMode> fConnectionMode;
223 optional<String> fProfileName;
237 optional<BSSType> fBSSType;
239 optional<String> fMACAddress;
260 optional<PhysicalConnectionType> fPhysicalConnectionType;
272 optional<bool> fSecurityEnabled;
273 optional<bool> f8021XEnabled;
291 optional<AuthAlgorithm> fAuthAlgorithm;
293 optional<String> fCipher;
301 optional<WirelessInfo> fWirelessInfo;
323 nonvirtual
String ToString ()
const;
334 optional<Containers::Sequence<InternetAddress>>
fGateways;
454#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 ...
a cross between Mapping<KEY, T> and Collection<T> and Set<T>
nonvirtual InterfacesByID GetAll()
nonvirtual optional< Interface > GetById(const Interface::SystemIDType &interfaceID)
nonvirtual optional< Interface > GetContainingAddress(const InternetAddress &ia)
optional< InternetAddress > GetLocalAddressToReach(const SocketAddress &peer)
This machine's address for reaching peer - the local address a datagram sent to peer would carry,...
nonvirtual String ToString() const
optional< double > fSignalQuality
nonvirtual String ToString() const
optional< Containers::Set< Status > > fStatus
optional< Containers::Sequence< InternetAddress > > fDNSServers
static constexpr unsigned int kAnyIndex
optional< Containers::Sequence< InternetAddress > > fGateways
optional< uint64_t > fTransmitSpeedBaud
optional< Common::GUID > fNetworkGUID
optional< String > fDescription
SystemIDType fInterfaceID
optional< uint64_t > fReceiveLinkSpeedBaud
@ eDeviceVirtualInternalNetwork
optional< unsigned int > fIndex
optional< String > fHardwareAddress