//
using System.Collections.Generic;
using System.Reflection;
using System;
using mROA.Abstract;
using mROA.Implementation.Backend;
using mROA.Implementation;
namespace mROA.Codegen
{
public sealed class RemoteTypeBinder
{
static RemoteTypeBinder(){
RemoteContextRepository.RemoteTypes = new Dictionary {
,
};
ContextRepository.EventBinders = new object[] {
new EventBinder<>
{
BindAction = (instance, context, representationProducer, index) =>
{
var ownerId = context.OwnerId;
var module = representationProducer.Produce(ownerId);
(instance as ). += () =>
{
Console.WriteLine($"Try to send to {ownerId} with hash code {context.GetHashCode()}");
Console.WriteLine("Sending event...");
var request = new DefaultCallRequest
{
CommandId = ,
ObjectId = new ComplexObjectIdentifier(index, ownerId),
Parameters = new object[] { }
};
module.PostCallMessageAsync(request.Id, EMessageType.EventRequest, request, context);
};
}
}
};
}
}
}