• Introduction
  • C# API
  • GraphQL API
  • Home
  • Blog
  • Docs
  • GitHub
  • Snowflake.Model.Game.LibraryExtensions
  • IGameConfigurationExtensionProvider
Show / Hide Table of Contents
  • Snowflake.Configuration
    • ConfigurationCollection<T>
    • ConfigurationCollectionDescriptor<T>
    • ConfigurationOptionDescriptor
    • ConfigurationOptionType
    • ConfigurationSection<T>
    • ConfigurationSectionDescriptor<T>
    • ConfigurationValueCollection
    • IConfigurationCollection
    • IConfigurationCollection<T>
    • IConfigurationCollectionDescriptor
    • IConfigurationOptionDescriptor
    • IConfigurationProperty
    • IConfigurationSection
    • IConfigurationSection<T>
    • IConfigurationSectionDescriptor
    • IConfigurationTypeMapper
    • IConfigurationValue
    • IConfigurationValueCollection
    • ISelectionOptionDescriptor
    • PathType
    • SelectionOptionDescriptor
  • Snowflake.Configuration.Attributes
    • ConfigurationOptionAttribute
    • ConfigurationSectionAttribute
    • ConfigurationTargetAttribute
    • ConfigurationTargetMemberAttribute
    • CustomMetadataAttribute
    • InputTemplateAttribute
    • SelectionOptionAttribute
  • Snowflake.Configuration.Input
    • DictionaryInputMapping
    • IDeviceInputMapping
    • IInputOption
    • IInputSerializer
    • IInputTemplate
    • IInputTemplate<T>
    • InputConfigurationSection<T>
    • InputOption
    • InputOptionAttribute
    • InputTemplate<T>
  • Snowflake.Configuration.Interceptors
    • ConfigurationInterceptor
  • Snowflake.Configuration.Serialization
    • AbstractConfigurationNode<T>
    • BooleanConfigurationNode
    • ConfigurationTarget
    • ConfigurationTraversalContext
    • DecimalConfigurationNode
    • DeviceCapabilityElementConfigurationNode
    • EnumConfigurationNode
    • IAbstractConfigurationNode
    • IAbstractConfigurationNode<T>
    • IConfigurationSerializationContext<T>
    • IConfigurationTarget
    • IConfigurationTransformer<TOutput>
    • IConfigurationTraversalContext
    • IntegralConfigurationNode
    • ListConfigurationNode
    • StringConfigurationNode
    • UnknownConfigurationNode
  • Snowflake.Configuration.Serialization.Serializers
    • AbstractStringConfigurationSerializer
    • ConfigurationSerializer<T>
    • StringSerializationContext
    • StringSerializationContextExtensions
  • Snowflake.Configuration.Serialization.Serializers.Implementations
    • SimpleCfgConfigurationSerializer
    • SimpleIniConfigurationSerializer
    • SimpleJsonConfigurationSerializer
    • SimpleXmlConfigurationSerializer
  • Snowflake.Extensibility
    • IEmptyPluginConfiguration
    • ILogger
    • IPlugin
    • IPluginCollection<T>
    • LogLevel
    • PluginAttribute
    • PluginCollection<T>
    • PluginInfoFields
  • Snowflake.Extensibility.Configuration
    • IPluginConfigurationStore
  • Snowflake.Extensibility.Provisioning
    • IPluginProperties
    • IPluginProvision
    • IProvisionedPlugin
    • PluginProvision
    • ProvisionedPlugin
  • Snowflake.Extensibility.Provisioning.Standalone
    • StandalonePlugin
    • StandalonePluginProvision
  • Snowflake.Extensibility.Queueing
    • IAsyncJobQueue
    • IAsyncJobQueue<T>
    • IAsyncJobQueue<TAsyncEnumerable, T>
    • IAsyncJobQueueFactory
  • Snowflake.Filesystem
    • DirectoryExtensions
    • FileExtensions
    • IDirectory
    • IFile
    • IIndelibleDirectory
    • IReadOnlyDirectory
    • IReadOnlyFile
  • Snowflake.Input.Controller
    • ControllerElement
    • ControllerElementCollection
    • ControllerElementExtensions
    • ControllerElementInfo
    • ControllerElementType
    • ControllerElementTypeExtensions
    • ControllerId
    • IControllerElementCollection
    • IControllerElementInfo
    • IControllerLayout
    • InvalidControllerIdException
  • Snowflake.Input.Controller.Mapped
    • ControllerElementMapping
    • ControllerElementMappingProfile
    • IControllerElementMappingProfile
    • IControllerElementMappingProfileStore
  • Snowflake.Input.Device
    • DefaultDeviceCapabilityLabels
    • DeviceCapability
    • DeviceCapabilityClass
    • DeviceCapabilityClasses
    • DeviceCapabilityExtensions
    • DeviceLayoutMapping
    • DictionaryDeviceCapabilityLabels
    • DirectInputDeviceInstance
    • IDeviceCapabilityLabels
    • IDeviceLayoutMapping
    • IInputDevice
    • IInputDeviceInstance
    • InputDriver
    • KeyboardDeviceInstance
    • PassthroughDeviceInstance
    • XInputDeviceInstance
  • Snowflake.Installation
    • AsyncInstallTask<T>
    • AsyncInstallTaskEnumerable<T>
    • ITaskResult
    • TaskResult
    • TaskResult<T>
  • Snowflake.Installation.Extensibility
    • GameInstaller
    • IGameInstaller
    • IInstallable
    • Installable
    • SupportedPlatformAttribute
  • Snowflake.Installation.Tasks
    • CopyDirectoryContentsTask
    • CopyFileTask
    • ExecuteAsyncTask<TResult>
    • ExtractZipTask
    • FailureTask<T>
  • Snowflake.Loader
    • IComposable
    • IModule
    • IModuleEnumerator
    • IModuleLoader<T>
    • ImportServiceAttribute
    • IServiceRepository
    • Module
  • Snowflake.Model.Database.Exceptions
    • DependentEntityNotExistsException
    • EntityAlreadyExistsException
  • Snowflake.Model.Database.Migrations
    • Empty
    • InitialCreate
  • Snowflake.Model.Game
    • Game
    • IGame
    • IGameExtension
    • IGameLibrary
    • IPlatformInfo
    • ISystemFile
    • PlatformId
  • Snowflake.Model.Game.LibraryExtensions
    • GameConfigurationExtensionExtensions
    • GameFileExtensionExtensions
    • IGameConfigurationExtension
    • IGameConfigurationExtensionProvider
    • IGameExtensionProvider
    • IGameExtensionProvider<TExtension>
    • IGameFileExtension
    • IGameFileExtensionProvider
  • Snowflake.Model.Records
    • FileRecord
    • GameRecord
    • IMetadataCollection
    • IRecord
    • IRecordMetadata
    • IRecordMetadataQuery
    • MetadataCollection
    • RecordMetadata
  • Snowflake.Model.Records.File
    • FileMetadataKeys
    • IFileRecord
    • ImageMetadataKeys
    • ImageTypes
  • Snowflake.Model.Records.Game
    • GameMetadataKeys
    • IGameRecord
    • IGameRecordQuery
  • Snowflake.Orchestration.Extensibility
    • EmulatedController
    • EmulatedPortsManager
    • EmulatorCompatibility
    • EmulatorOrchestrator
    • GameEmulation
    • GameEmulation<TConfigurationCollection>
    • GameEmulationState
    • IEmulatedController
    • IEmulatedPortDeviceEntry
    • IEmulatedPortsManager
    • IEmulatedPortStore
    • IEmulatorOrchestrator
    • IGameEmulation
  • Snowflake.Orchestration.Extensibility.Extensions
    • DeviceEnumeratorExtensions
  • Snowflake.Orchestration.Process
    • IEmulatorExecutable
    • IEmulatorExecutableProvider
    • IProcessBuilder
    • ProcessExtensions
  • Snowflake.Orchestration.Saving
    • GameFileExtensionGameSaveManagerExtensions
    • IGameSaveManager
    • ISaveGame
    • ISaveProfile
    • SaveGame
    • SaveManagementStrategy
  • Snowflake.Orchestration.SystemFiles
    • ISystemFileProvider
  • Snowflake.Persistence
    • ISqlDatabase
    • SqliteDatabase
    • SqliteMemoryDatabase
  • Snowflake.Remoting.Electron
    • IElectronPackage
    • IElectronPackageProvider
  • Snowflake.Remoting.Kestrel
    • IKestrelServerMiddlewareProvider
    • IKestrelWebServerService
  • Snowflake.Romfile
    • IFileSignature
    • IRomFileInfo
    • IStructuredFilename
    • NamingConvention
    • RomFileInfo
    • StructuredFilename
  • Snowflake.Romfile.Extensions
    • StringExtensions
  • Snowflake.Romfile.Tokenizer
    • FieldType
    • GoodToolsTokenClassifier
    • NoIntroTokenClassifier
    • StructuredFilenameToken
  • Snowflake.Scraping
    • GameScrapeContext
    • IScrapeContext
    • ISeed
    • ISeedRootContext
    • Seed
    • SeedContent
    • SeedRootContext
  • Snowflake.Scraping.Extensibility
    • AttachTarget
    • Culler
    • Directive
    • DirectiveAttribute
    • FileInstallationTraverserBase
    • GameMetadataTraverserBase
    • ICuller
    • IFileInstallationTraverser
    • IGameMetadataTraverser
    • IScraper
    • IScraperDirective
    • ITraverser<TProducts, TEffectTarget>
    • Scraper
    • SeedBuilder
    • SeedTree
    • Traverser<TProducts, TEffectTarget>
  • Snowflake.Services
    • IContentDirectoryProvider
    • IDeviceEnumerator
    • ILogProvider
    • IPluginManager
    • IServiceEnumerator
    • IServiceRegistrationProvider
    • IStoneProvider
  • Snowflake.Shiragame
    • IRomInfo
    • ISerialInfo
    • IShiragameProvider
    • RomInfo
    • SerialInfo

