Exemple #1
0
 public async Task<LgWebOsMouseService> GetMouse()
 {
     if (_mouseConnection != null) return _mouseConnection;
     var requestMessage = new RequestMessage("ssap://com.webos.service.networkinput/getPointerInputSocket", new { });
     var s = await _connection.SendCommandAsync(requestMessage);
     var socketPath = (string)s.socketPath;
    
     _mouseConnection = new LgWebOsMouseService(new LgTvApiCore());
     await _mouseConnection.Connect(socketPath);
     return _mouseConnection;
 }
Exemple #2
0
 public async Task<string> CloseApp(string appId)
 {
     var requestMessage = new RequestMessage("ssap://system.launcher/close", new { id = appId });
     var response = await _connection.SendCommandAsync(requestMessage);
     return (string)response.sessionId;
 }
Exemple #3
0
 public async Task<IEnumerable<App>> GetApps()
 {
     _appList = new List<App>();
     var requestMessage = new RequestMessage("launcher", "ssap://com.webos.applicationManager/listLaunchPoints");
     var command = _connection.SendCommandAsync(requestMessage);
     var res = await command;
     foreach (var c in res.launchpoints)
     {
         _appList.Add(new App
         {
             Id = c.id,
             LaunchPointId = c.launchPointId,
             Title = c.title,
             Icon = c.icon
         });
     }
     return _appList.OrderBy(e => e.Title);
 }
Exemple #4
0
 public async Task  SetInput(string id)
 {
         var requestMessage = new RequestMessage("ssap://tv/switchInput", new { inputId = id });
     await _connection.SendCommandAsync(requestMessage);
 }
Exemple #5
0
 public async Task<IEnumerable<ExternalInput>> GetInputList()
 {
     var requestMessage = new RequestMessage("input","ssap://tv/getExternalInputList");
    var results =  await _connection.SendCommandAsync(requestMessage);
     var l = new List<ExternalInput>();
     foreach (var result in results)
     {
         l.Add(new ExternalInput(result.id, result.label)
         {
             Icon = result.icon
         });
     }
     return l;
 }
Exemple #6
0
 public async Task<int> GetVolume()
 {
     // {
     //     "type": "response",
     //     "id": "status_1",
     //     "payload": {
     //         "muted": false,
     //         "scenario": "mastervolume_tv_speaker",
     //         "active": false,
     //         "action": "requested",
     //         "volume": 7,
     //         "returnValue": true,
     //         "subscribed": true
     //     }
     // }
     var requestMessage = new RequestMessage("status", "ssap://audio/getVolume");
     var o = await _connection.SendCommandAsync(requestMessage);
     return( (bool)o.muted) ? -1 :(int) o.volume;
 }
Exemple #7
0
        public async Task<Channel> GetChannel()
        {
            var requestMessage = new RequestMessage("channels", "ssap://tv/getCurrentChannel");
            var command = _connection.SendCommandAsync(requestMessage);

            var res = await command;
            return new Channel() { Id = res.channelId, Name = res.channelName, Number = int.Parse(res.channelNumber) };
        }
Exemple #8
0
 public async Task<bool> IsMuted()
 {
     var requestMessage = new RequestMessage("status", "ssap://audio/getStatus");
     var command = _connection.SendCommandAsync(requestMessage);
     return (bool)(await command).mute;
 }
Exemple #9
0
 public async Task  SetChannel(string channelId)
 {
     var requestMessage = new RequestMessage("ssap://tv/openChannel", new { channelId });
     await _connection.SendCommandAsync(requestMessage);
 }
Exemple #10
0
 public async  Task  SetMute(bool value)
 {
     var requestMessage = new RequestMessage("ssap://audio/setMute", new { mute = value });
     await _connection.SendCommandAsync(requestMessage);
 }
Exemple #11
0
 public async Task ChannelInfo()
 {
     var requestMessage = new RequestMessage("programinfo", "ssap://tv/getChannelProgramInfo");
     await _connection.SendCommandAsync(requestMessage);
 }
Exemple #12
0
 public async Task  VolumeUp()
 {
     var requestMessage = new RequestMessage("volumeup", "ssap://audio/volumeUp");
     await _connection.SendCommandAsync(requestMessage);
 }
Exemple #13
0
 public async Task ShowToast()
 {
     var requestMessage = new RequestMessage("ssap://system.notifications/createToast",new {message = "Co tam u Ciebie?"});
     await _connection.SendCommandAsync(requestMessage);
 }
Exemple #14
0
 public async Task<string> OpenWebBrowser(Uri uri)
 {
     var url = uri.ToString();
     var requestMessage = new RequestMessage("ssap://system.launcher/open", new { target = url });
     var response = await _connection.SendCommandAsync(requestMessage);
     return (string)response.sessionId;
 }
Exemple #15
0
 public async Task  SetVolume(int value)
 {
     if (value >= 0 && value <= 100)
     {
         var requestMessage = new RequestMessage("ssap://audio/setVolume", new { volume = value });
         await _connection.SendCommandAsync(requestMessage);
     }
 }
Exemple #16
0
 public async Task<string> LaunchYouTube(Uri uri)
 {
     var url = uri.ToString();
     var requestMessage = new RequestMessage("ssap://system.launcher/launch", new { id = "youtube.leanback.v4", @params = new { contentTarget = url } });
     var response = await _connection.SendCommandAsync(requestMessage);
     return (string)response.sessionId;
 }
Exemple #17
0
 public async Task<bool> IsTurnedOn3D()
 {
     //Response: { returnValue: true,  status3D: { status: true, pattern: ’2Dto3D’ } }
     var requestMessage = new RequestMessage("status3D", "ssap://com.webos.service.tv.display/get3DStatus");
     var o = await _connection.SendCommandAsync(requestMessage);
    return (bool)o.status3D.status;
 }
Exemple #18
0
 public async Task<IEnumerable<Channel>> ChannelList()
 {
     _channelList = new List<Channel>();
     var requestMessage = new RequestMessage("channels", "ssap://tv/getChannelList");
     var command = _connection.SendCommandAsync(requestMessage);
     var res = await command;
     foreach (var c in res.channelList)
     {
         _channelList.Add(new Channel
         {
             Id = c.channelId,
             Name = c.channelName,
             Number = int.Parse((string)c.channelNumber)
         });
     }
     return _channelList.OrderBy(e => e.Number);
 }
Exemple #19
0
 public Task<dynamic> SendCommandAsync(RequestMessage message)
 {
     var rawMessage = new RawRequestMessage(message, ++_commandCount);
     var serialized = JsonConvert.SerializeObject(rawMessage, new JsonSerializerSettings()
     {
         NullValueHandling = NullValueHandling.Ignore,
         ContractResolver = new CamelCasePropertyNamesContractResolver()
     });
     return SendCommandAsync(rawMessage.Id, serialized);
 }