/* * * Copyright (c) 2022 Project CHIP Authors * * 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 namespace chip { namespace Shell { Shell::Engine OnOffCommands::sSubShell; void OnOffCommands::Register() { static const shell_command_t subCommands[] = { { &OnLightHandler, "on", "Usage: OnOff on endpoint-id" }, { &OffLightHandler, "off", "Usage: OnOff off endpoint-id" }, { &ToggleLightHandler, "toggle", "Usage: OnOff toggle endpoint-id" } }; sSubShell.RegisterCommands(subCommands, ArraySize(subCommands)); // Register the root `OnOff` command in the top-level shell. static const shell_command_t onOffCommand = { &OnOffHandler, "OnOff", "OnOff commands" }; Engine::Root().RegisterCommands(&onOffCommand, 1); } Callback::Callback CASECommands::sOnConnectedCallback(CASECommands::OnConnected, nullptr); Callback::Callback CASECommands::sOnConnectionFailureCallback(CASECommands::OnConnectionFailure, nullptr); Shell::Engine CASECommands::sSubShell; void CASECommands::Register() { static const shell_command_t subCommands[] = { { &ConnectToNodeHandler, "connect", "Establish CASESession to a node, Usage: case connect " }, }; sSubShell.RegisterCommands(subCommands, ArraySize(subCommands)); static const shell_command_t CASECommand = { &CASEHandler, "case", "Case Commands" }; Engine::Root().RegisterCommands(&CASECommand, 1); } } // namespace Shell } // namespace chip