Interface IGameConfigurationExtensionProvider

Provides the IGameConfigurationExtension for a IGame, and exposes database-level methods that are not specific to a certain IGame instance.

Inherited Members
IGameExtensionProvider<IGameConfigurationExtension>.MakeExtension(IGameRecord)
Namespace: Snowflake.Model.Game.LibraryExtensions
Assembly: Snowflake.Framework.Primitives.dll
Syntax
public interface IGameConfigurationExtensionProvider : IGameExtensionProvider<IGameConfigurationExtension>, IGameExtensionProvider

Methods

DeleteProfile(Guid)

Deletes the profile with the given valueCollectionGuid

Declaration
void DeleteProfile(Guid valueCollectionGuid)
Parameters
Type Name Description
System.Guid valueCollectionGuid

The unique GUID of the configuration profile.

DeleteProfileAsync(Guid)

Asynchronously deletes the profile with the given valueCollectionGuid

Declaration
Task DeleteProfileAsync(Guid valueCollectionGuid)
Parameters
Type Name Description
System.Guid valueCollectionGuid

The unique GUID of the configuration profile.

Returns
Type Description
System.Threading.Tasks.Task

GetOwningValueCollection(Guid)

Gets the Guid of the value collection of the value in the in the database with the given valueGuid.

Declaration
Guid GetOwningValueCollection(Guid valueGuid)
Parameters
Type Name Description
System.Guid valueGuid

