Beispiel #1
0
        private void HandleClientMessageReceivedOrSent(MessageReceivedEventArgs e)
        {
            Console.WriteLine("Starting handle");
            var dto = CampfireChatSerializer.Deserialize(e);

            switch (dto.GetType().Name)
            {
            case nameof(ChatMessageDto):
                var message = (ChatMessageDto)dto;
                Console.WriteLine("Calling handle now");
                ChatRoomTable.GetOrCreate(message.BroadcastMessage.DestinationId).HandleMessageReceived(message);
                break;
            }
        }
Beispiel #2
0
 public ChatRoomContext ConfigurePrivateChatRoom(IdentityHash hash, byte[] symmetricKey)
 {
     CampfireNetClient.IdentityManager.AddMulticastKey(hash, symmetricKey);
     return(ChatRoomTable.GetOrCreate(hash));
 }
Beispiel #3
0
        public ChatRoomContext ConfigurePublicChatRoom(string name)
        {
            var roomHashBytes = Encoding.UTF8.GetBytes(name);

            return(ChatRoomTable.GetOrCreate(IdentityHash.GetFlyweight(CryptoUtil.GetHash(roomHashBytes))));
        }
Beispiel #4
0
        public ChatRoomViewModel CreateChatRoomViewModelByIdentityHashAndSubscribe(IdentityHash chatroomIdentityHash, ChatMessageReceivedCallback messageReceivedCallback)
        {
            var chatRoomContext = ChatRoomTable.GetOrCreate(chatroomIdentityHash);

            return(chatRoomContext.CreateViewModelAndSubscribe(messageReceivedCallback));
        }