| /* |
| * |
| * Copyright (c) 2023 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 "Endpoint.h" |
| |
| #include "clusters/Clusters.h" |
| |
| namespace matter { |
| namespace casting { |
| namespace core { |
| |
| void Endpoint::RegisterClusters(std::vector<chip::ClusterId> clusters) |
| { |
| for (chip::ClusterId clusterId : clusters) |
| { |
| switch (clusterId) |
| { |
| case chip::app::Clusters::ApplicationBasic::Id: |
| RegisterCluster<clusters::application_basic::ApplicationBasicCluster>(clusterId); |
| break; |
| |
| case chip::app::Clusters::ApplicationLauncher::Id: |
| RegisterCluster<clusters::application_launcher::ApplicationLauncherCluster>(clusterId); |
| break; |
| |
| case chip::app::Clusters::ContentLauncher::Id: |
| RegisterCluster<clusters::content_launcher::ContentLauncherCluster>(clusterId); |
| break; |
| |
| case chip::app::Clusters::KeypadInput::Id: |
| RegisterCluster<clusters::keypad_input::KeypadInputCluster>(clusterId); |
| break; |
| |
| case chip::app::Clusters::LevelControl::Id: |
| RegisterCluster<clusters::level_control::LevelControlCluster>(clusterId); |
| break; |
| |
| case chip::app::Clusters::OnOff::Id: |
| RegisterCluster<clusters::on_off::OnOffCluster>(clusterId); |
| break; |
| |
| case chip::app::Clusters::MediaPlayback::Id: |
| RegisterCluster<clusters::media_playback::MediaPlaybackCluster>(clusterId); |
| break; |
| |
| case chip::app::Clusters::TargetNavigator::Id: |
| RegisterCluster<clusters::target_navigator::TargetNavigatorCluster>(clusterId); |
| break; |
| |
| case chip::app::Clusters::WakeOnLan::Id: |
| RegisterCluster<clusters::wake_on_lan::WakeOnLanCluster>(clusterId); |
| break; |
| |
| default: |
| ChipLogProgress(AppServer, "Skipping registration of clusterId %d for endpointId %d", clusterId, GetId()); |
| break; |
| } |
| } |
| } |
| |
| }; // namespace core |
| }; // namespace casting |
| }; // namespace matter |