The unique GUID of the configuration value to update.

Returns
Type Description
System.Guid

GetOwningValueCollectionAsync(Guid)

Gets the Guid of the value collection of the value in the in the database with the given valueGuid asynchronously.

Declaration
Task<Guid> GetOwningValueCollectionAsync(Guid valueGuid)
Parameters
Type Name Description
System.Guid valueGuid

The unique GUID of the configuration value to update.

Returns
Type Description
System.Threading.Tasks.Task<System.Guid>

GetProfile<T>(Guid)

Gets the IConfigurationCollection<T> configuration profile with the given valueCollectionGuid

Declaration
IConfigurationCollection<T> GetProfile<T>(Guid valueCollectionGuid)

    where T : class, IConfigurationCollection<T>
Parameters
Type Name Description
System.Guid valueCollectionGuid

The unique GUID of the configuration profile.

Returns
Type Description
IConfigurationCollection<T>

The IConfigurationCollection<T> with the given GUID.

Type Parameters
Name Description
T

The configuration collection prototype.

GetProfileAsync<T>(Guid)

Asynchronously gets the IConfigurationCollection<T> configuration profile with the given valueCollectionGuid

Declaration
Task<IConfigurationCollection<T>> GetProfileAsync<T>(Guid valueCollectionGuid)

    where T : class, IConfigurationCollection<T>
