ServiceAttributeDescriptors
ServiceAttributeDescriptors
#Overview
name: ServiceAttributeDescriptors
The value of this variable can be defined or overridden in .ini config files. 400
.ini config files referencing this setting variable.
It is referenced in 39
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of ServiceAttributeDescriptors is to define the attributes associated with online services in the Unreal Engine’s online subsystem. This variable is part of the schema system used to describe and configure online service attributes.
ServiceAttributeDescriptors is primarily used by the Online Services subsystem in Unreal Engine. It is a part of the schema configuration system that allows developers to define and customize attributes for online services.
The value of this variable is typically set in a FSchemaRegistryDescriptorConfig object, which is then parsed by the FSchemaRegistry class. This configuration is usually done during the initialization of the online services system.
ServiceAttributeDescriptors interacts closely with other schema-related variables, such as ServiceDescriptors. While ServiceDescriptors defines the services themselves, ServiceAttributeDescriptors defines the attributes of those services.
Developers must be aware that:
- Each attribute must have a unique ID within the service.
- Attributes have specific types, flags, and maximum lengths that need to be set correctly.
- The configuration of these attributes directly affects the functionality of online services.
Best practices when using this variable include:
- Ensuring all required attributes for a service are properly defined.
- Setting appropriate flags (e.g., Public, Private, Searchable) for each attribute.
- Using consistent naming conventions for attribute IDs.
- Carefully considering the maximum length for string attributes to balance functionality and performance.
- Thoroughly testing the configuration to ensure all online services function as expected with the defined attributes.
#Setting Variables
#References In INI files
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:4, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:5, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:6, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:7, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:8, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:9, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:10, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:11, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:12, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:13, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:14, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:15, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:16, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:17, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:18, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:19, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:20, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:21, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:22, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:23, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:24, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:25, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:26, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:27, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:28, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:29, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:30, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:31, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:32, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:33, section: [OnlineServices.EOS.Lobbies]
<Workspace>/Engine/Plugins/Online/OnlineServicesEOSGS/Config/Engine.ini:34, section: [OnlineServices.EOS.Lobbies]
... omitting 370 locations ...
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Plugins/Online/OnlineServices/Source/OnlineServicesCommon/Private/Online/LobbiesCommonTests.cpp:157
Scope (from outer to inner):
file
namespace UE::Online
function bool FClientLobbyDataTest::RunTest
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ LobbyServiceDescriptorId, { LobbyServiceAttributeId1, LobbyServiceAttributeId2, LobbyServiceAttributeId3 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ LobbyServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 64 });
SchemaConfig.ServiceAttributeDescriptors.Add({ LobbyServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 64 });
SchemaConfig.ServiceAttributeDescriptors.Add({ LobbyServiceAttributeId3, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 64 });
SchemaConfig.ServiceDescriptors.Add({ LobbyMemberServiceDescriptorId, { LobbyMemberServiceAttributeId1, LobbyMemberServiceAttributeId2 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ LobbyMemberServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 64 });
SchemaConfig.ServiceAttributeDescriptors.Add({ LobbyMemberServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 64 });
TSharedRef<FSchemaRegistry> SchemaRegistry = MakeShared<FSchemaRegistry>();
UTEST_TRUE("Schema config parsed successfully.", SchemaRegistry->ParseConfig(SchemaConfig));
TSharedPtr<const FSchemaDefinition> LobbySchemaDefinition = SchemaRegistry->GetDefinition(LobbySchemaId1);
UTEST_NOT_NULL("Lobby schema definition exists.", LobbySchemaDefinition.Get());
#Loc: <Workspace>/Engine/Plugins/Online/OnlineServices/Source/OnlineServicesInterface/Private/Online/Schema.cpp:61
Scope (from outer to inner):
file
namespace UE::Online
function bool FSchemaRegistry::ParseConfig
Source code excerpt:
// Populate known service attributes
TMap<FSchemaServiceAttributeId, const FSchemaServiceAttributeDescriptor*> KnownSchemaServiceAttributeDescriptors;
for (const FSchemaServiceAttributeDescriptor& SchemaServiceAttributeDescriptor : Config.ServiceAttributeDescriptors)
{
// Check that schema descriptor id has not already been used.
if (KnownSchemaServiceAttributeDescriptors.Contains(SchemaServiceAttributeDescriptor.Id))
{
UE_LOG(LogOnlineSchema, Error, TEXT("Duplicate schema service attribute descriptor found: %s"), *SchemaServiceAttributeDescriptor.Id.ToString().ToLower());
ParsedSuccessfully = false;
#Loc: <Workspace>/Engine/Plugins/Online/OnlineServices/Source/OnlineServicesInterface/Public/Online/SchemaTypes.h:412
Scope (from outer to inner):
file
namespace UE::Online
Source code excerpt:
* List of all service attributes
*/
TArray<FSchemaServiceAttributeDescriptor> ServiceAttributeDescriptors;
};
/**
* The runtime definition of a schema service attribute.
*/
struct FSchemaServiceAttributeDefinition
#Loc: <Workspace>/Engine/Plugins/Online/OnlineServices/Source/OnlineServicesInterface/Public/Online/SchemaTypes.h:712
Scope (from outer to inner):
file
namespace UE::Online
namespace Meta
Source code excerpt:
ONLINE_STRUCT_FIELD(FSchemaRegistryDescriptorConfig, SchemaCategoryAttributeDescriptors),
ONLINE_STRUCT_FIELD(FSchemaRegistryDescriptorConfig, ServiceDescriptors),
ONLINE_STRUCT_FIELD(FSchemaRegistryDescriptorConfig, ServiceAttributeDescriptors)
END_ONLINE_STRUCT_META()
/* Meta*/ }
/* UE::Online */ }
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:545
Scope: file
Source code excerpt:
FSchemaRegistryDescriptorConfig SchemaConfig;
SchemaConfig.ServiceDescriptors.Add({ TestServiceDescriptorId1, { TestAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ TestAttributeId1, { ESchemaServiceAttributeSupportedTypeFlags::String }, { ESchemaServiceAttributeFlags::Public, ESchemaServiceAttributeFlags::Private, ESchemaServiceAttributeFlags::Searchable }, 32 });
FSchemaRegistry SchemaRegistry;
CHECK(SchemaRegistry.ParseConfig(SchemaConfig));
}
SECTION("Invalid service attribute type")
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:555
Scope: file
Source code excerpt:
FSchemaRegistryDescriptorConfig SchemaConfig;
SchemaConfig.ServiceDescriptors.Add({ TestServiceDescriptorId1, { TestAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ TestAttributeId1, { ESchemaServiceAttributeSupportedTypeFlags::None }, { ESchemaServiceAttributeFlags::Public }, 32 });
FSchemaRegistry SchemaRegistry;
CHECK(SchemaRegistry.ParseConfig(SchemaConfig) == false);
}
SECTION("Invalid service attribute visibility")
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:565
Scope: file
Source code excerpt:
FSchemaRegistryDescriptorConfig SchemaConfig;
SchemaConfig.ServiceDescriptors.Add({ TestServiceDescriptorId1, { TestAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ TestAttributeId1, { ESchemaServiceAttributeSupportedTypeFlags::None }, {}, 32 });
FSchemaRegistry SchemaRegistry;
CHECK(SchemaRegistry.ParseConfig(SchemaConfig) == false);
}
SECTION("Inalid service attribute max length")
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:575
Scope: file
Source code excerpt:
FSchemaRegistryDescriptorConfig SchemaConfig;
SchemaConfig.ServiceDescriptors.Add({ TestServiceDescriptorId1, { TestAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ TestAttributeId1, { ESchemaServiceAttributeSupportedTypeFlags::String }, { ESchemaServiceAttributeFlags::Public }, 0 });
FSchemaRegistry SchemaRegistry;
CHECK(SchemaRegistry.ParseConfig(SchemaConfig) == false);
}
SECTION("Duplicate attribute id in service descriptor")
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:585
Scope: file
Source code excerpt:
FSchemaRegistryDescriptorConfig SchemaConfig;
SchemaConfig.ServiceDescriptors.Add({ TestServiceDescriptorId1, { TestAttributeId1, TestAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ TestAttributeId1, { ESchemaServiceAttributeSupportedTypeFlags::String }, {}, 32 });
FSchemaRegistry SchemaRegistry;
CHECK(SchemaRegistry.ParseConfig(SchemaConfig) == false);
}
SECTION("Duplicate service attribute descriptor")
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:595
Scope: file
Source code excerpt:
FSchemaRegistryDescriptorConfig SchemaConfig;
SchemaConfig.ServiceDescriptors.Add({ TestServiceDescriptorId1, { TestAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ TestAttributeId1, { ESchemaServiceAttributeSupportedTypeFlags::String }, { ESchemaServiceAttributeFlags::Public }, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ TestAttributeId1, { ESchemaServiceAttributeSupportedTypeFlags::String }, { ESchemaServiceAttributeFlags::Public }, 32 });
FSchemaRegistry SchemaRegistry;
CHECK(SchemaRegistry.ParseConfig(SchemaConfig) == false);
}
}
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:699
Scope: file
Source code excerpt:
SchemaConfig.SchemaAttributeDescriptors.Add({ AttributeId1, ESchemaAttributeType::String, { ESchemaAttributeFlags::Public }, 0, 32 });
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
FSchemaRegistry SchemaRegistry;
REQUIRE(SchemaRegistry.ParseConfig(SchemaConfig));
TSharedPtr<const FSchemaDefinition> SchemaDefinition = SchemaRegistry.GetDefinition(SchemaId);
REQUIRE(SchemaDefinition.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:742
Scope: file
Source code excerpt:
SchemaConfig.SchemaAttributeDescriptors.Add({ AttributeId1, ESchemaAttributeType::String, { ESchemaAttributeFlags::Public }, 0, 32 });
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, { ESchemaServiceAttributeFlags::Private }, 32 });
FSchemaRegistry SchemaRegistry;
REQUIRE(!SchemaRegistry.ParseConfig(SchemaConfig));
}
SECTION("Not enough private service attributes")
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:756
Scope: file
Source code excerpt:
SchemaConfig.SchemaAttributeDescriptors.Add({ AttributeId1, ESchemaAttributeType::String, { ESchemaAttributeFlags::Private }, 0, 32 });
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, { ESchemaServiceAttributeFlags::Public }, 32 });
FSchemaRegistry SchemaRegistry;
REQUIRE(!SchemaRegistry.ParseConfig(SchemaConfig));
}
SECTION("Not enough search service attributes")
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:770
Scope: file
Source code excerpt:
SchemaConfig.SchemaAttributeDescriptors.Add({ AttributeId1, ESchemaAttributeType::String, { ESchemaAttributeFlags::Public, ESchemaAttributeFlags::Searchable }, 0, 32 });
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, { ESchemaServiceAttributeFlags::Private }, 32 });
FSchemaRegistry SchemaRegistry;
REQUIRE(!SchemaRegistry.ParseConfig(SchemaConfig));
}
SECTION("Valid search service attributes")
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:784
Scope: file
Source code excerpt:
SchemaConfig.SchemaAttributeDescriptors.Add({ AttributeId1, ESchemaAttributeType::String, { ESchemaAttributeFlags::Public, ESchemaAttributeFlags::Searchable }, 0, 32 });
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, { ESchemaServiceAttributeFlags::Public, ESchemaServiceAttributeFlags::Searchable }, 32 });
FSchemaRegistry SchemaRegistry;
REQUIRE(SchemaRegistry.ParseConfig(SchemaConfig));
TSharedPtr<const FSchemaDefinition> SchemaDefinition = SchemaRegistry.GetDefinition(SchemaId);
REQUIRE(SchemaDefinition.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:810
Scope: file
Source code excerpt:
SchemaConfig.SchemaAttributeDescriptors.Add({ AttributeId1, ESchemaAttributeType::String, { ESchemaAttributeFlags::Public }, 0, 32 });
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, { ESchemaServiceAttributeSupportedTypeFlags::Bool }, AllSupportedServiceAttributeFlags, 32 });
FSchemaRegistry SchemaRegistry;
REQUIRE(!SchemaRegistry.ParseConfig(SchemaConfig));
}
SECTION("Not enough service attributes of string size")
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:824
Scope: file
Source code excerpt:
SchemaConfig.SchemaAttributeDescriptors.Add({ AttributeId1, ESchemaAttributeType::String, { ESchemaAttributeFlags::Public }, 0, 32 });
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, { ESchemaServiceAttributeSupportedTypeFlags::String }, AllSupportedServiceAttributeFlags, 31 });
FSchemaRegistry SchemaRegistry;
REQUIRE(!SchemaRegistry.ParseConfig(SchemaConfig));
}
// Verify that base schema attributes are assigned before derived schema.
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:845
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1, ServiceAttributeId2, ServiceAttributeId3 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId3, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
FSchemaRegistry SchemaRegistry;
REQUIRE(SchemaRegistry.ParseConfig(SchemaConfig));
TSharedPtr<const FSchemaDefinition> SchemaDefinition = SchemaRegistry.GetDefinition(BaseSchemaId);
REQUIRE(SchemaDefinition.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:880
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1, ServiceAttributeId2, ServiceAttributeId3 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId3, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
FSchemaRegistry SchemaRegistry;
REQUIRE(SchemaRegistry.ParseConfig(SchemaConfig));
TSharedPtr<const FSchemaDefinition> SchemaDefinition = SchemaRegistry.GetDefinition(BaseSchemaId);
REQUIRE(SchemaDefinition.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:915
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1, ServiceAttributeId2, ServiceAttributeId3 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId3, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
FSchemaRegistry SchemaRegistry;
REQUIRE(SchemaRegistry.ParseConfig(SchemaConfig));
TSharedPtr<const FSchemaDefinition> SchemaDefinition = SchemaRegistry.GetDefinition(BaseSchemaId);
REQUIRE(SchemaDefinition.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1055
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
TSharedRef<FSchemaRegistry> SchemaRegistry = MakeShared<FSchemaRegistry>();;
REQUIRE(SchemaRegistry->ParseConfig(SchemaConfig));
FSchemaCategoryInstance CategoryInstance(FSchemaId(), SchemaId1, CategoryId1, SchemaRegistry);
CHECK(CategoryInstance.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1076
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1, ServiceAttributeId2 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
TSharedRef<FSchemaRegistry> SchemaRegistry = MakeShared<FSchemaRegistry>();;
REQUIRE(SchemaRegistry->ParseConfig(SchemaConfig));
FSchemaCategoryInstance CategoryInstance(SchemaId1, BaseSchemaId1, CategoryId1, SchemaRegistry);
CHECK(!CategoryInstance.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1100
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1, ServiceAttributeId2, ServiceAttributeId3 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId3, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
TSharedRef<FSchemaRegistry> SchemaRegistry = MakeShared<FSchemaRegistry>();;
REQUIRE(SchemaRegistry->ParseConfig(SchemaConfig));
FSchemaCategoryInstance CategoryInstance(SchemaId1, BaseSchemaId1, CategoryId1, SchemaRegistry);
REQUIRE(CategoryInstance.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1130
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
TSharedRef<FSchemaRegistry> SchemaRegistry = MakeShared<FSchemaRegistry>();;
REQUIRE(SchemaRegistry->ParseConfig(SchemaConfig));
FSchemaCategoryInstance CategoryInstance1(FSchemaId(), SchemaId1, CategoryId1, SchemaRegistry);
REQUIRE(CategoryInstance1.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1172
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
TSharedRef<FSchemaRegistry> SchemaRegistry = MakeShared<FSchemaRegistry>();;
REQUIRE(SchemaRegistry->ParseConfig(SchemaConfig));
FSchemaCategoryInstance CategoryInstance1(FSchemaId(), SchemaId1, CategoryId1, SchemaRegistry);
REQUIRE(CategoryInstance1.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1200
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
TSharedRef<FSchemaRegistry> SchemaRegistry = MakeShared<FSchemaRegistry>();;
REQUIRE(SchemaRegistry->ParseConfig(SchemaConfig));
FSchemaCategoryInstance CategoryInstance1(FSchemaId(), SchemaId1, CategoryId1, SchemaRegistry);
REQUIRE(CategoryInstance1.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1228
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
TSharedRef<FSchemaRegistry> SchemaRegistry = MakeShared<FSchemaRegistry>();;
REQUIRE(SchemaRegistry->ParseConfig(SchemaConfig));
FSchemaCategoryInstance CategoryInstance1(FSchemaId(), SchemaId1, CategoryId1, SchemaRegistry);
REQUIRE(CategoryInstance1.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1256
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
TSharedRef<FSchemaRegistry> SchemaRegistry = MakeShared<FSchemaRegistry>();;
REQUIRE(SchemaRegistry->ParseConfig(SchemaConfig));
FSchemaCategoryInstance CategoryInstance1(FSchemaId(), SchemaId1, CategoryId1, SchemaRegistry);
REQUIRE(CategoryInstance1.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1280
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
TSharedRef<FSchemaRegistry> SchemaRegistry = MakeShared<FSchemaRegistry>();;
REQUIRE(SchemaRegistry->ParseConfig(SchemaConfig));
FSchemaCategoryInstance CategoryInstance1(FSchemaId(), SchemaId1, CategoryId1, SchemaRegistry);
REQUIRE(CategoryInstance1.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1313
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1, ServiceAttributeId2 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
TSharedRef<FSchemaRegistry> SchemaRegistry = MakeShared<FSchemaRegistry>();
REQUIRE(SchemaRegistry->ParseConfig(SchemaConfig));
FSchemaCategoryInstance CategoryInstance1(SchemaId1, BaseSchemaId1, CategoryId1, SchemaRegistry);
REQUIRE(CategoryInstance1.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1355
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1, ServiceAttributeId2 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
TSharedRef<FSchemaRegistry> SchemaRegistry = MakeShared<FSchemaRegistry>();
REQUIRE(SchemaRegistry->ParseConfig(SchemaConfig));
FSchemaCategoryInstance CategoryInstance1(SchemaId1, BaseSchemaId1, CategoryId1, SchemaRegistry);
REQUIRE(CategoryInstance1.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1417
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1, ServiceAttributeId2 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
REQUIRE(SchemaRegistry1->ParseConfig(SchemaConfig));
}
FSchemaCategoryInstance CategoryInstance1(SchemaId1, BaseSchemaId1, CategoryId1, SchemaRegistry1);
REQUIRE(CategoryInstance1.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1440
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1, ServiceAttributeId2 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
REQUIRE(SchemaRegistry2->ParseConfig(SchemaConfig));
}
FSchemaCategoryInstance CategoryInstance2(SchemaId2, BaseSchemaId1, CategoryId1, SchemaRegistry2);
REQUIRE(CategoryInstance2.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1490
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1, ServiceAttributeId2 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
REQUIRE(SchemaRegistry1->ParseConfig(SchemaConfig));
}
FSchemaCategoryInstance CategoryInstance1(SchemaId1, BaseSchemaId1, CategoryId1, SchemaRegistry1);
REQUIRE(CategoryInstance1.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1513
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1, ServiceAttributeId2 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
REQUIRE(SchemaRegistry2->ParseConfig(SchemaConfig));
}
FSchemaCategoryInstance CategoryInstance2(SchemaId1, BaseSchemaId1, CategoryId1, SchemaRegistry2);
REQUIRE(CategoryInstance2.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1624
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1, ServiceAttributeId2 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
REQUIRE(SchemaRegistry1->ParseConfig(SchemaConfig));
}
FSchemaCategoryInstance CategoryInstance1(SchemaId1, BaseSchemaId1, CategoryId1, SchemaRegistry1);
REQUIRE(CategoryInstance1.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1647
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1, ServiceAttributeId2 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
REQUIRE(SchemaRegistry2->ParseConfig(SchemaConfig));
}
FSchemaCategoryInstance CategoryInstance2(SchemaId1, BaseSchemaId1, CategoryId1, SchemaRegistry2);
REQUIRE(CategoryInstance2.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1696
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1, ServiceAttributeId2 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId2, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
REQUIRE(SchemaRegistry1->ParseConfig(SchemaConfig));
}
FSchemaCategoryInstance CategoryInstance1(SchemaId1, BaseSchemaId1, CategoryId1, SchemaRegistry1);
REQUIRE(CategoryInstance1.IsValid());
#Loc: <Workspace>/Engine/Source/Programs/Online/OnlineTestsCore/Source/Private/Tests/Schema/SchemaTests.cpp:1719
Scope: file
Source code excerpt:
SchemaConfig.ServiceDescriptors.Add({ ServiceDescriptorId, { ServiceAttributeId1, ServiceAttributeId3 } });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId1, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
SchemaConfig.ServiceAttributeDescriptors.Add({ ServiceAttributeId3, AllSupportedServiceAttributeTypes, AllSupportedServiceAttributeFlags, 32 });
REQUIRE(SchemaRegistry2->ParseConfig(SchemaConfig));
}
FSchemaCategoryInstance CategoryInstance2(SchemaId1, BaseSchemaId1, CategoryId1, SchemaRegistry2);
REQUIRE(CategoryInstance2.IsValid());