.dest("global-dbus-system")
.help("Make request via system dbus.")
.action(Arguments.storeTrue());
+ parser.addArgument("--bus-name")
+ .dest("global-bus-name")
+ .setDefault(DbusConfig.getBusname())
+ .help("Specify the D-Bus bus name to connect to.");
parser.addArgument("-o", "--output")
.help("Choose to output in plain text or JSON")
.help("Disable message send log (for resending messages that recipient couldn't decrypt)")
.action(Arguments.storeTrue());
+ parser.epilog(
+ "The global arguments are shown with 'signal-cli -h' and need to come before the subcommand, while the subcommand-specific arguments (shown with 'signal-cli SUBCOMMAND -h') need to be given after the subcommand.");
+
var subparsers = parser.addSubparsers().title("subcommands").dest("command");
Commands.getCommandSubparserAttachers().forEach((key, value) -> {
final var useDbus = Boolean.TRUE.equals(ns.getBoolean("global-dbus"));
final var useDbusSystem = Boolean.TRUE.equals(ns.getBoolean("global-dbus-system"));
if (useDbus || useDbusSystem) {
+ final var busName = ns.getString("global-bus-name");
// If account is null, it will connect to the default object path
- initDbusClient(command, account, useDbusSystem, commandHandler);
+ initDbusClient(command, account, useDbusSystem, busName, commandHandler);
return;
}
}
private RegistrationManager loadRegistrationManager(
- final String account, final SignalAccountFiles signalAccountFiles
+ final String account,
+ final SignalAccountFiles signalAccountFiles
) throws UnexpectedErrorException {
try {
return signalAccountFiles.initRegistrationManager(account);
}
private Manager loadManager(
- final String account, final SignalAccountFiles signalAccountFiles
+ final String account,
+ final SignalAccountFiles signalAccountFiles
) throws CommandException {
logger.trace("Loading account file for {}", account);
try {