Files
UnrealEngineUWP/Engine/Source/Runtime/Sockets/Private/Android/SocketsAndroid.h
Rafa Lecina a4120e35ca Fix Find/Join session using OSSNull on Android.
In order to use multicast communication or broadcasts Android applications need the CHANGE_WIFI_MULTICAST_STATE permission and acquiring a WifiManager.MulticastLock

#jira UE-165411
#review @Bertrand.Carre, @Chris.Varnsverry, @Chris.Babcock, @Jack.Porter
#preflight 63e363beb923ed4bdd350643

[CL 24069824 by Rafa Lecina in ue5-main branch]
2023-02-08 04:18:21 -05:00

26 lines
749 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "BSDSockets/SocketsBSD.h"
class FSocketAndroid
: public FSocketBSD
{
public:
using FSocketBSD::FSocketBSD;
virtual ~FSocketAndroid() override;
// FSocket overrides already overriden by FSocketBSD
// Those will wrap the FSocketBSD implementation and acquire the multicast lock if needed
virtual bool SetBroadcast(bool bAllowBroadcast = true) override;
virtual bool JoinMulticastGroup(const FInternetAddr& GroupAddress) override;
virtual bool JoinMulticastGroup(const FInternetAddr& GroupAddress, const FInternetAddr& InterfaceAddress) override;
private:
void AcquireMulticastLock();
void ReleaseMulticastLock();
bool bIsMulticastLockAcquired = false;
};