Parameters
Type Name Description
System.Guid valueCollectionGuid

The unique GUID of the configuration profile.

Returns
Type Description
System.Threading.Tasks.Task<IConfigurationCollection<T>>

The IConfigurationCollection<T> with the given GUID.

Type Parameters
Name Description
T

The configuration collection prototype.

UpdateProfile(IConfigurationCollection)

Updates the entire IConfigurationCollection. Notice this method is type-agnostic and ignores the prototype of the IConfigurationCollection.

Declaration
void UpdateProfile(IConfigurationCollection profile)
Parameters
Type Name Description
IConfigurationCollection profile

The configuration collection to update.

UpdateProfileAsync(IConfigurationCollection)

Updates the entire IConfigurationCollection. Notice this method is type-agnostic and ignores the prototype of the IConfigurationCollection.

Declaration
Task UpdateProfileAsync(IConfigurationCollection profile)
Parameters
Type Name Description
IConfigurationCollection profile

The configuration collection to update.

Returns
Type Description
System.Threading.Tasks.Task

UpdateValue(IConfigurationValue)

Updates the given IConfigurationValue.

Declaration
void UpdateValue(IConfigurationValue newValue)
Parameters
Type Name Description
IConfigurationValue newValue

The new IConfigurationValue. A value with the same Guid must be present in the database, this is ensured if the value came from an existing IConfigurationCollection<T>.

UpdateValue(Guid, Object)

Updates the IConfigurationValue in the database with the given valueGuid and gives it the value newValue.

Declaration
void UpdateValue(Guid valueGuid, object newValue)
Parameters
Type Name Description
System.Guid valueGuid

The unique GUID of the configuration value to update.

System.Object newValue

The new value of the configuration value.

UpdateValueAsync(IConfigurationValue)

Asychronously updates the given IConfigurationValue.

Declaration
Task UpdateValueAsync(IConfigurationValue newValue)
Parameters
Type Name Description
IConfigurationValue newValue

The new IConfigurationValue. A value with the same Guid must be present in the database, this is ensured if the value came from an existing IConfigurationCollection<T>.

Returns
Type Description
System.Threading.Tasks.Task

UpdateValueAsync(Guid, Object)

Asynchronously updates the IConfigurationValue in the database with the given valueGuid and gives it the value newValue.

Declaration
Task UpdateValueAsync(Guid valueGuid, object newValue)
Parameters
Type Name Description
System.Guid valueGuid

The unique GUID of the configuration value to update.

System.Object newValue

The new value of the configuration value.

Returns
Type Description
System.Threading.Tasks.Task
In This Article
  • Methods
    • DeleteProfile(Guid)
    • DeleteProfileAsync(Guid)
    • GetOwningValueCollection(Guid)
    • GetOwningValueCollectionAsync(Guid)
    • GetProfile<T>(Guid)
    • GetProfileAsync<T>(Guid)
    • UpdateProfile(IConfigurationCollection)
    • UpdateProfileAsync(IConfigurationCollection)
    • UpdateValue(IConfigurationValue)
    • UpdateValue(Guid, Object)
    • UpdateValueAsync(IConfigurationValue)
    • UpdateValueAsync(Guid, Object)
Built with ❤️ by @chyyran. Text content licensed under CC-BY-SA 4.0.