ACC SHELL

Path : /usr/share/YaST2/include/mail/
File Upload :
Current File : //usr/share/YaST2/include/mail/mail-server_wizards.ycp

/**
 * File:	include/mail/wizards.ycp
 * Package:	Configuration of mail-server
 * Summary:	Wizards definitions
 * Authors:	Peter Varkoly <varkoly@suse.de>
 *
 * $Id: wizards.ycp 19955 2004-10-26 12:28:16Z varkoly $
 */

{

textdomain "mail";

import "Sequencer";
import "Wizard";

include "mail/mail-server_complex.ycp";
include "mail/mail-server_dialogs.ycp";

/**
 * Main workflow of the mail-server configuration
 * @return sequence result
 */
any MainSequence()
{

    /* FIXME: adapt to your needs */
    map aliases = $[
	"complex"	:   ``( ComplexDialog() )
    ];

    /* FIXME: adapt to your needs */
    map sequence = $[
	"ws_start" : "complex",
        "complex"  : $[
            `abort      : `abort,
            `next       : `next
        ]
    ];

    return Sequencer::Run(aliases, sequence);
}

/**
 * Whole configuration of mail-server
 * @return sequence result
 */
any MailServerSequence() {

    map aliases = $[
	"auth"		: [ ``( AuthorizingDialog() ), true ],
	"read"		: [ ``( ReadDialog() ), true ],
	"main"		:   ``( MainSequence() ),
	"ldapsetup"	: [ ``( SetupDialog() ), true ],
	"write"		: [ ``( WriteDialog() ), true ]
    ];

    map sequence = $[
	"ws_start" : "auth",
        "ldapsetup" : $[
	    `abort	: `abort,
	    `next	: "auth"
        ],
        "auth" : $[
	    `ldapsetup	: "ldapsetup",
	    `abort	: `abort,
	    `next	: "read"
        ],
	"read" : $[
	    `abort	: `abort,
	    `next	: "main"
	],
	"main" : $[
	    `abort	: `abort,
	    `next	: "write"
	],
	"write" : $[
	    `abort	: `abort,
	    `next	: `next
	]
    ];

    Wizard::CreateDialog();
    Wizard::SetDesktopIcon("mail");

    any ret = Sequencer::Run(aliases, sequence);

    UI::CloseDialog();
    return ret;
}

/**
 * Workflow of the LDAP Server/Client setup
 * @return sequence result
 */
any SetupSequence()
{

    /* FIXME: adapt to your needs */
    map aliases = $[
	"setup"	        : [ ``( SetupDialog() ), true ],
	"main"		:   ``( MailServerSequence() )
    ];

    /* FIXME: adapt to your needs */
    map sequence = $[
	"ws_start" : "setup",
        "setup"  : $[
            `abort      : `abort,
            `next       : "main"
        ],
	"main" : $[
	    `abort	: `abort,
	    `next	: `next
	]
    ];

    Wizard::CreateDialog();
    Wizard::SetDesktopIcon("mail");

    any ret = Sequencer::Run(aliases, sequence);

    UI::CloseDialog();
    return ret;

}

/**
 * Whole configuration of mail-server but without reading and writing.
 * For use with autoinstallation.
 * @return sequence result
 */
any MailServerAutoSequence() {

    /* Initialization dialog caption */
    string caption = _("Mail Server Configuration");
    /* Initialization dialog contents */
    term contents = `Label(_("Initializing..."));

    Wizard::CreateDialog();
    Wizard::SetDesktopIcon("mail");
    Wizard::SetContentsButtons(caption, contents, "",
	    Label::BackButton(), Label::NextButton());

    any ret = MainSequence();

    UI::CloseDialog();
    return ret;
}

/* EOF */
}

ACC SHELL 2018