com.anrisoftware.sscontrol.httpd.roundcube.RoundcubeService Maven / Gradle / Ivy
/*
* Copyright 2014-2015 Erwin Müller
*
* This file is part of sscontrol-httpd-roundcube.
*
* sscontrol-httpd-roundcube is free software: you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* sscontrol-httpd-roundcube is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
* for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with sscontrol-httpd-roundcube. If not, see .
*/
package com.anrisoftware.sscontrol.httpd.roundcube;
import java.net.URI;
import java.util.List;
import java.util.Map;
import com.anrisoftware.sscontrol.core.overridemode.OverrideMode;
import com.anrisoftware.sscontrol.httpd.webservice.WebService;
/**
* Roundcube service.
*
* @see http://roundcube.net/
*
* @author Erwin Mueller, [email protected]
* @since 1.0
*/
public interface RoundcubeService extends WebService {
/**
* Returns the override mode in case the service is already installed inside
* the service prefix.
*
* Example:
*
*
* setup "roundcube", {
* override mode: no
* }
*
*
* @return the {@link OverrideMode} mode or {@code null}
*/
OverrideMode getOverrideMode();
/**
* Returns the backup target.
*
* Example:
*
*
* setup "roundcube", {
* backup target: "/var/backups"
* }
*
*
* @return the backup {@link URI} target or {@code null}.
*/
URI getBackupTarget();
/**
* Returns the debug logging for the specified key.
*
* The example returns the following map for the key "level":
*
*
* {["roundcube": 1, "smtplog": 1, ...]}
*
*
*
* setup "redmine", {
* debug "roundcube", level: 1
* debug "smtplog", level: 1
* debug "logins", level: 1
* debug "session", level: 1
* debug "sql", level: 1
* debug "imap", level: 1
* debug "ldap", level: 1
* debug "smtp", level: 1
* debug "php", level: 1
* }
*
*
* @return the {@link Map} of the debug levels or {@code null}.
*/
Map debugLogging(String key);
/**
* Returns the product name.
*
* Example:
*
*
* setup "roundcube", {
* product name: "test1.com mail"
* }
*
*
* @return the {@link String} name or {@code null}.
*/
String getProductName();
/**
* Returns the database settings.
*
* - "database" the database name;
* - "driver" optionally, the database driver;
* - "user" optionally, the database user name;
* - "password" optionally, the user password;
* - "host" optionally, the database host;
*
*
* Example:
*
*
* setup "roundcube", {
* database "roundcubedb", driver: "mysql", user: "userdb", password: "userpassdb", host: "localhost"
* }
*
*
* @return the {@link Map} with the database settings or {@code null}.
*/
Map getDatabase();
/**
* Returns the mail server settings.
*
* - "mail" the mail server;
* - "user" optionally, the SMTP login user name;
* - "password" optionally, the SMTP login password;
*
*
* Example:
*
*
* setup "roundcube", {
* mail "tls://%h", user: "usersmtp", password: "passwordsmtp"
* }
*
*
* @return the {@link Map} with the mail server settings or {@code null}.
*/
Map getMailServer();
/**
* Returns the IMAP hosts.
*
* - name := host
*
*
* Example:
*
*
* setup "roundcube", {
* server "Default Server", host: "mail.example.com"
* server "Webmail Server", host: "webmail.example.com"
* }
*
*
* @return the {@link Map} with the IMAP hosts or {@code null}.
*/
Map getImapServers();
/**
* Returns the default IMAP host.
*
* Example:
*
*
* setup "roundcube", {
* server "default", host: "localhost"
* }
*
*
* @return the {@link String} host or {@code null}.
*/
String getImapServer();
/**
* Returns the default IMAP port.
*
* Example:
*
*
* setup "roundcube", {
* server "default", port: 143
* }
*
*
* @return the {@link Integer} host or {@code null}.
*/
Integer getImapPort();
/**
* Returns the IMAP domains.
*
* - host := domain
*
*
* Example:
*
*
* setup "roundcube", {
* host "example.com", domain: "mail.example.com"
* host "otherdomain.com", domain: "othermail.example.com"
* }
*
*
* @return the {@link Map} with the IMAP domains or {@code null}.
*/
Map getImapDomains();
/**
* Returns the default IMAP domain.
*
* Example:
*
*
* setup "roundcube", {
* host "example.com"
* }
*
*
* @return the {@link String} the default domain or {@code null}.
*/
String getImapDomain();
/**
* Returns the plug-ins.
*
* Example:
*
*
* setup "roundcube", {
* plugins "archive, zipdownload"
* }
*
*
* @return the {@link List} of the {@link String} plug-ins or {@code null}.
*/
List getPlugins();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy