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:

  1. Each attribute must have a unique ID within the service.
  2. Attributes have specific types, flags, and maximum lengths that need to be set correctly.
  3. The configuration of these attributes directly affects the functionality of online services.

Best practices when using this variable include:

  1. Ensuring all required attributes for a service are properly defined.
  2. Setting appropriate flags (e.g., Public, Private, Searchable) for each attribute.
  3. Using consistent naming conventions for attribute IDs.
  4. Carefully considering the maximum length for string attributes to balance functionality and performance.
  5. 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());