01: // The contents of this file are subject to the Mozilla Public License Version
02: // 1.1
03: //(the "License"); you may not use this file except in compliance with the
04: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
05: //
06: //Software distributed under the License is distributed on an "AS IS" basis,
07: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
08: //for the specific language governing rights and
09: //limitations under the License.
10: //
11: //The Original Code is "The Columba Project"
12: //
13: //The Initial Developers of the Original Code are Frederik Dietz and Timo
14: // Stich.
15: //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16: //
17: //All Rights Reserved.
18: package org.columba.chat.command;
19:
20: import org.columba.api.command.ICommandReference;
21: import org.columba.api.command.IWorkerStatusController;
22: import org.columba.chat.Connection;
23: import org.columba.chat.MainInterface;
24: import org.columba.chat.conn.api.IConnection.STATUS;
25: import org.columba.chat.ui.frame.api.IChatFrameMediator;
26: import org.columba.core.command.Command;
27:
28: public class DisconnectCommand extends Command {
29: private IChatFrameMediator mediator;
30:
31: public DisconnectCommand(IChatFrameMediator mediator,
32: ICommandReference reference) {
33: super (reference);
34:
35: this .mediator = mediator;
36: }
37:
38: /**
39: * @see org.columba.core.command.Command#updateGUI()
40: */
41: @Override
42: public void updateGUI() throws Exception {
43: MainInterface.connection.setStatus(STATUS.OFFLINE);
44:
45: mediator.getRoasterTree().setEnabled(false);
46: }
47:
48: @Override
49: public void execute(IWorkerStatusController worker)
50: throws Exception {
51: Connection.XMPPConnection.close();
52: }
53:
54: }
|