partial         void SetupRemoteProcedureCaller(IRemoteProcedureCaller remoteProcedureCaller)
        {
            remoteProcedureCaller.PrepareSerializersForAllTLObjectsInAssembly(typeof (IMTProtoAsyncMethods).GetAssemblyEx());

            var flags = new Dictionary<Type, MessageSendingFlags>
            {
                {typeof (ReqPqArgs), MessageSendingFlags.None},
                {typeof (ReqDHParamsArgs), MessageSendingFlags.None},
                {typeof (SetClientDHParamsArgs), MessageSendingFlags.None},
                {typeof (HttpWaitArgs), MessageSendingFlags.Encrypted},
            };
            remoteProcedureCaller.SetMessageSendingFlags(flags);
        }
        public static Func <IServiceProvider, TInterface> Factory(IRemoteProcedureCaller remoteProcedureCaller)
        {
            StaticInterfaceDescriptor <TInterface> .Build();

            return((IServiceProvider serviceProvider) =>
            {
                var type = StaticInterfaceDescriptor <TInterface> .CachedType;
                var dictionary = StaticInterfaceDescriptor <TInterface> .MethodDictionary;
                var serializer = serviceProvider.GetService <IRemoteProcedureSerializer>();
                var instance = Activator.CreateInstance(type, remoteProcedureCaller, serializer, dictionary);

                return (TInterface)instance;
            });
        }
        partial void SetupRemoteProcedureCaller(IRemoteProcedureCaller remoteProcedureCaller)
        {
            remoteProcedureCaller.PrepareSerializersForAllTLObjectsInAssembly(typeof(IMTProtoAsyncMethods).Assembly);

            var flags = new Dictionary <Type, MessageSendingFlags>
            {
                { typeof(ReqPqArgs), MessageSendingFlags.None },
                { typeof(ReqDHParamsArgs), MessageSendingFlags.None },
                { typeof(SetClientDHParamsArgs), MessageSendingFlags.None },
                { typeof(HttpWaitArgs), MessageSendingFlags.Encrypted },
            };

            remoteProcedureCaller.SetMessageSendingFlags(flags);
        }
Example #4
0
        public RemoteService(IRemoteProcedureCaller remoteProcedureCaller, IRemoteProcedureSerializer remoteProcedureSerializer, MethodDictionary methodDictionary)
        {
            _remoteProcedureSerializer = remoteProcedureSerializer;
            _methodDictionary          = methodDictionary;

            _remoteSessionInformation = new RemoteSessionInformation
            {
                InstanceId = InstanceId,
                ScopeId    = Guid.Empty,
                ActionId   = Guid.Empty
            };

            _remoteProcedureCaller = remoteProcedureCaller;
        }
partial         void SetupRemoteProcedureCaller(IRemoteProcedureCaller remoteProcedureCaller)
        {
            remoteProcedureCaller.PrepareSerializersForAllTLObjectsInAssembly(
                typeof (ITelegramAsyncMethods).GetAssemblyEx());
        }
 partial void SetupRemoteProcedureCaller(IRemoteProcedureCaller remoteProcedureCaller)
 {
     remoteProcedureCaller.PrepareSerializersForAllTLObjectsInAssembly(
         typeof(ITelegramAsyncMethods).Assembly);
 }
 partial void SetupRemoteProcedureCaller(IRemoteProcedureCaller remoteProcedureCaller);
 public TelegramAsyncMethods(IRemoteProcedureCaller remoteProcedureCaller)
 {
     _remoteProcedureCaller = remoteProcedureCaller;
     SetupRemoteProcedureCaller(remoteProcedureCaller);
 }
Example #9
0
 partial void SetupRemoteProcedureCaller(IRemoteProcedureCaller remoteProcedureCaller);
Example #10
0
 public TelegramAsyncMethods(IRemoteProcedureCaller remoteProcedureCaller)
 {
     _remoteProcedureCaller = remoteProcedureCaller;
     SetupRemoteProcedureCaller(remoteProcedureCaller);
 }