Пример #1
0
 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);
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }