You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
84 lines
2.5 KiB
C++
84 lines
2.5 KiB
C++
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "Sockets.h"
|
|
#include "IPAddress.h"
|
|
|
|
class FSocketRaw;
|
|
class FSocketX : public FSocket
|
|
{
|
|
public:
|
|
FSocketX(FSocketRaw* InSocket, ESocketType InSocketType, const FString& InSocketDescription, ISocketSubsystem * InSubsystem)
|
|
: FSocket(InSocketType, InSocketDescription)
|
|
, Pimpl(InSocket)
|
|
, SocketSubsystem(InSubsystem)
|
|
{}
|
|
|
|
virtual bool Close();
|
|
|
|
virtual bool Bind( const FInternetAddr& Addr );
|
|
|
|
virtual bool Connect( const FInternetAddr& Addr );
|
|
|
|
virtual bool Listen( int32 MaxBacklog );
|
|
|
|
virtual bool HasPendingConnection( bool& bHasPendingConnection );
|
|
|
|
virtual bool HasPendingData( uint32& PendingDataSize );
|
|
|
|
virtual class FSocket* Accept( const FString& SocketDescription );
|
|
|
|
virtual class FSocket* Accept( FInternetAddr& OutAddr, const FString& SocketDescription );
|
|
|
|
virtual bool SendTo( const uint8* Data, int32 Count, int32& BytesSent, const FInternetAddr& Destination );
|
|
|
|
virtual bool Send( const uint8* Data, int32 Count, int32& BytesSent );
|
|
|
|
virtual bool RecvFrom( uint8* Data, int32 BufferSize, int32& BytesRead, FInternetAddr& Source, ESocketReceiveFlags::Type Flags = ESocketReceiveFlags::None );
|
|
|
|
virtual bool Recv( uint8* Data, int32 BufferSize, int32& BytesRead, ESocketReceiveFlags::Type Flags = ESocketReceiveFlags::None );
|
|
|
|
virtual bool Wait( ESocketWaitConditions::Type Condition, FTimespan WaitTime );
|
|
|
|
virtual ESocketConnectionState GetConnectionState();
|
|
|
|
virtual void GetAddress( FInternetAddr& OutAddr );
|
|
|
|
virtual bool GetPeerAddress( FInternetAddr& OutAddr ) override;
|
|
|
|
virtual bool SetNonBlocking( bool bIsNonBlocking = true );
|
|
|
|
virtual bool SetBroadcast( bool bAllowBroadcast = true );
|
|
|
|
virtual bool JoinMulticastGroup( const FInternetAddr& GroupAddress );
|
|
|
|
virtual bool LeaveMulticastGroup( const FInternetAddr& GroupAddress );
|
|
|
|
virtual bool SetMulticastLoopback( bool bLoopback );
|
|
|
|
virtual bool SetMulticastTtl( uint8 TimeToLive );
|
|
|
|
virtual bool SetReuseAddr( bool bAllowReuse = true );
|
|
|
|
virtual bool SetLinger( bool bShouldLinger = true, int32 Timeout = 0 );
|
|
|
|
virtual bool SetRecvErr( bool bUseErrorQueue = true );
|
|
|
|
virtual bool SetSendBufferSize( int32 Size, int32& NewSize );
|
|
|
|
virtual bool SetReceiveBufferSize( int32 Size, int32& NewSize );
|
|
|
|
virtual int32 GetPortNo();
|
|
|
|
static bool Init();
|
|
static bool GetHostByName( char const *NAME, FInternetAddr& Address );
|
|
static bool GetHostName( char *NAME );
|
|
|
|
bool IsValid();
|
|
private:
|
|
|
|
FSocketRaw* Pimpl;
|
|
|
|
ISocketSubsystem *SocketSubsystem;
|
|
}; |