diff --git a/Example.Backend/Program.cs b/Example.Backend/Program.cs index 8778a07..513f796 100644 --- a/Example.Backend/Program.cs +++ b/Example.Backend/Program.cs @@ -13,7 +13,6 @@ class Program { public static void Main(string[] args) { - new mROA.Codegen.CoCodegenMethodRepository(); new CoCodegenMethodRepository(); var builder = new FullMixBuilder(); // builder.UseJsonSerialisation(); diff --git a/mROA.Codegen/mROA.Codegen.csproj b/mROA.Codegen/mROA.Codegen.csproj index 7fa5e54..2f199bd 100644 --- a/mROA.Codegen/mROA.Codegen.csproj +++ b/mROA.Codegen/mROA.Codegen.csproj @@ -42,15 +42,5 @@ - - $(GetTargetPathDependsOn);GetDependencyTargetPaths - - - - - - - - diff --git a/mROA.Codegen/mROASourceGenerator.cs b/mROA.Codegen/mROASourceGenerator.cs index 0b39279..b644989 100644 --- a/mROA.Codegen/mROASourceGenerator.cs +++ b/mROA.Codegen/mROASourceGenerator.cs @@ -94,7 +94,7 @@ namespace mROA.Codegen var invokers = new List(); - var declarations = classes.ToList().OrderBy(i => i.Identifier.Text).ToList(); + var declarations = classes.ToList(); foreach (var classDeclarationSyntax in declarations) { var semanticModel = compilation.GetSemanticModel(classDeclarationSyntax.SyntaxTree); diff --git a/mROA/Abstract/IEndPointContext.cs b/mROA/Abstract/IEndPointContext.cs index 8b5db20..ca2a288 100644 --- a/mROA/Abstract/IEndPointContext.cs +++ b/mROA/Abstract/IEndPointContext.cs @@ -1,9 +1,12 @@ -namespace mROA.Abstract +using mROA.Implementation; + +namespace mROA.Abstract { public interface IEndPointContext : IInjectableModule { IInstanceRepository RealRepository { get; } IInstanceRepository RemoteRepository { get; } + ICallIndexProvider CallIndexProvider { get; } int HostId { get; set; } int OwnerId { get; set; } } diff --git a/mROA/Implementation/Attributes/ApiLevelAttribute.cs b/mROA/Implementation/Attributes/ApiLevelAttribute.cs new file mode 100644 index 0000000..ccc0146 --- /dev/null +++ b/mROA/Implementation/Attributes/ApiLevelAttribute.cs @@ -0,0 +1,18 @@ +using System; + +namespace mROA.Implementation.Attributes +{ + public class ApiLevelAttribute : Attribute + { + public int ApiLevel { get; set; } + public ApiLevelAttribute(int level) + { + ApiLevel = level; + } + + public ApiLevelAttribute() : this(0) + { + + } + } +} \ No newline at end of file diff --git a/mROA/Implementation/CallIndexConfig.cs b/mROA/Implementation/CallIndexConfig.cs new file mode 100644 index 0000000..eea747c --- /dev/null +++ b/mROA/Implementation/CallIndexConfig.cs @@ -0,0 +1,16 @@ +using System.Collections.Generic; + +namespace mROA.Implementation +{ + public class CallIndexConfig : List + { + } + + public class IndexSpan + { + public string Identifier { get; set; } + public int ApiLevel { get; set; } + public int Offset { get; set; } + public int Length { get; set; } + } +} \ No newline at end of file diff --git a/mROA/Implementation/EndPointContext.cs b/mROA/Implementation/EndPointContext.cs index 5694614..b99de17 100644 --- a/mROA/Implementation/EndPointContext.cs +++ b/mROA/Implementation/EndPointContext.cs @@ -7,9 +7,12 @@ namespace mROA.Implementation { public IInstanceRepository RealRepository { get; set; } public IInstanceRepository RemoteRepository { get; set; } + public ICallIndexProvider CallIndexProvider { get; } + public CallIndexConfig CallIndexConfig { get; set; } public int HostId { get; set; } public int OwnerId { get; set; } + public void Inject(T dependency) { diff --git a/mROA/Implementation/IdAssignment.cs b/mROA/Implementation/IdAssignment.cs index 068a5ff..efc6fef 100644 --- a/mROA/Implementation/IdAssignment.cs +++ b/mROA/Implementation/IdAssignment.cs @@ -3,7 +3,7 @@ namespace mROA.Implementation public class IdAssignment : INetworkMessage { public int Id { get; set; } - + public CallIndexConfig IndexConfig { get; set; } public EMessageType MessageType => EMessageType.IdAssigning; }