1 /*
2  * Copyright (C) 2017 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #include <android-base/logging.h>
17 #include <hidl/HidlTransportSupport.h>
18 
19 #include "BroadcastRadio.h"
20 #include "VirtualRadio.h"
21 
22 using android::sp;
23 using android::hardware::configureRpcThreadpool;
24 using android::hardware::joinRpcThreadpool;
25 using android::hardware::broadcastradio::V2_0::implementation::BroadcastRadio;
26 using android::hardware::broadcastradio::V2_0::implementation::gAmFmRadio;
27 using android::hardware::broadcastradio::V2_0::implementation::gDabRadio;
28 
main()29 int main() {
30     android::base::SetDefaultTag("BcRadioDef");
31     android::base::SetMinimumLogSeverity(android::base::VERBOSE);
32     configureRpcThreadpool(4, true);
33 
34     sp<BroadcastRadio> broadcastRadio(new BroadcastRadio(gAmFmRadio));
35     auto amFmStatus = broadcastRadio->registerAsService("amfm");
36     CHECK_EQ(amFmStatus, android::OK)
37         << "Failed to register Broadcast Radio AM/FM HAL implementation";
38 
39     sp<BroadcastRadio> dabRadio(new BroadcastRadio(gDabRadio));
40     auto dabStatus = dabRadio->registerAsService("dab");
41     CHECK_EQ(dabStatus, android::OK) << "Failed to register Broadcast Radio DAB HAL implementation";
42 
43     joinRpcThreadpool();
44     return 1;  // joinRpcThreadpool shouldn't exit
45 }
46