/*
 * generated by Xtext 2.25.0
 */
package org.etsi.mts.tdl;

import org.eclipse.xtext.conversion.IValueConverterService;
import org.eclipse.xtext.naming.IQualifiedNameConverter;
import org.eclipse.xtext.naming.IQualifiedNameProvider;
import org.eclipse.xtext.resource.DerivedStateAwareResource;
import org.eclipse.xtext.resource.DerivedStateAwareResourceDescriptionManager;
import org.eclipse.xtext.resource.IDefaultResourceDescriptionStrategy;
import org.eclipse.xtext.resource.IDerivedStateComputer;
import org.eclipse.xtext.resource.IResourceDescription;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.scoping.IGlobalScopeProvider;
import org.etsi.mts.tdl.scoping.TDLQualifiedNameConverter;
import org.etsi.mts.tdl.scoping.TdlQualifiedNameProvider;

/**
 * Use this class to register components to be used at runtime / without the Equinox extension registry.
 */
public class TDLtxRuntimeModule extends AbstractTDLtxRuntimeModule {
	@Override
	public Class<? extends IValueConverterService> bindIValueConverterService() {
		return TDLValueConverterService.class;
	}

	public Class<? extends IQualifiedNameConverter> bindIQualifiedNameConverter() {
		return TDLQualifiedNameConverter.class;
	}
	public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
		return TdlQualifiedNameProvider.class;
	}

	public Class<? extends IDerivedStateComputer> bindIDerivedStateComputer() {
		return TDLtxDerivedStateComputer.class;
	}

	// Not needed for Xbase-projects
	@Override
	public Class<? extends XtextResource> bindXtextResource() {
		return DerivedStateAwareResource.class;
	}

	// Not needed for Xbase-projects
	public Class<? extends IResourceDescription.Manager> bindIResourceDescriptionManager() {
		return DerivedStateAwareResourceDescriptionManager.class;
	}

//	public Class<? extends IDefaultResourceDescriptionStrategy> bindIDefaultResourceDescriptionStrategy() {
//		return RDS.class;
//	}
	
//	@Override
//	public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
//		return TDLtxGlobalScopeProvider.class;
//	}

}
