mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 03:48:56 +00:00
Condition operators - Marked built-in operators as internal
Display conditions - Added docs to the service and profile types Color gradient - Added docs Storage - Moved profile entities to separate namespaces Data bindings - Added entities to storage Data bindings - Started implementing in the core
This commit is contained in:
1 parent
8d88b14d78
commit
68b61cbcb2
43 files changed
+1059
-324
No files matched your search
@@ -1,6 +1,51 @@
|
||||
namespace Artemis.Core.Services.Interfaces
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Artemis.Core.Annotations;
|
||||
using Artemis.Core.Models.Profile.DataBindings;
|
||||
using Artemis.Core.Models.Profile.DataBindings.Modifiers;
|
||||
using Artemis.Core.Plugins;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Artemis.Core.Services.Interfaces
|
||||
{
|
||||
public interface IDataBindingService : IArtemisService
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets a read-only collection of all registered modifier types
|
||||
/// </summary>
|
||||
IReadOnlyCollection<DataBindingModifierType> RegisteredDataBindingModifierTypes { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Registers a new modifier type for use in data bindings
|
||||
/// </summary>
|
||||
/// <param name="pluginInfo">The PluginInfo of the plugin this modifier type belongs to</param>
|
||||
/// <param name="dataBindingModifierType">The modifier type to register</param>
|
||||
void RegisterModifierType([NotNull] PluginInfo pluginInfo, [NotNull] DataBindingModifierType dataBindingModifierType);
|
||||
|
||||
/// <summary>
|
||||
/// Removes a modifier type so it is no longer available for use in data bindings
|
||||
/// </summary>
|
||||
/// <param name="dataBindingModifierType">The modifier type to remove</param>
|
||||
void RemoveModifierType([NotNull] DataBindingModifierType dataBindingModifierType);
|
||||
|
||||
/// <summary>
|
||||
/// Returns all the data binding modifier types compatible with the provided type
|
||||
/// </summary>
|
||||
List<DataBindingModifierType> GetCompatibleModifierTypes(Type type);
|
||||
|
||||
/// <summary>
|
||||
/// Gets a modifier type by its plugin GUID and type name
|
||||
/// </summary>
|
||||
/// <param name="modifierTypePluginGuid">The modifier type's plugin GUID</param>
|
||||
/// <param name="modifierType">The type name of the modifier type</param>
|
||||
/// <returns></returns>
|
||||
DataBindingModifierType GetModifierType(Guid modifierTypePluginGuid, string modifierType);
|
||||
|
||||
/// <summary>
|
||||
/// Logs a modifier deserialization failure
|
||||
/// </summary>
|
||||
/// <param name="dataBindingModifier">The modifier that failed to deserialize</param>
|
||||
/// <param name="exception">The JSON exception that occurred</param>
|
||||
void LogModifierDeserializationFailure(DataBindingModifier dataBindingModifier, JsonSerializationException exception);
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,14 @@ namespace Artemis.Core.Services.Interfaces
|
||||
{
|
||||
public interface IDataModelService : IArtemisService
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets a read-only collection of all registered condition operators
|
||||
/// </summary>
|
||||
IReadOnlyCollection<DisplayConditionOperator> RegisteredConditionOperators { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a read-only collection of all registered data model expansions
|
||||
/// </summary>
|
||||
IReadOnlyCollection<DataModel> DataModelExpansions { get; }
|
||||
|
||||
/// <summary>
|
||||
@@ -57,9 +64,30 @@ namespace Artemis.Core.Services.Interfaces
|
||||
/// <param name="displayConditionOperator">The layer condition operator to remove</param>
|
||||
void RemoveConditionOperator([NotNull] DisplayConditionOperator displayConditionOperator);
|
||||
|
||||
/// <summary>
|
||||
/// Returns all the display condition operators compatible with the provided type
|
||||
/// </summary>
|
||||
List<DisplayConditionOperator> GetCompatibleConditionOperators(Type type);
|
||||
|
||||
/// <summary>
|
||||
/// Gets a condition operator by its plugin GUID and type name
|
||||
/// </summary>
|
||||
/// <param name="operatorPluginGuid">The operator's plugin GUID</param>
|
||||
/// <param name="operatorType">The type name of the operator</param>
|
||||
DisplayConditionOperator GetConditionOperator(Guid operatorPluginGuid, string operatorType);
|
||||
|
||||
/// <summary>
|
||||
/// Logs a predicate deserialization failure
|
||||
/// </summary>
|
||||
/// <param name="displayConditionPredicate">The predicate that failed to deserialize</param>
|
||||
/// <param name="exception">The JSON exception that occurred</param>
|
||||
void LogPredicateDeserializationFailure(DisplayConditionPredicate displayConditionPredicate, JsonException exception);
|
||||
|
||||
/// <summary>
|
||||
/// Logs a list predicate deserialization failure
|
||||
/// </summary>
|
||||
/// <param name="displayConditionListPredicate">The list predicate that failed to deserialize</param>
|
||||
/// <param name="exception">The JSON exception that occurred</param>
|
||||
void LogListPredicateDeserializationFailure(DisplayConditionListPredicate displayConditionListPredicate, JsonException exception);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user