All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.joynr.generator.cpp.defaultProvider.DefaultProviderGenerator Maven / Gradle / Ivy

There is a newer version: 0.9.3
Show newest version
package io.joynr.generator.cpp.defaultProvider;

import com.google.inject.Inject;
import io.joynr.generator.cpp.defaultProvider.DefaultProviderCppTemplate;
import io.joynr.generator.cpp.defaultProvider.DefaultProviderHTemplate;
import io.joynr.generator.cpp.util.JoynrCppGeneratorExtensions;
import java.io.File;
import org.eclipse.emf.common.util.EList;
import org.eclipse.xtext.generator.IFileSystemAccess;
import org.eclipse.xtext.xbase.lib.Extension;
import org.franca.core.franca.FInterface;
import org.franca.core.franca.FModel;

@SuppressWarnings("all")
public class DefaultProviderGenerator {
  @Inject
  @Extension
  private JoynrCppGeneratorExtensions _joynrCppGeneratorExtensions;
  
  @Inject
  private DefaultProviderHTemplate defaultProviderHTemplate;
  
  @Inject
  private DefaultProviderCppTemplate defaultProviderCppTemplate;
  
  public void doGenerate(final FModel fModel, final IFileSystemAccess sourceFileSystem, final IFileSystemAccess headerFileSystem, final String sourceContainerPath, final String headerContainerPath) {
    EList _interfaces = fModel.getInterfaces();
    for (final FInterface serviceInterface : _interfaces) {
      {
        String _packageSourceDirectory = this._joynrCppGeneratorExtensions.getPackageSourceDirectory(serviceInterface);
        String _plus = (sourceContainerPath + _packageSourceDirectory);
        final String sourcepath = (_plus + File.separator);
        String _packagePathWithJoynrPrefix = this._joynrCppGeneratorExtensions.getPackagePathWithJoynrPrefix(serviceInterface, File.separator);
        String _plus_1 = (headerContainerPath + _packagePathWithJoynrPrefix);
        final String headerpath = (_plus_1 + File.separator);
        final String serviceName = this._joynrCppGeneratorExtensions.joynrName(serviceInterface);
        String _plus_2 = (headerpath + "Default");
        String _plus_3 = (_plus_2 + serviceName);
        String _plus_4 = (_plus_3 + "Provider.h");
        CharSequence _generate = this.defaultProviderHTemplate.generate(serviceInterface);
        String _string = _generate.toString();
        headerFileSystem.generateFile(_plus_4, _string);
        String _plus_5 = (sourcepath + "Default");
        String _plus_6 = (_plus_5 + serviceName);
        String _plus_7 = (_plus_6 + "Provider.cpp");
        CharSequence _generate_1 = this.defaultProviderCppTemplate.generate(serviceInterface);
        String _string_1 = _generate_1.toString();
        sourceFileSystem.generateFile(_plus_7, _string_1);
      }
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy