/*******************************************************************************
 * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH 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:
 * Edgar Mueller - initial API and implementation
 ******************************************************************************/
package org.eclipse.emf.emfstore.internal.client.model.connectionmanager.xmlrpc;

import org.eclipse.osgi.util.NLS;

/**
 * XML-RPC related messages on client side.
 *
 * @author emueller
 * @generated
 */
public final class Messages extends NLS {

	private static final String BUNDLE_NAME = "org.eclipse.emf.emfstore.internal.client.model.connectionmanager.xmlrpc.messages"; //$NON-NLS-1$
	public static String XmlRpcClientManager_Could_Not_Load_Certificate;
	public static String XmlRpcClientManager_UploadChangePackageFragmentCallFailed;
	public static String XmlRpcClientManager_Malformed_URL_Or_Port;
	public static String XmlRpcClientManager_NoValidSessionAndOrProjectId;
	public static String XmlRpcClientManager_NoValidSessionId;
	public static String XmlRpcClientManager_SaveChangePackageFailed;
	static {
		// initialize resource bundle
		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
	}

	private Messages() {
	}
}
