2020-01-14 06:02:27 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2020-01-13 07:16:09 -05:00
|
|
|
#include "Channel.h"
|
2020-01-13 11:01:14 -05:00
|
|
|
#include "UObject/NameTypes.h"
|
2020-01-20 12:10:31 -05:00
|
|
|
#include "Misc/DateTime.h"
|
2020-01-13 07:16:09 -05:00
|
|
|
|
2020-11-13 05:29:37 -04:00
|
|
|
namespace TraceServices
|
|
|
|
|
{
|
2020-01-13 07:16:09 -05:00
|
|
|
|
|
|
|
|
const FName FChannelProvider::ProviderName("ChannelProvider");
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
FChannelProvider::FChannelProvider()
|
|
|
|
|
{
|
2020-01-20 10:25:29 -05:00
|
|
|
TimeStamp = FDateTime::Now();
|
2020-01-13 07:16:09 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
2020-09-24 00:43:27 -04:00
|
|
|
void FChannelProvider::AnnounceChannel(const TCHAR* InChannelName, uint32 Id, bool bReadOnly)
|
2020-01-13 07:16:09 -05:00
|
|
|
{
|
2020-06-23 18:40:00 -04:00
|
|
|
FString ChannelName(InChannelName);
|
2020-10-26 03:29:23 -04:00
|
|
|
|
|
|
|
|
if (*InChannelName)
|
|
|
|
|
{
|
|
|
|
|
ChannelName.GetCharArray()[0] = TChar<TCHAR>::ToUpper(ChannelName.GetCharArray()[0]);
|
|
|
|
|
}
|
|
|
|
|
|
2020-01-13 07:16:09 -05:00
|
|
|
Channels.Add(FChannelEntry{
|
|
|
|
|
Id,
|
|
|
|
|
ChannelName,
|
2020-06-23 18:40:00 -04:00
|
|
|
false,
|
2020-09-24 00:43:27 -04:00
|
|
|
bReadOnly,
|
2020-01-13 07:16:09 -05:00
|
|
|
});
|
2020-01-20 10:25:29 -05:00
|
|
|
|
|
|
|
|
TimeStamp = FDateTime::Now();
|
2020-01-13 07:16:09 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
void FChannelProvider::UpdateChannel(uint32 Id, bool bEnabled)
|
|
|
|
|
{
|
|
|
|
|
const auto FoundEntry = Channels.FindByPredicate([Id](const FChannelEntry& Entry) {
|
|
|
|
|
return Entry.Id == Id;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (FoundEntry)
|
|
|
|
|
{
|
|
|
|
|
FoundEntry->bIsEnabled = bEnabled;
|
|
|
|
|
}
|
2020-01-20 10:25:29 -05:00
|
|
|
|
|
|
|
|
TimeStamp = FDateTime::Now();
|
2020-01-13 07:16:09 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
uint64 FChannelProvider::GetChannelCount() const
|
|
|
|
|
{
|
|
|
|
|
return Channels.Num();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
const TArray<FChannelEntry>& FChannelProvider::GetChannels() const
|
|
|
|
|
{
|
|
|
|
|
return Channels;
|
|
|
|
|
}
|
|
|
|
|
|
2020-01-20 10:25:29 -05:00
|
|
|
FDateTime FChannelProvider::GetTimeStamp() const
|
|
|
|
|
{
|
|
|
|
|
return TimeStamp;
|
|
|
|
|
}
|
|
|
|
|
|
2020-11-13 05:29:37 -04:00
|
|
|
} // namespace TraceServices
|