blob: 11b067a6f782bd103b98e561c496aa0f97415382 [file] [log] [blame]
/*
* Copyright (c) 2022 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.
*
*/
package com.matter.controller;
import chip.devicecontroller.ChipDeviceController;
import chip.devicecontroller.ControllerParams;
import com.matter.controller.commands.common.*;
import com.matter.controller.commands.discover.*;
import com.matter.controller.commands.pairing.*;
import java.util.ArrayList;
public class Main {
private static void registerCommandsDiscover(
CommandManager commandManager, CredentialsIssuer credentialsIssuer) {
ArrayList<Command> clusterCommands = new ArrayList<Command>();
DiscoverCommand discoverCommand = new DiscoverCommand(credentialsIssuer);
DiscoverCommissionablesCommand discoverCommissionablesCommand =
new DiscoverCommissionablesCommand(credentialsIssuer);
DiscoverCommissionersCommand discoverCommissionersCommand =
new DiscoverCommissionersCommand(credentialsIssuer);
clusterCommands.add(discoverCommand);
clusterCommands.add(discoverCommissionablesCommand);
clusterCommands.add(discoverCommissionersCommand);
commandManager.register("discover", clusterCommands);
}
private static void registerCommandsPairing(
CommandManager commandManager, CredentialsIssuer credentialsIssuer) {
ArrayList<Command> clusterCommands = new ArrayList<Command>();
UnpairCommand unpairCommand = new UnpairCommand(credentialsIssuer);
PairCodeCommand pairCodeCommand = new PairCodeCommand(credentialsIssuer);
PairCodePaseCommand pairCodePaseCommand = new PairCodePaseCommand(credentialsIssuer);
PairCodeWifiCommand pairCodeWifiCommand = new PairCodeWifiCommand(credentialsIssuer);
PairCodeThreadCommand pairCodeThreadCommand = new PairCodeThreadCommand(credentialsIssuer);
PairEthernetCommand pairEthernetCommand = new PairEthernetCommand(credentialsIssuer);
PairOnNetworkCommand pairOnNetworkCommand = new PairOnNetworkCommand(credentialsIssuer);
PairOnNetworkShortCommand pairOnNetworkShortCommand =
new PairOnNetworkShortCommand(credentialsIssuer);
PairOnNetworkLongCommand pairOnNetworkLongCommand =
new PairOnNetworkLongCommand(credentialsIssuer);
PairOnNetworkVendorCommand pairOnNetworkVendorCommand =
new PairOnNetworkVendorCommand(credentialsIssuer);
PairOnNetworkCommissioningModeCommand pairOnNetworkCommissioningModeCommand =
new PairOnNetworkCommissioningModeCommand(credentialsIssuer);
PairOnNetworkCommissionerCommand pairOnNetworkCommissionerCommand =
new PairOnNetworkCommissionerCommand(credentialsIssuer);
PairOnNetworkDeviceTypeCommand pairOnNetworkDeviceTypeCommand =
new PairOnNetworkDeviceTypeCommand(credentialsIssuer);
PairOnNetworkInstanceNameCommand pairOnNetworkInstanceNameCommand =
new PairOnNetworkInstanceNameCommand(credentialsIssuer);
clusterCommands.add(unpairCommand);
clusterCommands.add(pairCodeCommand);
clusterCommands.add(pairCodePaseCommand);
clusterCommands.add(pairCodeWifiCommand);
clusterCommands.add(pairCodeThreadCommand);
clusterCommands.add(pairEthernetCommand);
clusterCommands.add(pairOnNetworkCommand);
clusterCommands.add(pairOnNetworkShortCommand);
clusterCommands.add(pairOnNetworkLongCommand);
clusterCommands.add(pairOnNetworkVendorCommand);
clusterCommands.add(pairOnNetworkCommissioningModeCommand);
clusterCommands.add(pairOnNetworkCommissionerCommand);
clusterCommands.add(pairOnNetworkDeviceTypeCommand);
clusterCommands.add(pairOnNetworkInstanceNameCommand);
commandManager.register("pairing", clusterCommands);
}
public static void main(String[] args) {
ChipDeviceController controller =
new ChipDeviceController(
ControllerParams.newBuilder()
.setUdpListenPort(0)
.setControllerVendorId(0xFFF1)
.build());
CredentialsIssuer credentialsIssuer = new CredentialsIssuer();
CommandManager commandManager = new CommandManager();
registerCommandsDiscover(commandManager, credentialsIssuer);
registerCommandsPairing(commandManager, credentialsIssuer);
try {
commandManager.run(args);
} catch (IllegalArgumentException e) {
System.out.println("Arguments init failed with exception: " + e.getMessage());
} catch (Exception e) {
System.out.println("Run command failed with exception: " + e.getMessage());
}
}
}