/*
* TVControl
* Connect SDK
*
* Copyright (c) 2014 LG Electronics.
* Created by Hyun Kook Khang on 19 Jan 2014
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.connectsdk.service.capability;
import java.util.List;
import com.connectsdk.core.ChannelInfo;
import com.connectsdk.core.ProgramInfo;
import com.connectsdk.core.ProgramList;
import com.connectsdk.service.capability.listeners.ResponseListener;
import com.connectsdk.service.command.ServiceSubscription;
public interface TVControl extends CapabilityMethods {
public final static String Any = "TVControl.Any";
public final static String Channel_Get = "TVControl.Channel.Get";
public final static String Channel_Set = "TVControl.Channel.Set";
public final static String Channel_Up = "TVControl.Channel.Up";
public final static String Channel_Down = "TVControl.Channel.Down";
public final static String Channel_List = "TVControl.Channel.List";
public final static String Channel_Subscribe = "TVControl.Channel.Subscribe";
public final static String Program_Get = "TVControl.Program.Get";
public final static String Program_List = "TVControl.Program.List";
public final static String Program_Subscribe = "TVControl.Program.Subscribe";
public final static String Program_List_Subscribe = "TVControl.Program.List.Subscribe";
public final static String Get_3D = "TVControl.3D.Get";
public final static String Set_3D = "TVControl.3D.Set";
public final static String Subscribe_3D = "TVControl.3D.Subscribe";
public final static String[] Capabilities = {
Channel_Get,
Channel_Set,
Channel_Up,
Channel_Down,
Channel_List,
Channel_Subscribe,
Program_Get,
Program_List,
Program_Subscribe,
Program_List_Subscribe,
Get_3D,
Set_3D,
Subscribe_3D
};
public TVControl getTVControl();
public CapabilityPriorityLevel getTVControlCapabilityLevel();
public void channelUp(ResponseListener<Object> listener);
public void channelDown(ResponseListener<Object> listener);
public void setChannel(ChannelInfo channelNumber, ResponseListener<Object> listener);
public void getCurrentChannel(ChannelListener listener);
public ServiceSubscription<ChannelListener> subscribeCurrentChannel(ChannelListener listener);
public void getChannelList(ChannelListListener listener);
public void getProgramInfo(ProgramInfoListener listener);
public ServiceSubscription<ProgramInfoListener> subscribeProgramInfo(ProgramInfoListener listener);
public void getProgramList(ProgramListListener listener);
public ServiceSubscription<ProgramListListener> subscribeProgramList(ProgramListListener listener);
public void get3DEnabled(State3DModeListener listener);
public void set3DEnabled(boolean enabled, ResponseListener<Object> listener);
public ServiceSubscription<State3DModeListener> subscribe3DEnabled(State3DModeListener listener);
/**
* Success block that is called upon successfully getting the TV's 3D mode
*
* Passes a Boolean to see Whether 3D mode is currently enabled on the TV
*/
public static interface State3DModeListener extends ResponseListener<Boolean> { }
/**
* Success block that is called upon successfully getting the current channel's information.
*
* Passes a ChannelInfo object containing information about the current channel
*/
public static interface ChannelListener extends ResponseListener<ChannelInfo>{ }
/**
* Success block that is called upon successfully getting the channel list.
*
* Passes a List of ChannelList objects for each available channel on the TV
*/
public static interface ChannelListListener extends ResponseListener<List<ChannelInfo>>{ }
/**
* Success block that is called upon successfully getting the current program's information.
*
* Passes a ProgramInfo object containing information about the current program
*/
public static interface ProgramInfoListener extends ResponseListener<ProgramInfo> { }
/**
* Success block that is called upon successfully getting the program list for the current channel.
*
* Passes a ProgramList containing a ProgramInfo object for each available program on the TV's current channel
*/
public static interface ProgramListListener extends ResponseListener<ProgramList> { }
}