The ICondition resource interface. More...

#include "murl_resource_i_condition.h"

Inherited by Murl::Resource::Condition.

Public Types

enum  Tag {
  TAG_LANGUAGE , TAG_TARGET_CLASS , TAG_TARGET_DEVICE , TAG_OPERATING_SYSTEM ,
  TAG_GPU , TAG_PRESCALE_FACTOR , TAG_VIDEO_API , TAG_AUDIO_API ,
  TAG_FEATURE , TAG_USER_CONFIGURATION , TAG_TARGET_HOST , TAG_VALUE_MASK ,
  TAG_KEY_MASK , TAG_COMBINE_MASK , TAG_INCLUDE_MASK , TAG_EXCLUDE_MASK ,
  TAG_SHIFT
}
 Condition tags. More...
 

Public Member Functions

virtual Bool IsValidForConfiguration (const IAppConfiguration *appConfig) const =0
 Check if the condition holds for a given configuration. More...
 
virtual const UInt32GetTags () const =0
 Get a raw pointer to the tags. More...
 
virtual UInt32 GetNumberOfTags () const =0
 Get the number of tags present. More...
 
virtual const Char *const * GetStrings () const =0
 Get a raw pointer to the user-defined configuration strings. More...
 
virtual UInt32 GetNumberOfStrings () const =0
 Get the number of user-defined configuration strings. More...
 

Detailed Description

The ICondition resource interface.

The condition interface represents a mechanism for checking if a resource is valid for a given configuration, queried via an IAppConfiguration object. The resource may contain any number of tag key/value pairs, which specify the individual configuration item(s) to check. All of the given values must match the given configuration for the resource to be valid.

Member Enumeration Documentation

◆ Tag

Condition tags.

Enumerator
TAG_LANGUAGE 

Current language, see IAppConfiguration::IsLanguageMatching().

TAG_TARGET_CLASS 

Target class, see IPlatformConfiguration::IsTargetClassMatching().

TAG_TARGET_DEVICE 

Target device, see IPlatformConfiguration::IsTargetDeviceMatching().

TAG_OPERATING_SYSTEM 

Operating system, see IPlatformConfiguration::IsOperatingSystemMatching().

TAG_GPU 

GPU, see IPlatformConfiguration::IsGpuMatching().

TAG_PRESCALE_FACTOR 

Texture prescale factor, see IEngineConfiguration::IsTexturePrescaleDivisorMatching().

TAG_VIDEO_API 

Selected video API, see IEngineConfiguration::IsVideoApiMatching().

TAG_AUDIO_API 

Selected audio API, see IEngineConfiguration::IsAudioApiMatching().

TAG_FEATURE 

Engine features, see IEngineConfiguration::GetFeatures().

TAG_USER_CONFIGURATION 

User-defined configuration, see IAppConfiguration::IsUserConfigurationMatching().

TAG_TARGET_HOST 

Target host, see IPlatformConfiguration::IsTargetHostMatching().

TAG_VALUE_MASK 

Bit mask for tag value.

TAG_KEY_MASK 

Bit mask for tag key.

TAG_COMBINE_MASK 

Tag key flag to combine multiple tags of the same type.

TAG_INCLUDE_MASK 

Tag key flag to include the given value in the valid configuration set.

TAG_EXCLUDE_MASK 

Tag key flag to exclude the given value from the valid configuration set.

TAG_SHIFT 

Number of bits to shift the tag key to the left.

Member Function Documentation

◆ IsValidForConfiguration()

virtual Bool Murl::Resource::ICondition::IsValidForConfiguration ( const IAppConfiguration appConfig) const
pure virtual

Check if the condition holds for a given configuration.

Parameters
appConfigThe configuration object to check against.
Returns
true if the condition holds.

◆ GetTags()

virtual const UInt32* Murl::Resource::ICondition::GetTags ( ) const
pure virtual

Get a raw pointer to the tags.

Returns
A pointer to the tags, or null if none are defined.

◆ GetNumberOfTags()

virtual UInt32 Murl::Resource::ICondition::GetNumberOfTags ( ) const
pure virtual

Get the number of tags present.

Returns
The number of tags.

◆ GetStrings()

virtual const Char* const* Murl::Resource::ICondition::GetStrings ( ) const
pure virtual

Get a raw pointer to the user-defined configuration strings.

Returns
A pointer to the C string array, or null if none are defined.

◆ GetNumberOfStrings()

virtual UInt32 Murl::Resource::ICondition::GetNumberOfStrings ( ) const
pure virtual

Get the number of user-defined configuration strings.

Returns
The number of strings.

The documentation for this interface was generated from the following file:
  • murl_resource_i_condition.h


Copyright © 2011-2024 Spraylight GmbH.