#pragma once

#include "CoreMinimal.h"
#include "LiveLinkSourceFactory.h"
#include "Networking.h"
#include "Sockets.h"
#include "SocketSubsystem.h"
#include "Interfaces/IPv4/IPv4Endpoint.h"
#include "iPiMocapLiveLinkSourceFactory.generated.h"

/**
 * 
 */
UCLASS()
class UiPiMocapLiveLinkSourceFactory : public ULiveLinkSourceFactory
{
	GENERATED_BODY()
	
	virtual FText GetSourceDisplayName() const override;
	virtual FText GetSourceTooltip() const override;

	virtual EMenuType GetMenuType() const override { return EMenuType::SubPanel; }
	virtual TSharedPtr<SWidget> BuildCreationPanel(FOnLiveLinkSourceCreated OnLiveLinkSourceCreated) const override;
	TSharedPtr<ILiveLinkSource> CreateSource(const FString& ConnectionString) const override;
private:
	void OnOkClicked(FIPv4Endpoint Endpoint, FOnLiveLinkSourceCreated OnLiveLinkSourceCreated) const;

};
