public MessagesManager(MessagingService messagingService, ConnectionManager connectionManager, IMessageRepository messageRepository, ICryptoService cryptoService, IDeviceInfoProvider deviceInfoProvider) { this.messagingService = messagingService; this.messageRepository = messageRepository; this.cryptoService = cryptoService; this.deviceInfoProvider = deviceInfoProvider; connectionManager.Authenticated += OnAuthenticated; messagingService.DeliveryNotification += OnMessageDelivered; messagingService.IncomingMessage += msg => OnIncomingMessages(new [] { msg }); messagingService.SeenNotification += OnMessageSeen; EncryptionEnabled = true; }
public TypingService(MessagingService messagingService) { this.messagingService = messagingService; this.messagingService.IsTypingNotification += OnRemoteIsTyping; }
private static async void StartChatting() { connectionManager = new ConnectionManager(new WebSocketConnection(), new AdhocCredentialsProvider { AccessToken = "fake", DeviceId = myDeviceId, UserId = myUserId, PublicKey = new byte[] { 1, 2, 3 } }); messagingService = new MessagingService(connectionManager); groupChatsService = new GroupChatsService(connectionManager); connectionManager.Authenticated += OnAuthenticated; groupChatsService.GroupChanged += GroupChatsServiceOnGroupChanged; messagingService.IncomingMessage += MessagingServiceOnIncomingMessage; messagingService.IsTypingNotification += MessagingServiceOnIsTypingNotification; messagingService.DeliveryNotification += MessagingServiceOnDeliveryNotification; messagingService.SeenNotification += MessagingServiceOnSeenNotification; await connectionManager.TryKeepConnectionAsync(); }