/******************************************************************************* * Copyright (c) 2012 EclipseSource 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: * EclipseSource - initial API and implementation ******************************************************************************/ package com.eclipsesource.tabris.interaction; import org.eclipse.rap.rwt.client.service.ClientService; /** * <p> * Can be used to open other Apps on a device. To get an instance of the {@link AppLauncher} use * <code>RWT.getClient().getService( AppLauncher.class );</code>. * </p> * * @noimplement This interface is not intended to be implemented by clients. * * @since 0.9 */ public interface AppLauncher extends ClientService { /** * <p> * Open a specific App configured in the passed {@link LaunchOptions}. Each App has it's own set of * parameters. For this reason a set of more concrete {@link LaunchOptions} objects can be used. * </p> * * @param launchOptions The options to pass over to an App. Must not be <code>null</code>. * * @see LaunchOptions */ void open( LaunchOptions launchOptions ) throws IllegalArgumentException; /** * <p> * Opens an URL with the best possible App. E.g. it will open a mailto url with the email app. * </p> * * @param url The url to open. Needs to be a valid url and must not be <code>null</code>. */ void openUrl( String url ) throws IllegalArgumentException; }