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); }
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); }