# ====================================================================
# Copyright (c) 2018 Obeo
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#    Obeo - initial API and implementation
# ====================================================================
pluginName = Sirius Server - Diagram API
providerName = Eclipse Modeling Project

SiriusServerDiagramEndpointConfigurationProvider_label = The SiriusServerEndpointConfigurationProvider of the diagram API
SiriusServerDiagramEndpointConfigurationProvider_description = Used to configure the diagram API of the Sirius server
SiriusServerDiagramImagePathProvider_label = The image path provider for the diagram API
SiriusServerDiagramImagePathProvider_description = Used to compute the path of the images returned by the diagram API