13957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo/*
23957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo * Copyright (C) 2014 The Android Open Source Project
33957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo *
43957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo * Licensed under the Apache License, Version 2.0 (the "License");
53957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo * you may not use this file except in compliance with the License.
63957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo * You may obtain a copy of the License at
73957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo *
83957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo *      http://www.apache.org/licenses/LICENSE-2.0
93957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo *
103957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo * Unless required by applicable law or agreed to in writing, software
113957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo * distributed under the License is distributed on an "AS IS" BASIS,
123957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo * See the License for the specific language governing permissions and
143957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo * limitations under the License.
153957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo */
163957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo
17d5cc4a281e7ce29d1e8687ff3394b57a3a549260Jae Seopackage android.media.tv;
183957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo
1961f4fbd2e8436a1ecd478c2a1f516d064a24d43bJungshik Jangimport android.hardware.hdmi.HdmiDeviceInfo;
20d5cc4a281e7ce29d1e8687ff3394b57a3a549260Jae Seoimport android.media.tv.ITvInputServiceCallback;
21d5cc4a281e7ce29d1e8687ff3394b57a3a549260Jae Seoimport android.media.tv.ITvInputSessionCallback;
22187423c0bc4b27479bc8c23bd86969429094b296Wonsik Kimimport android.media.tv.TvInputHardwareInfo;
236a6059a29edf31e65541b3d8927a46f5846fb0a2Jae Seoimport android.view.InputChannel;
243957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo
253957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo/**
263957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo * Top-level interface to a TV input component (implemented in a Service).
273957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo * @hide
283957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo */
293957091ba8f08c02b5e781098cb955a5f697a1ffJae Seooneway interface ITvInputService {
30a826d0172aae5e91d633ffe606059a2355fbf7e5Jae Seo    void registerCallback(in ITvInputServiceCallback callback);
313957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo    void unregisterCallback(in ITvInputServiceCallback callback);
32a826d0172aae5e91d633ffe606059a2355fbf7e5Jae Seo    void createSession(in InputChannel channel, in ITvInputSessionCallback callback,
33187423c0bc4b27479bc8c23bd86969429094b296Wonsik Kim            in String inputId);
34a826d0172aae5e91d633ffe606059a2355fbf7e5Jae Seo    void createRecordingSession(in ITvInputSessionCallback callback, in String inputId);
35187423c0bc4b27479bc8c23bd86969429094b296Wonsik Kim
36187423c0bc4b27479bc8c23bd86969429094b296Wonsik Kim    // For hardware TvInputService
374f9f57cede3de2e2aa3045e04b485b176ab22dbdJi-Hwan Lee    void notifyHardwareAdded(in TvInputHardwareInfo hardwareInfo);
384f9f57cede3de2e2aa3045e04b485b176ab22dbdJi-Hwan Lee    void notifyHardwareRemoved(in TvInputHardwareInfo hardwareInfo);
39546c635ad9a26421fbdf54efa765b5ab0a63c191Jae Seo    void notifyHdmiDeviceAdded(in HdmiDeviceInfo deviceInfo);
40546c635ad9a26421fbdf54efa765b5ab0a63c191Jae Seo    void notifyHdmiDeviceRemoved(in HdmiDeviceInfo deviceInfo);
413957091ba8f08c02b5e781098cb955a5f697a1ffJae Seo}
42