Package org.eclipse.ecf.example.clients

Source Code of org.eclipse.ecf.example.clients.XMPPClientUI

/****************************************************************************
* Copyright (c) 2004 Composent, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*    Composent, Inc. - initial API and implementation
*****************************************************************************/

package org.eclipse.ecf.example.clients;

import org.eclipse.ecf.core.ContainerConnectException;
import org.eclipse.ecf.core.ContainerCreateException;
import org.eclipse.ecf.core.ContainerFactory;
import org.eclipse.ecf.core.IContainer;
import org.eclipse.ecf.core.identity.IDCreateException;
import org.eclipse.ecf.core.identity.IDFactory;
import org.eclipse.ecf.core.security.ConnectContextFactory;
import org.eclipse.ecf.presence.ui.MultiRosterView;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;

/**
* XMPP client with user interface for roster. This class is an example XMPP
* client that has a user interface. Subclasses may be created as desired.
*/
public class XMPPClientUI {

  private static final String PRESENCE_UI_VIEW1 = "org.eclipse.ecf.presence.ui.view1";

  protected static String CONTAINER_TYPE = "ecf.xmpp.smack";

  IContainer container;
  MultiRosterView view;

  public void initialize() throws ContainerCreateException {
    if (container == null) {
      container = ContainerFactory.getDefault().createContainer(
          CONTAINER_TYPE);
    }
  }

  protected IContainer getContainer() {
    return container;
  }

  public void dispose() {
    if (container != null) {
      container.dispose();
      container = null;
    }
  }

  public void connect(String target, String password)
      throws ContainerConnectException, IDCreateException {
    container.connect(IDFactory.getDefault().createID(
        container.getConnectNamespace(), target), ConnectContextFactory
        .createPasswordConnectContext(password));
  }

  public void showUI() throws PartInitException {
    IWorkbenchWindow ww = PlatformUI.getWorkbench()
        .getActiveWorkbenchWindow();
    IWorkbenchPage wp = ww.getActivePage();

    MultiRosterView rv = (MultiRosterView) wp.showView(PRESENCE_UI_VIEW1);
    rv.addContainer(container);
  }
}
TOP

Related Classes of org.eclipse.ecf.example.clients.XMPPClientUI

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.