public void SendSongsAdded(MusicInfo[] song) { PubnubMessage message; if (song.Length == 1) { message = new PubnubMessage() { action = PubnubMessage.ACTION_ADDED_SONG_TO_LIBRARY, data = new { howMany = 1, firstSong = song[0] } }; } else { message = new PubnubMessage() { action = PubnubMessage.ACTION_ADDED_SONG_TO_LIBRARY, data = new { howMany = song.Length, firstSong = song[0] } }; } SendMessage(message); }
public void SimpleTranslation() { var rawNubs = new Dictionary<string, object>(); rawNubs.Add("action", PubnubMessage.ACTION_PLAY); var expected = new PubnubMessage() { action = PubnubMessage.ACTION_PLAY }; var pubnub = new PubnubMessaging(null, false); PubnubMessage result = pubnub.Translate(rawNubs); Assert.AreEqual(expected.action, result.action, "The action must be correct."); }
public PubnubMessage Translate(Dictionary <string, object> rawNubs) { var message = new PubnubMessage() { action = rawNubs["action"].ToString(), data = new ExpandoObject() }; if (rawNubs.ContainsKey("data")) { var dictionary = (Dictionary <string, object>)rawNubs["data"]; if ((dictionary != null) && (dictionary.ContainsKey("PlaylistIndex"))) { message.data.PlaylistIndex = int.Parse(dictionary["PlaylistIndex"].ToString()); } } return(message); }
public void HandleMessage(Dictionary <string, object> rawNubs) { PubnubMessage message = this.Translate(rawNubs); switch (message.action) { case PubnubMessage.ACTION_PLAY: if (_player.IsPaused) { _player.Resume(); } else { if (_doThreading) { (new Thread(new ThreadStart(_player.Play))).Start(); } else { _player.Play(); } } break; case PubnubMessage.ACTION_STOP: _player.Stop(); break; case PubnubMessage.ACTION_NEXT: _player.Next(); break; case PubnubMessage.ACTION_BACK: if (_doThreading) { (new Thread(new ThreadStart(_player.Back))).Start(); } else { _player.Back(); } break; case PubnubMessage.ACTION_PAUSE: _player.Pause(); break; case PubnubMessage.ACTION_PING: SendPingReply(); break; case PubnubMessage.ACTION_PLAY_FROM_PLAYLIST: _player.JumpToPlaylistIndex(message.data.PlaylistIndex); break; case PubnubMessage.ACTION_PING_REPLY: break; //we sent these, ignore them case PubnubMessage.ACTION_NOWPLAYING: break; case PubnubMessage.ACTION_ADDED_SONG_TO_LIBRARY: break; default: Log.Debug("Unknown action type: " + message.action); break; } }
public void SendMessage(PubnubMessage message) { _pubnub.publish(_channel, message); }
public void SendMessage(PubnubMessage message) { _pubnub.publish(_channel, message); }
public PubnubMessage Translate(Dictionary<string, object> rawNubs) { var message = new PubnubMessage() { action = rawNubs["action"].ToString(), data = new ExpandoObject() }; if (rawNubs.ContainsKey("data")) { var dictionary = (Dictionary<string, object>)rawNubs["data"]; if ((dictionary!=null) && (dictionary.ContainsKey("PlaylistIndex"))) message.data.PlaylistIndex = int.Parse(dictionary["PlaylistIndex"].ToString()); } return message; }
public void SendSongsAdded(MusicInfo[] song) { PubnubMessage message; if (song.Length == 1) { message = new PubnubMessage() { action = PubnubMessage.ACTION_ADDED_SONG_TO_LIBRARY, data = new { howMany = 1, firstSong = song[0] } }; } else { message = new PubnubMessage() { action = PubnubMessage.ACTION_ADDED_SONG_TO_LIBRARY, data = new { howMany = song.Length, firstSong = song[0] } }; } SendMessage(message); }