All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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