public AgentCore(IProtocol protocol) { _ReturnValueQueue = new ReturnValueQueue(); _Protocol = protocol; _GhostProvider = _Protocol.GetInterfaceProvider(); _Serializer = _Protocol.GetSerialize(); _Providers = new Dictionary <Type, IProvider>(); _AutoRelease = new AutoRelease(_Requester, _Serializer); }
public GhostProvider(IProtocol protocol, IGhostRequest req) { _Active = false; _Requester = req; _NotifierPassage = new SoulNotifier(); _ReturnValueQueue = new ReturnValueQueue(); _Protocol = protocol; _InterfaceProvider = _Protocol.GetInterfaceProvider(); _Serializer = _Protocol.GetSerialize(); _Providers = new Dictionary <Type, IProvider>(); _AutoRelease = new AutoRelease(_Requester, _Serializer); }
public static IProtocol CreateProtocol(ISerializer serializer) { IProtocol protocol = NSubstitute.Substitute.For <IProtocol>(); var types = new System.Collections.Generic.Dictionary <System.Type, System.Type>(); types.Add(typeof(IGpiA), typeof(GhostIGpiA)); InterfaceProvider interfaceProvider = new InterfaceProvider(types); protocol.GetInterfaceProvider().Returns(interfaceProvider); protocol.GetSerialize().Returns(serializer); System.Func <IProvider> gpiaProviderProvider = () => new TProvider <IGpiA>(); System.Tuple <System.Type, System.Func <IProvider> >[] typeProviderProvider = new System.Tuple <System.Type, System.Func <IProvider> >[] { new System.Tuple <System.Type, System.Func <IProvider> >(typeof(IGpiA), gpiaProviderProvider) }; protocol.GetMemberMap().Returns(new MemberMap(new System.Reflection.MethodInfo[0], new System.Reflection.EventInfo[0], new System.Reflection.PropertyInfo[0], typeProviderProvider)); return(protocol); }