58 lines
1.4 KiB
C++
58 lines
1.4 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "LiveLinkSourceSettings.h"
|
|
|
|
#include "LiveLinkFaceSourceSettings.generated.h"
|
|
|
|
class FLiveLinkFaceSource;
|
|
class FRegexPattern;
|
|
|
|
UCLASS()
|
|
class LIVELINKFACESOURCE_API ULiveLinkFaceSourceSettings : public ULiveLinkSourceSettings
|
|
{
|
|
public:
|
|
|
|
GENERATED_BODY()
|
|
|
|
/** Initialize the source settings with the owning source and a connection string in the format 'ADDRESS:PORT' **/
|
|
void Init(FLiveLinkFaceSource* InSource, const FString& InConnectionString);
|
|
|
|
/** Update the stored address value **/
|
|
void SetAddress(const FString& InAddress);
|
|
|
|
/** Update the stored port value **/
|
|
void SetPort(const uint16 InPort);
|
|
|
|
/** Update the stored subject name value **/
|
|
void SetSubjectName(const FString& InSubjectName);
|
|
|
|
/** Request the owning Live Link source to connect to the server **/
|
|
bool RequestConnect();
|
|
|
|
/** Check whether the stored address is valid **/
|
|
bool IsAddressValid() const;
|
|
|
|
/** Get the stored address value **/
|
|
const FString& GetAddress() const;
|
|
|
|
/** Get the stored port value **/
|
|
const uint16 GetPort() const;
|
|
|
|
/** Get the store subject name value **/
|
|
const FString& GetSubjectName() const;
|
|
|
|
private:
|
|
|
|
static const FRegexPattern IPAddressRegexPattern;
|
|
|
|
FLiveLinkFaceSource* Source = nullptr;
|
|
FString Address;
|
|
uint16 Port = 14785;
|
|
FString SubjectName;
|
|
|
|
void UpdateConnectionString();
|
|
|
|
};
|