/// <summary> /// Constructor which initialises the audio and subtitle handler /// </summary> /// <param name="player">Instance of external player</param> /// <param name="osdHandler">Instance of the osdHandler</param> public AudioSubtitleHandler(MPlayerExtPlayer player, IOSDHandler osdHandler) { _player = player; _osdHandler = osdHandler; _audioID = new Dictionary <int, int>(); _audioNames = new Dictionary <int, string>(); _subtitleID = new Dictionary <int, int>(); _subtitleNames = new Dictionary <int, string>(); _numberOfAudioStreams = 0; _numberOfSubtitles = 0; _currentAudioStream = 0; _currentSubtitleStream = 0; _currentAudioDelay = 0; _currentSubtitleDelay = 0; _configManager = ConfigurationManager.GetInstance(); _audioDelayStep = _configManager.AudioDelayStep; _subtitleDelayStep = _configManager.SubtitleDelayStep; _subtitlesEnabled = _configManager.EnableSubtitles; _currentSubtitlePosition = _configManager.SubtitlePosition; _currentSubtitleSize = _configManager.SubtitleSize; if (OSInfo.OSInfo.OSList.WindowsVista == OSInfo.OSInfo.GetOSName() || OSInfo.OSInfo.OSList.Windows2008 == OSInfo.OSInfo.GetOSName() || OSInfo.OSInfo.OSList.Windows7 == OSInfo.OSInfo.GetOSName()) { _mpMessageHandler = OnMessage; GUIWindowManager.Receivers += _mpMessageHandler; } _volume = 100; }
public async Task SendMessageTest() { var mockedCache = Create.MockedMemoryCache(); var mockDateTime = new Mock <IDateTime>(); mockDateTime.Setup(p => p.Now).Returns(DateTime.Now); var mock = new Mock <ILogger <SendMessageHandler> >(); ILogger <SendMessageHandler> logger = mock.Object; var mockMediator = new Mock <IMediator>(); //Arrange var command = new SendMessage() { UserName = "******", Message = "message" }; var handler = new SendMessageHandler(mockedCache, mockDateTime.Object, logger, mockMediator.Object); //Act var result = await handler.Handle(command, CancellationToken.None); //Assert result.Should().Equals(Unit.Value); }
/// <summary> /// Internal routine to invoke the SendMessageHandler /// </summary> /// <param name="message">The reply to send</param> /// <param name="original">The original twitch message</param> public void SendMessage(string message, DigestMessage original) { if (string.IsNullOrEmpty(message)) { return; } SendMessageHandler?.Invoke(this, new SendMessageArgs { Reply = message, OriginalMessage = original }); }
/// <summary> /// Constructor which initialises the internal osd handler /// </summary> /// <param name="player">Instance of external player</param> /// <param name="playerUse">Indicates, if this instance will be used by the player class</param> public InternalOSDHandler(MPlayerExtPlayer player, bool playerUse) { _player = player; _displayDuration = 2000; _osdVisible = false; _osdVisibleForPause = false; _mpVolumeHandler = VolumeHandler.Instance; if (playerUse) { _mpMessageHandler = OnMessage; GUIWindowManager.Receivers += _mpMessageHandler; } }
public void ListClick(object sender, ItemClickEventArgs e) { var keySecret = e.ClickedItem as KeySecret; Message temp = new Message() { Content = keySecret, Goal = nameof(ContentModel), Key = "点击列表", Source = this }; //SendMessage?.SendMessage(temp); SendMessageHandler?.Invoke(this, temp); }
public async Task given_invalid_username_send_message_should_throw_an_exception ([Frozen] Mock <IUserRepository> userRepository, SendMessageHandler handler) { var sendMessage = new SendMessage("", "test"); User user = null; userRepository.Setup(r => r.GetByUserNameAsync("")).ReturnsAsync(user); var exception = await Record.ExceptionAsync(async() => await handler.HandleAsync(sendMessage)); exception.Should().NotBeNull(); exception.Should().BeOfType <UserNotFoundException>(); }
static void Main(string[] args) { var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly()); XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config")); var log = log4net.LogManager.GetLogger(typeof(Program)); var settings = GetSettings(); var mongoDbClient = new MongoDbClient(settings.MongoConnectionString, TimeSpan.FromSeconds(2)); ThreadPool.SetMaxThreads(32767, 32767); ThreadPool.SetMinThreads(2048, 2048); var(authorizer, sourceStorage) = new StateRestorer(mongoDbClient).Restore().GetAwaiter().GetResult(); var addUserInfoHandler = new AddSourceInfoHandler(mongoDbClient, authorizer, sourceStorage, log); var sseClient = new SseClient(); var subscriber = new Subscriber(authorizer, sourceStorage, sseClient); var messagSender = new MessageSender(); var sendMessageHandler = new SendMessageHandler(messagSender, mongoDbClient, sourceStorage, authorizer, settings.dataTtl); var handlerMapper = new HandlerMapper(); var expDaemon = new ExpirationDaemon(sourceStorage, settings.dataTtl); handlerMapper.Add("/addUserInfo", HttpMethod.Post, addUserInfoHandler); handlerMapper.Add("/subscribe", HttpMethod.Get, new SubscribeOnSourceHandler(subscriber)); handlerMapper.Add("/sendMessage", HttpMethod.Post, sendMessageHandler); var routingHandler = new RoutingHandler(handlerMapper, log); var host = WebHost.CreateDefaultBuilder(args) .ConfigureServices(s => { s.AddSingleton(routingHandler); s.AddHttpContextAccessor(); }) .UseContentRoot(Directory.GetCurrentDirectory()) .UseKestrel() .UseStartup <Startup>() .ConfigureKestrel((context, options) => { //options.Listen(new IPAddress(new byte[] { 10, 33, 54, 120 }), 5000); options.Listen(new IPAddress(new byte[] { 0, 0, 0, 0 }), 5000); }) .Build(); host.Run(); }
public async Task given_valid_parameters_send_message_should_success ([Frozen] Mock <IUserRepository> userRepository, [Frozen] Mock <IUserContext> userContext, [Frozen] Mock <IBlockUserRepository> blockUserRepository, User toUser, SendMessageHandler handler) { var sendMessage = new SendMessage(toUser.UserName, "test"); userRepository.Setup(r => r.GetByUserNameAsync(toUser.UserName)).ReturnsAsync(toUser); blockUserRepository.Setup(r => r.IsBlockedUser(toUser.Id, userContext.Object.Id)).ReturnsAsync(false); userContext.Setup(r => r.Id).Returns(Guid.NewGuid()); var exception = await Record.ExceptionAsync(async() => await handler.HandleAsync(sendMessage)); exception.Should().BeNull(); }
/// <summary> /// Takes a given type T and serializes it to json before /// wrapping it in an MSMQ message and placing it on a queue. /// </summary> public void Send <T>(T dto) { if (!_writeQueueManager.HasWriteQueues) { throw new BusException("Bus has not been configured for sending messages. Did you forget to call DefineWriteQueue on BusBuilder?"); } foreach (var writeQueue in _writeQueueManager.GetWriteQueues()) { var message = CreateMsmqMessageFromDto(dto); var context = new WriteMessageContext(writeQueue); var sendMessageHandler = new SendMessageHandler(context, _config, _logger); var loggingAspect = new LoggingAspect(sendMessageHandler, SendOperation, _logger); var transactionAspect = new TransactionAspect(loggingAspect, _logger); transactionAspect.Handle(message); } }
public async Task given_blocked_user_id_send_message_should_throw_an_exception ([Frozen] Mock <IUserRepository> userRepository, [Frozen] Mock <IUserContext> userContext, [Frozen] Mock <IBlockUserRepository> blockUserRepository, User toUser, SendMessageHandler handler) { var sendMessage = new SendMessage("", "test"); userRepository.Setup(r => r.GetByUserNameAsync("")).ReturnsAsync(toUser); blockUserRepository.Setup(r => r.IsBlockedUser(toUser.Id, userContext.Object.Id)).ReturnsAsync(true); var exception = await Record.ExceptionAsync(async() => await handler.HandleAsync(sendMessage)); exception.Should().NotBeNull(); exception.Should().BeOfType <BlockedUserException>(); }
public async Task <IActionResult> Message(MessageBindingModel messageBindingModel) { //get sender ID var senderGambler = await new GamblerQueryHandler().HandleAsync(new GamblerQuery { Name = messageBindingModel.sender }); Gambler sender = senderGambler.ToList().FirstOrDefault(g => g.Name == messageBindingModel.sender); if (sender == null) { return(RedirectToAction(StaticConstants.All, StaticConstants.ApiMessages, new { error = StaticConstants.SenderDontExistError })); } //get receiver ID var receiverGambler = await new GamblerQueryHandler().HandleAsync(new GamblerQuery { Name = messageBindingModel.receiver }); Gambler receiver = receiverGambler.ToList().FirstOrDefault(g => g.Name == messageBindingModel.receiver); if (receiver == null) { return(RedirectToAction(StaticConstants.All, StaticConstants.ApiMessages, new { error = StaticConstants.ReceiverDontExistError })); } SendMessageCommand command = new SendMessageCommand { Body = messageBindingModel.body, Subject = messageBindingModel.subject, Id = Guid.NewGuid(), FromGamblerId = sender.Id, ToGamblerId = receiver.Id }; var handler = new SendMessageHandler(); await handler.HandleAsync(command); return(RedirectToAction(StaticConstants.All, StaticConstants.ApiMessages, new { message = StaticConstants.MessageSentSuccessMessage })); }
public PartyControl(string player, string host, LeavePartyHandler leavePartyDelegate, SendMessageHandler sendMessageDelegate, StartGameHandler startGameDelegate) { OnLeaveParty = leavePartyDelegate; OnSendMessage = sendMessageDelegate; OnStartGame = startGameDelegate; this.Host = host; this.player = player; InitializeComponent(); AddPlayer(host); // Only host can see the start game button if (player == host) { buttonStartGame.Visibility = Visibility.Visible; } else { AddPlayer(player); } }
/// <summary> /// Constructor which initialises the audio and subtitle handler /// </summary> /// <param name="player">Instance of external player</param> /// <param name="osdHandler">Instance of the osdHandler</param> public AudioSubtitleHandler(MPlayerExtPlayer player, IOSDHandler osdHandler) { _player = player; _osdHandler = osdHandler; _audioID = new Dictionary<int, int>(); _audioNames = new Dictionary<int, string>(); _subtitleID = new Dictionary<int, int>(); _subtitleNames = new Dictionary<int, string>(); _numberOfAudioStreams = 0; _numberOfSubtitles = 0; _currentAudioStream = 0; _currentSubtitleStream = 0; _currentAudioDelay = 0; _currentSubtitleDelay = 0; _configManager = ConfigurationManager.GetInstance(); _audioDelayStep = _configManager.AudioDelayStep; _subtitleDelayStep = _configManager.SubtitleDelayStep; _subtitlesEnabled = _configManager.EnableSubtitles; _currentSubtitlePosition = _configManager.SubtitlePosition; _currentSubtitleSize = _configManager.SubtitleSize; if (OSInfo.OSInfo.OSList.WindowsVista == OSInfo.OSInfo.GetOSName() || OSInfo.OSInfo.OSList.Windows2008 == OSInfo.OSInfo.GetOSName() || OSInfo.OSInfo.OSList.Windows7 == OSInfo.OSInfo.GetOSName()) { _mpMessageHandler = OnMessage; GUIWindowManager.Receivers += _mpMessageHandler; } _volume = 100; }
public void SendMessage(SendMessageHandler callbackFunc) { status += (int)MessageStatus.SendMessage; this.SendMessageAction = callbackFunc; }