com.hcl.domino.jnx.console.IDominoServerController Maven / Gradle / Ivy
/*
* ==========================================================================
* Copyright (C) 2019-2022 HCL America, Inc. ( http://www.hcl.com/ )
* 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 .
*
* 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.hcl.domino.jnx.console;
public interface IDominoServerController {
/**
* Convenience method to send the server controller command "#kill server"
* to kill the server process. Use {@link #startServer()} to start it later.
* If the server ID is password protected, the password can be specified via
* {@link IConsoleCallback#passwordRequested(String, String)}.
*/
void killServer();
/**
* Convenience method to send the server controller command "#quit" to
* stop the server and the server controller. Please note that you will
* not be able to reconnect again via this console API.
*/
void quitServerAndServerController();
/**
* Requests infos about server administrators and restricted administrators.
* Both lists are returned via
* {@link IConsoleCallback#adminInfosReceived(java.util.List, java.util.List)}
*/
void requestAdminInfos();
/**
* Sends a broadcast message to all users currently connected to the Domino
* console
*
* @param msg message
*/
void sendBroadcastMessage(String msg);
/**
* Use this method to send a command to the server. We currently support sending
* standard Domino console commands as well as shell commands.
*
* Shell commands are executed in the server's data directory under the
* operating system permissions
* of the administrator who started the Domino server. When you enter a shell
* command in the Command
* box, precede the command with "$" to distinguish it from a Domino server
* command.
*
* For example:
*
* $ dir *.nsf
* $ dir *.log
*
* On UNIX:
* $ ls -l *.nsf
* $ ls *.log
*
*
* The following table describes the access level required for the different
* command types.
*
*
* This table describes access levels required for commands.
*
*
*
* Access control
* field
*
*
*
*
* Domino server commands
* allowed
*
*
*
*
* Server Controller commands
* allowed
*
*
*
*
* Shell commands
* allowed
*
*
*
*
*
*
* Full Access Administrators
*
*
*
*
* All
*
*
*
*
* All
*
*
*
*
* All
*
*
*
*
*
*
* Administrators
*
*
*
*
* All
*
*
*
*
* All
*
*
*
*
* None
*
*
*
*
*
*
* Full Remote Console
* Administrators
*
*
*
*
* All
*
*
*
*
* All
*
*
*
*
* None
*
*
*
*
*
*
* View-only Administrators
*
*
*
*
* Commands that show status info only; for
* example Show Tasks but not Load HTTP
*
*
*
*
* All Controller commands except Quit,
* Enable User, Disable User
*
*
*
*
* None
*
*
*
*
*
*
* System Administrators
*
*
*
*
* None
*
*
*
*
* All Controller commands except Quit,
* Enable User, Disable User
*
*
*
*
* All
*
*
*
*
*
*
* Restricted System
* Administrators
*
*
*
*
* None
*
*
*
*
* All Controller commands except Quit,
* Enable User, Disable User
*
*
*
*
* Only shell commands listed in
* "Restricted System Commands" field
*
*
*
*
*
* @param cmd command
*/
void sendCommand(String cmd);
/**
* Convenience method to send the server controller command "#show processes"
* to return the names of running processes via the Domino console.
*/
void showProcesses();
/**
* Convenience method to send the server controller command "#show users"
* to return the names of users that are currently connected to the
* server controller.
*/
void showUsers();
/**
* Convenience method to send the server controller command "#start server"
* to start the server process. If the server ID is password protected, the
* password can be specified via
* {@link IConsoleCallback#passwordRequested(String, String)}.
*/
void startServer();
/**
* Convenience method to send the Domino console command "quit" to
* stop the server process. Use {@link #startServer()} to start it later.
* If the server ID is password protected, the password can be specified via
* {@link IConsoleCallback#passwordRequested(String, String)}.
*/
void stopServer();
}