/* * * Copyright (c) 2020 Project CHIP Authors * All rights reserved. * * 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. */ #include "AppMain.h" #include "AppTv.h" #include #include #include #include #include #include #if defined(ENABLE_CHIP_SHELL) #include "AppTvShellCommands.h" #endif using namespace chip; using namespace chip::Transport; using namespace chip::DeviceLayer; using namespace chip::AppPlatform; using namespace chip::app::Clusters; void ApplicationInit() { ChipLogProgress(Zcl, "TV Linux App: ApplicationInit()"); // Disable last fixed endpoint, which is used as a placeholder for all of the // supported clusters so that ZAP will generated the requisite code. ChipLogDetail(DeviceLayer, "TV Linux App: Warning - Fixed Content App Endpoint Not Disabled"); // Can't disable this without breaking CI unit tests that act upon account login cluster (only available on ep3) // emberAfEndpointEnableDisable(3, false); #if CHIP_DEVICE_CONFIG_APP_PLATFORM_ENABLED // Install Content Apps ContentAppFactoryImpl * factory = GetContentAppFactoryImpl(); // Content App 1 constexpr uint16_t kApp1VendorId = 65521; constexpr uint16_t kApp1ProductId = 32769; factory->InstallContentApp(kApp1VendorId, kApp1ProductId); // Content App 2 constexpr uint16_t kApp2VendorId = 1; constexpr uint16_t kApp2ProductId = 11; factory->InstallContentApp(kApp2VendorId, kApp2ProductId); // Content App 3 constexpr uint16_t kApp3VendorId = 9050; constexpr uint16_t kApp3ProductId = 22; factory->InstallContentApp(kApp3VendorId, kApp3ProductId); // Content App 4 constexpr uint16_t kApp4VendorId = 1111; constexpr uint16_t kApp4ProductId = 22; factory->InstallContentApp(kApp4VendorId, kApp4ProductId); #endif // CHIP_DEVICE_CONFIG_APP_PLATFORM_ENABLED } void ApplicationShutdown() {} int main(int argc, char * argv[]) { VerifyOrDie(ChipLinuxAppInit(argc, argv) == 0); AppTvInit(); #if defined(ENABLE_CHIP_SHELL) #if CHIP_DEVICE_CONFIG_APP_PLATFORM_ENABLED Shell::RegisterAppTvCommands(); #endif // CHIP_DEVICE_CONFIG_APP_PLATFORM_ENABLED #endif ChipLinuxAppMainLoop(); return 0; }