blob: dde10d10ad0f3dc33b6590093b7c11c398108002 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2018 SAP SE 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:
* SAP SE - initial version
*******************************************************************************/
package org.eclipse.urischeme.internal.registration;
/**
* Interface having all the static methods and also methods which perform
* actions in the windows registry.<br>
* This interface is predominantly used by WindowsRegistry.
*
*/
public interface IRegistryWriter {
/**
* @param string String to be formatted
* @return returns the formatted String
*/
static String quote(String string) {
return String.format("\"%s\"", string); //$NON-NLS-1$
}
/**
* Adds scheme and handler path to the OS.
*
* @param scheme The uri scheme which should be handled by the application
* mentioned in the OS.
* @param launcherPath The path to the launcher binary
* @throws WinRegistryException if Windows Registry I/O error occurred
*
*/
void addScheme(String scheme, String launcherPath) throws WinRegistryException;
/**
* Removes the scheme and handler path from the OS.
*
* @param scheme The uri scheme which should not be handled anymore by the
* application mentioned in the OS.
*
* @throws WinRegistryException if Windows Registry I/O error occurred
*
*/
void removeScheme(String scheme) throws WinRegistryException;
/**
* @param scheme Scheme for which the handler path is required
* @return returns the absolute path
* @throws WinRegistryException if Windows Registry I/O error occurred
*/
String getRegisteredHandlerPath(String scheme) throws WinRegistryException;
}