RemoteDisplay.cpp revision bcf09f8c995221e75c7cd328f25c7cc6d2b5f7c9
1f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin/*
2f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin * Copyright 2012, The Android Open Source Project
3f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin *
4f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin * Licensed under the Apache License, Version 2.0 (the "License");
5f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin * you may not use this file except in compliance with the License.
6f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin * You may obtain a copy of the License at
7f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin *
8f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin *     http://www.apache.org/licenses/LICENSE-2.0
9f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin *
10f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin * Unless required by applicable law or agreed to in writing, software
11f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin * distributed under the License is distributed on an "AS IS" BASIS,
12f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin * See the License for the specific language governing permissions and
14f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin * limitations under the License.
15f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin */
16f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin
17f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin#include "RemoteDisplay.h"
18f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin
19f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin#include "ANetworkSession.h"
20f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin#include "source/WifiDisplaySource.h"
21f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin
22f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavinnamespace android {
23f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin
24f48b23688c1303212c65e470af9f9f3892e98f8eDima ZavinRemoteDisplay::RemoteDisplay()
25f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin    : mInitCheck(NO_INIT),
26f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin      mLooper(new ALooper),
27f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin      mNetSession(new ANetworkSession),
28f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin      mSource(new WifiDisplaySource(mNetSession)) {
29f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin    mLooper->registerHandler(mSource);
30f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin}
31f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin
32f48b23688c1303212c65e470af9f9f3892e98f8eDima ZavinRemoteDisplay::~RemoteDisplay() {
33f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin}
34f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin
35f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavinstatus_t RemoteDisplay::start(const char *iface) {
36f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin    mNetSession->start();
37f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin    mLooper->start();
38f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin
39f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin    mSource->start(iface);
40f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin
41f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin    return OK;
42f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin}
43f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin
44f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavinstatus_t RemoteDisplay::stop() {
45f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin    mSource->stop();
46f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin
47f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin    mLooper->stop();
48f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin    mNetSession->stop();
49f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin
50f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin    return OK;
51f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin}
520052abdafd7179fc4a7458f09d2f95c74dda0021Dima Zavin
530052abdafd7179fc4a7458f09d2f95c74dda0021Dima Zavin}  // namespace android
54f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin
55f48b23688c1303212c65e470af9f9f3892e98f8eDima Zavin