summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksandar Kanchev <kanchev@itestra.com>2013-01-29 17:21:47 +0100
committerAleksandar Kanchev <kanchev@itestra.com>2013-01-29 17:22:01 +0100
commitc2ab51453bbbce68544a0f86ba2b877e9ac5f601 (patch)
treef603c2d7c088d74e770ff1a2ff6c240acb7cde6d
parented3de6a3857127d243b61eed7a3dced0496f2c0b (diff)
downloadgenivi-common-api-runtime-c2ab51453bbbce68544a0f86ba2b877e9ac5f601.tar.gz
Normalize file line endingsgenivi_release_2
-rw-r--r--README.html988
-rw-r--r--org.genivi.commonapi.core.tests/src/test-derived-types.fidl142
-rw-r--r--org.genivi.commonapi.core.tests/src/test-interface-proxy.fidl140
-rw-r--r--org.genivi.commonapi.core.tests/src/test-predefined-types.fidl50
-rw-r--r--org.genivi.commonapi.core.ui/.classpath14
-rw-r--r--org.genivi.commonapi.core.ui/build.properties10
-rw-r--r--org.genivi.commonapi.core.ui/plugin.xml128
-rw-r--r--org.genivi.commonapi.core.ui/src/org/genivi/commonapi/core/ui/CommandExecutableExtensionFactory.java92
-rw-r--r--org.genivi.commonapi.core.ui/src/org/genivi/commonapi/core/ui/CommonApiUiPlugin.java70
-rw-r--r--org.genivi.commonapi.core.ui/src/org/genivi/commonapi/core/ui/handler/GenerationCommand.java210
-rw-r--r--org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceGenerator.xtend6
-rw-r--r--org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceProxyGenerator.xtend4
-rw-r--r--org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceStubGenerator.xtend4
-rw-r--r--org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FTypeCollectionGenerator.xtend4
14 files changed, 931 insertions, 931 deletions
diff --git a/README.html b/README.html
index e2825ab..fb1fe5d 100644
--- a/README.html
+++ b/README.html
@@ -1,494 +1,494 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<meta name="generator" content="AsciiDoc 8.4.5" />
-<title>GENIVI_CommonAPI-D-Bus</title>
-<style type="text/css">
-/* Debug borders */
-p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
-/*
- border: 1px solid red;
-*/
-}
-
-body {
- margin: 1em 5% 1em 5%;
-}
-
-a {
- color: blue;
- text-decoration: underline;
-}
-a:visited {
- color: fuchsia;
-}
-
-em {
- font-style: italic;
- color: navy;
-}
-
-strong {
- font-weight: bold;
- color: #083194;
-}
-
-tt {
- color: navy;
-}
-
-h1, h2, h3, h4, h5, h6 {
- color: #527bbd;
- font-family: sans-serif;
- margin-top: 1.2em;
- margin-bottom: 0.5em;
- line-height: 1.3;
-}
-
-h1, h2, h3 {
- border-bottom: 2px solid silver;
-}
-h2 {
- padding-top: 0.5em;
-}
-h3 {
- float: left;
-}
-h3 + * {
- clear: left;
-}
-
-div.sectionbody {
- font-family: serif;
- margin-left: 0;
-}
-
-hr {
- border: 1px solid silver;
-}
-
-p {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-
-ul, ol, li > p {
- margin-top: 0;
-}
-
-pre {
- padding: 0;
- margin: 0;
-}
-
-span#author {
- color: #527bbd;
- font-family: sans-serif;
- font-weight: bold;
- font-size: 1.1em;
-}
-span#email {
-}
-span#revnumber, span#revdate, span#revremark {
- font-family: sans-serif;
-}
-
-div#footer {
- font-family: sans-serif;
- font-size: small;
- border-top: 2px solid silver;
- padding-top: 0.5em;
- margin-top: 4.0em;
-}
-div#footer-text {
- float: left;
- padding-bottom: 0.5em;
-}
-div#footer-badges {
- float: right;
- padding-bottom: 0.5em;
-}
-
-div#preamble {
- margin-top: 1.5em;
- margin-bottom: 1.5em;
-}
-div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
-div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
-div.admonitionblock {
- margin-top: 1.5em;
- margin-bottom: 1.5em;
-}
-div.admonitionblock {
- margin-top: 2.5em;
- margin-bottom: 2.5em;
-}
-
-div.content { /* Block element content. */
- padding: 0;
-}
-
-/* Block element titles. */
-div.title, caption.title {
- color: #527bbd;
- font-family: sans-serif;
- font-weight: bold;
- text-align: left;
- margin-top: 1.0em;
- margin-bottom: 0.5em;
-}
-div.title + * {
- margin-top: 0;
-}
-
-td div.title:first-child {
- margin-top: 0.0em;
-}
-div.content div.title:first-child {
- margin-top: 0.0em;
-}
-div.content + div.title {
- margin-top: 0.0em;
-}
-
-div.sidebarblock > div.content {
- background: #ffffee;
- border: 1px solid silver;
- padding: 0.5em;
-}
-
-div.listingblock > div.content {
- border: 1px solid silver;
- background: #f4f4f4;
- padding: 0.5em;
-}
-
-div.quoteblock {
- padding-left: 2.0em;
- margin-right: 10%;
-}
-div.quoteblock > div.attribution {
- padding-top: 0.5em;
- text-align: right;
-}
-
-div.verseblock {
- padding-left: 2.0em;
- margin-right: 10%;
-}
-div.verseblock > div.content {
- white-space: pre;
-}
-div.verseblock > div.attribution {
- padding-top: 0.75em;
- text-align: left;
-}
-/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
-div.verseblock + div.attribution {
- text-align: left;
-}
-
-div.admonitionblock .icon {
- vertical-align: top;
- font-size: 1.1em;
- font-weight: bold;
- text-decoration: underline;
- color: #527bbd;
- padding-right: 0.5em;
-}
-div.admonitionblock td.content {
- padding-left: 0.5em;
- border-left: 2px solid silver;
-}
-
-div.exampleblock > div.content {
- border-left: 2px solid silver;
- padding: 0.5em;
-}
-
-div.imageblock div.content { padding-left: 0; }
-span.image img { border-style: none; }
-a.image:visited { color: white; }
-
-dl {
- margin-top: 0.8em;
- margin-bottom: 0.8em;
-}
-dt {
- margin-top: 0.5em;
- margin-bottom: 0;
- font-style: normal;
- color: navy;
-}
-dd > *:first-child {
- margin-top: 0.1em;
-}
-
-ul, ol {
- list-style-position: outside;
-}
-ol.arabic {
- list-style-type: decimal;
-}
-ol.loweralpha {
- list-style-type: lower-alpha;
-}
-ol.upperalpha {
- list-style-type: upper-alpha;
-}
-ol.lowerroman {
- list-style-type: lower-roman;
-}
-ol.upperroman {
- list-style-type: upper-roman;
-}
-
-div.compact ul, div.compact ol,
-div.compact p, div.compact p,
-div.compact div, div.compact div {
- margin-top: 0.1em;
- margin-bottom: 0.1em;
-}
-
-div.tableblock > table {
- border: 3px solid #527bbd;
-}
-thead {
- font-family: sans-serif;
- font-weight: bold;
-}
-tfoot {
- font-weight: bold;
-}
-td > div.verse {
- white-space: pre;
-}
-p.table {
- margin-top: 0;
-}
-/* Because the table frame attribute is overriden by CSS in most browsers. */
-div.tableblock > table[frame="void"] {
- border-style: none;
-}
-div.tableblock > table[frame="hsides"] {
- border-left-style: none;
- border-right-style: none;
-}
-div.tableblock > table[frame="vsides"] {
- border-top-style: none;
- border-bottom-style: none;
-}
-
-
-div.hdlist {
- margin-top: 0.8em;
- margin-bottom: 0.8em;
-}
-div.hdlist tr {
- padding-bottom: 15px;
-}
-dt.hdlist1.strong, td.hdlist1.strong {
- font-weight: bold;
-}
-td.hdlist1 {
- vertical-align: top;
- font-style: normal;
- padding-right: 0.8em;
- color: navy;
-}
-td.hdlist2 {
- vertical-align: top;
-}
-div.hdlist.compact tr {
- margin: 0;
- padding-bottom: 0;
-}
-
-.comment {
- background: yellow;
-}
-
-@media print {
- div#footer-badges { display: none; }
-}
-
-div#toctitle {
- color: #527bbd;
- font-family: sans-serif;
- font-size: 1.1em;
- font-weight: bold;
- margin-top: 1.0em;
- margin-bottom: 0.1em;
-}
-
-div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
- margin-top: 0;
- margin-bottom: 0;
-}
-div.toclevel2 {
- margin-left: 2em;
- font-size: 0.9em;
-}
-div.toclevel3 {
- margin-left: 4em;
- font-size: 0.9em;
-}
-div.toclevel4 {
- margin-left: 6em;
- font-size: 0.9em;
-}
-/* Workarounds for IE6's broken and incomplete CSS2. */
-
-div.sidebar-content {
- background: #ffffee;
- border: 1px solid silver;
- padding: 0.5em;
-}
-div.sidebar-title, div.image-title {
- color: #527bbd;
- font-family: sans-serif;
- font-weight: bold;
- margin-top: 0.0em;
- margin-bottom: 0.5em;
-}
-
-div.listingblock div.content {
- border: 1px solid silver;
- background: #f4f4f4;
- padding: 0.5em;
-}
-
-div.quoteblock-attribution {
- padding-top: 0.5em;
- text-align: right;
-}
-
-div.verseblock-content {
- white-space: pre;
-}
-div.verseblock-attribution {
- padding-top: 0.75em;
- text-align: left;
-}
-
-div.exampleblock-content {
- border-left: 2px solid silver;
- padding-left: 0.5em;
-}
-
-/* IE6 sets dynamically generated links as visited. */
-div#toc a:visited { color: blue; }
-</style>
-</head>
-<body>
-<div id="header">
-<h1>GENIVI_CommonAPI-D-Bus</h1>
-<span id="author">Juergen Gehring - juergen.gehring@bmw.de, Manfred Bathelt - manfred.bathelt@bmw.de</span><br />
-</div>
-<h2 id="_copyright">Copyright</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Copyright &#169; 2013, GENIVI Alliance, Inc.
-Copyright &#169; 2013, BMW AG</p></div>
-<div class="paragraph"><p>This file is part of GENIVI Project IPC Common API.</p></div>
-<div class="paragraph"><p>Contributions are licensed to the GENIVI Alliance under one or more
-Contribution License Agreements or MPL 2.0 .</p></div>
-<div class="paragraph"><p>&#169; Copyright
-This Source Code Form is subject to the terms of the
-Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-this file, You can obtain one at <a href="http://mozilla.org/MPL/2.0/">http://mozilla.org/MPL/2.0/</a>.</p></div>
-<div class="paragraph"><p>For further information see <a href="https://collab.genivi.org/wiki/display/genivi/SysInfraEGCommonIDLCommonAPIGuide">https://collab.genivi.org/wiki/display/genivi/SysInfraEGCommonIDLCommonAPIGuide</a></p></div>
-</div>
-<h2 id="_license">License</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This project is licensed under MPL 2.0</p></div>
-<div class="paragraph"><p>Contribution is done under GENIVI CLA or MPL2.0.</p></div>
-</div>
-<h2 id="_version">Version</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The current version can be taken from the git.</p></div>
-</div>
-<h2 id="_common_api_overview">Common API Overview</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Common API and its mechanism specific bindings (e.g. Common API D-Bus) provide a set of libraries and tools to work with
-RPC communication in a way independent of wich mechanism is used. It consist currently consists of four subprojects:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>CommonAPI - This is the base C++ library, which provides the application interface for users and can
- load runtime bindings such as dbus.
-CommonAPI-Tools - The eclipse based tools for CommonAPI. This is essentially the code generator for
- Franca -&gt; Common API C++ code.
- (This is the current package.)
-CommonAPI-D-Bus - This is the D-Bus binding C++ library, which provides the necesary code to communicate
- over D-Bus. This is invisible to the application code, and simply needs to be linked against.
-CommonAPI-D-Bus-Tools - The eclipse based tools for CommonAPI D-Bus. This is the code generator for
- Franca -&gt; Common API D-Bus C++ code.</tt></pre>
-</div></div>
-</div>
-<h2 id="_usage_instructions">Usage Instructions</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The simplest way to use the CommonAPI Tools is to add the update site ZIP available in the CommonAPI-D-Bus-Tools project
-under org.genivi.commonapi.dbus.feature/org.genivi.commonapi.dbus.updatesite.zip to you Eclipse. This is available under:</p></div>
-<div class="paragraph"><p>Help&#8594;Install New Software&#8594;Add Button</p></div>
-<div class="paragraph"><p>There click Browse and navigate to the update site.</p></div>
-<div class="paragraph"><p>In order for dependencies to be resolved you must have a franca update site zip
-(available from <a href="https://code.google.com/a/eclipselabs.org/p/franca/downloads/list">https://code.google.com/a/eclipselabs.org/p/franca/downloads/list</a>) and the xtext update site url
-(<a href="http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/">http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/</a>) also added to your eclipse sources in the same manner.</p></div>
-<div class="paragraph"><p>Then select "All available sites" in the site selection dropdown box, and in the Software selection window,
-select the entire "GENIVI Common API" Tree.</p></div>
-<div class="paragraph"><p>After the software has been installed in Eclipse you can right-click on any .fidl file and generate C++ code for CommonAPI D-Bus
-by selecting the "CommonAPI&#8594;Generate Common API Code" option.</p></div>
-</div>
-<h2 id="_build_instructions">Build Instructions</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>These are Eclipse Plug-In projects which require Xtext2 and Franca as dependencies within Eclipse.</p></div>
-<div class="paragraph"><p>To build first import the three projects</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>org.genivi.commonapi.core.
-org.genivi.commonapi.core.ui
-org.genivi.commonapi.core.feature</tt></pre>
-</div></div>
-<div class="paragraph"><p>in to Eclipse. Then simply build the workspace. Then right-click on the .feature project and select "Run as Eclipse Application" to launch
-the built projects.</p></div>
-</div>
-<h2 id="_working_on_the_code_amp_contribution">Working on the code &amp; contribution</h2>
-<div class="sectionbody">
-<div class="literalblock">
-<div class="title">First get the code from the git:</div>
-<div class="content">
-<pre><tt>git clone</tt></pre>
-</div></div>
-<div class="literalblock">
-<div class="title">Get an overview of all branches:</div>
-<div class="content">
-<pre><tt>git branch</tt></pre>
-</div></div>
-<div class="literalblock">
-<div class="title">Switch to the branch you want to work on (master is the feature branch) and verify that it has switched (* changed)</div>
-<div class="content">
-<pre><tt>git checkout &lt;your branch&gt;
-git branch</tt></pre>
-</div></div>
-<div class="literalblock">
-<div class="title">Best practice is to create a local branch based on the current branch:</div>
-<div class="content">
-<pre><tt>git branch working_branch</tt></pre>
-</div></div>
-<div class="paragraph"><p>Start working, best practice is to commit smaller, compilable pieces during the development process that makes it easier to handle later on.</p></div>
-<div class="literalblock">
-<div class="title">If you want to commit you changes, send them to the author, you can create a patch like this:</div>
-<div class="content">
-<pre><tt>git format-patch working_branch &lt;your branch&gt;</tt></pre>
-</div></div>
-<div class="paragraph"><p>This creates a set of patches that are published via the mailing list.The patches will be discussed and then merged &amp; uploaded on the git by the maintainer.</p></div>
-<div class="paragraph"><p>Patches can be accepted either under GENIVI Cla or MPL 2.0 (see section License). Please be sure that the signed-off-by is set correctly. For more, check out <a href="http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html">http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html</a></p></div>
-</div>
-<div id="footer">
-<div id="footer-text">
-Last updated 2013-01-21 14:53:03 CEST
-</div>
-</div>
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.4.5" />
+<title>GENIVI_CommonAPI-D-Bus</title>
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+ border: 1px solid red;
+*/
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+ color: navy;
+}
+
+strong {
+ font-weight: bold;
+ color: #083194;
+}
+
+tt {
+ color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ font-family: sans-serif;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+
+div.sectionbody {
+ font-family: serif;
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+
+pre {
+ padding: 0;
+ margin: 0;
+}
+
+span#author {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+span#email {
+}
+span#revnumber, span#revdate, span#revremark {
+ font-family: sans-serif;
+}
+
+div#footer {
+ font-family: sans-serif;
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+div#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+div#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+div#preamble {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.5em;
+ margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+
+div.listingblock > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+div.verseblock > div.content {
+ white-space: pre;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+ border-left: 2px solid silver;
+ padding: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+span.image img { border-style: none; }
+a.image:visited { color: white; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+@media print {
+ div#footer-badges { display: none; }
+}
+
+div#toctitle {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ margin-top: 0.0em;
+ margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock-content {
+ white-space: pre;
+}
+div.verseblock-attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+
+div.exampleblock-content {
+ border-left: 2px solid silver;
+ padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+</style>
+</head>
+<body>
+<div id="header">
+<h1>GENIVI_CommonAPI-D-Bus</h1>
+<span id="author">Juergen Gehring - juergen.gehring@bmw.de, Manfred Bathelt - manfred.bathelt@bmw.de</span><br />
+</div>
+<h2 id="_copyright">Copyright</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Copyright &#169; 2013, GENIVI Alliance, Inc.
+Copyright &#169; 2013, BMW AG</p></div>
+<div class="paragraph"><p>This file is part of GENIVI Project IPC Common API.</p></div>
+<div class="paragraph"><p>Contributions are licensed to the GENIVI Alliance under one or more
+Contribution License Agreements or MPL 2.0 .</p></div>
+<div class="paragraph"><p>&#169; Copyright
+This Source Code Form is subject to the terms of the
+Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+this file, You can obtain one at <a href="http://mozilla.org/MPL/2.0/">http://mozilla.org/MPL/2.0/</a>.</p></div>
+<div class="paragraph"><p>For further information see <a href="https://collab.genivi.org/wiki/display/genivi/SysInfraEGCommonIDLCommonAPIGuide">https://collab.genivi.org/wiki/display/genivi/SysInfraEGCommonIDLCommonAPIGuide</a></p></div>
+</div>
+<h2 id="_license">License</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>This project is licensed under MPL 2.0</p></div>
+<div class="paragraph"><p>Contribution is done under GENIVI CLA or MPL2.0.</p></div>
+</div>
+<h2 id="_version">Version</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The current version can be taken from the git.</p></div>
+</div>
+<h2 id="_common_api_overview">Common API Overview</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Common API and its mechanism specific bindings (e.g. Common API D-Bus) provide a set of libraries and tools to work with
+RPC communication in a way independent of wich mechanism is used. It consist currently consists of four subprojects:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>CommonAPI - This is the base C++ library, which provides the application interface for users and can
+ load runtime bindings such as dbus.
+CommonAPI-Tools - The eclipse based tools for CommonAPI. This is essentially the code generator for
+ Franca -&gt; Common API C++ code.
+ (This is the current package.)
+CommonAPI-D-Bus - This is the D-Bus binding C++ library, which provides the necesary code to communicate
+ over D-Bus. This is invisible to the application code, and simply needs to be linked against.
+CommonAPI-D-Bus-Tools - The eclipse based tools for CommonAPI D-Bus. This is the code generator for
+ Franca -&gt; Common API D-Bus C++ code.</tt></pre>
+</div></div>
+</div>
+<h2 id="_usage_instructions">Usage Instructions</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The simplest way to use the CommonAPI Tools is to add the update site ZIP available in the CommonAPI-D-Bus-Tools project
+under org.genivi.commonapi.dbus.feature/org.genivi.commonapi.dbus.updatesite.zip to you Eclipse. This is available under:</p></div>
+<div class="paragraph"><p>Help&#8594;Install New Software&#8594;Add Button</p></div>
+<div class="paragraph"><p>There click Browse and navigate to the update site.</p></div>
+<div class="paragraph"><p>In order for dependencies to be resolved you must have a franca update site zip
+(available from <a href="https://code.google.com/a/eclipselabs.org/p/franca/downloads/list">https://code.google.com/a/eclipselabs.org/p/franca/downloads/list</a>) and the xtext update site url
+(<a href="http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/">http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/</a>) also added to your eclipse sources in the same manner.</p></div>
+<div class="paragraph"><p>Then select "All available sites" in the site selection dropdown box, and in the Software selection window,
+select the entire "GENIVI Common API" Tree.</p></div>
+<div class="paragraph"><p>After the software has been installed in Eclipse you can right-click on any .fidl file and generate C++ code for CommonAPI D-Bus
+by selecting the "CommonAPI&#8594;Generate Common API Code" option.</p></div>
+</div>
+<h2 id="_build_instructions">Build Instructions</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>These are Eclipse Plug-In projects which require Xtext2 and Franca as dependencies within Eclipse.</p></div>
+<div class="paragraph"><p>To build first import the three projects</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>org.genivi.commonapi.core.
+org.genivi.commonapi.core.ui
+org.genivi.commonapi.core.feature</tt></pre>
+</div></div>
+<div class="paragraph"><p>in to Eclipse. Then simply build the workspace. Then right-click on the .feature project and select "Run as Eclipse Application" to launch
+the built projects.</p></div>
+</div>
+<h2 id="_working_on_the_code_amp_contribution">Working on the code &amp; contribution</h2>
+<div class="sectionbody">
+<div class="literalblock">
+<div class="title">First get the code from the git:</div>
+<div class="content">
+<pre><tt>git clone</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="title">Get an overview of all branches:</div>
+<div class="content">
+<pre><tt>git branch</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="title">Switch to the branch you want to work on (master is the feature branch) and verify that it has switched (* changed)</div>
+<div class="content">
+<pre><tt>git checkout &lt;your branch&gt;
+git branch</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="title">Best practice is to create a local branch based on the current branch:</div>
+<div class="content">
+<pre><tt>git branch working_branch</tt></pre>
+</div></div>
+<div class="paragraph"><p>Start working, best practice is to commit smaller, compilable pieces during the development process that makes it easier to handle later on.</p></div>
+<div class="literalblock">
+<div class="title">If you want to commit you changes, send them to the author, you can create a patch like this:</div>
+<div class="content">
+<pre><tt>git format-patch working_branch &lt;your branch&gt;</tt></pre>
+</div></div>
+<div class="paragraph"><p>This creates a set of patches that are published via the mailing list.The patches will be discussed and then merged &amp; uploaded on the git by the maintainer.</p></div>
+<div class="paragraph"><p>Patches can be accepted either under GENIVI Cla or MPL 2.0 (see section License). Please be sure that the signed-off-by is set correctly. For more, check out <a href="http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html">http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html</a></p></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2013-01-21 14:53:03 CEST
+</div>
+</div>
+</body>
+</html>
diff --git a/org.genivi.commonapi.core.tests/src/test-derived-types.fidl b/org.genivi.commonapi.core.tests/src/test-derived-types.fidl
index ab91c49..63c3467 100644
--- a/org.genivi.commonapi.core.tests/src/test-derived-types.fidl
+++ b/org.genivi.commonapi.core.tests/src/test-derived-types.fidl
@@ -1,71 +1,71 @@
-/* Copyright (C) 2013 BMW Group
- * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
- * Author: Juergen Gehring (juergen.gehring@bmw.de)
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-package commonapi.tests
-
-import commonapi.tests.* from "test-predefined-types.fidl"
-
-typeCollection DerivedTypeCollection {
- <** @description : Common errors. **>
- enumeration TestEnum {
- <** @description : default **>
- E_UNKNOWN = "0x00"
- <** @description : no error - positive reply **>
- E_OK = "0x01"
- <** @description : value out of range **>
- E_OUT_OF_RANGE = "0x02"
- <** @description : not used **>
- E_NOT_USED = "0x03"
- }
-
- enumeration TestEnumMissingValue {
- <** @description : default **>
- E1 = "A"
- E2
- E3 = "2"
- }
-
- enumeration TestEnumExtended extends TestEnum {
- <** @description : new error **>
- E_NEW = "0x04"
- }
-
- enumeration TestEnumExtended2 extends TestEnumExtended {
- <** @description : new error **>
- E_NEW2 = "0x05"
- }
-
- struct TestStruct {
- <** @description : the name of the property **>
- PredefinedTypeCollection.TestString testString
-
- <** @description : the actual value **>
- UInt16 uintValue
- }
-
- struct TestStructExtended extends TestStruct {
- TestEnumExtended2 testEnumExtended2
- }
-
- array TestArrayUInt64 of UInt64
- array TestArrayTestStruct of TestStruct
-
- map TestMap { UInt32 to TestArrayTestStruct }
-
- union TestUnionIn {
- TestEnum enum
- Int16 int
- String text
- }
-
- union TestUnionOut {
- TestEnumExtended enum
- Int16 int
- String text
- }
-}
-
-
+/* Copyright (C) 2013 BMW Group
+ * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
+ * Author: Juergen Gehring (juergen.gehring@bmw.de)
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+package commonapi.tests
+
+import commonapi.tests.* from "test-predefined-types.fidl"
+
+typeCollection DerivedTypeCollection {
+ <** @description : Common errors. **>
+ enumeration TestEnum {
+ <** @description : default **>
+ E_UNKNOWN = "0x00"
+ <** @description : no error - positive reply **>
+ E_OK = "0x01"
+ <** @description : value out of range **>
+ E_OUT_OF_RANGE = "0x02"
+ <** @description : not used **>
+ E_NOT_USED = "0x03"
+ }
+
+ enumeration TestEnumMissingValue {
+ <** @description : default **>
+ E1 = "A"
+ E2
+ E3 = "2"
+ }
+
+ enumeration TestEnumExtended extends TestEnum {
+ <** @description : new error **>
+ E_NEW = "0x04"
+ }
+
+ enumeration TestEnumExtended2 extends TestEnumExtended {
+ <** @description : new error **>
+ E_NEW2 = "0x05"
+ }
+
+ struct TestStruct {
+ <** @description : the name of the property **>
+ PredefinedTypeCollection.TestString testString
+
+ <** @description : the actual value **>
+ UInt16 uintValue
+ }
+
+ struct TestStructExtended extends TestStruct {
+ TestEnumExtended2 testEnumExtended2
+ }
+
+ array TestArrayUInt64 of UInt64
+ array TestArrayTestStruct of TestStruct
+
+ map TestMap { UInt32 to TestArrayTestStruct }
+
+ union TestUnionIn {
+ TestEnum enum
+ Int16 int
+ String text
+ }
+
+ union TestUnionOut {
+ TestEnumExtended enum
+ Int16 int
+ String text
+ }
+}
+
+
diff --git a/org.genivi.commonapi.core.tests/src/test-interface-proxy.fidl b/org.genivi.commonapi.core.tests/src/test-interface-proxy.fidl
index fd77ada..295902f 100644
--- a/org.genivi.commonapi.core.tests/src/test-interface-proxy.fidl
+++ b/org.genivi.commonapi.core.tests/src/test-interface-proxy.fidl
@@ -1,70 +1,70 @@
-/* Copyright (C) 2013 BMW Group
- * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
- * Author: Juergen Gehring (juergen.gehring@bmw.de)
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-package commonapi.tests
-
-import commonapi.tests.* from "test-derived-types.fidl"
-
-interface TestInterface {
- version { major 1 minor 0 }
-
- attribute UInt32 TestPredefinedTypeAttribute
- attribute DerivedTypeCollection.TestStructExtended TestDerivedStructAttribute
- attribute DerivedTypeCollection.TestArrayUInt64 TestDerivedArrayAttribute
-
- method testVoidPredefinedTypeMethod {
- in {
- UInt32 uint32Value
- String stringValue
- }
- }
-
- method testPredefinedTypeMethod {
- in {
- UInt32 uint32InValue
- String stringInValue
- }
- out {
- UInt32 uint32OutValue
- String stringOutValue
- }
- }
-
- method testVoidDerivedTypeMethod {
- in {
- DerivedTypeCollection.TestEnumExtended2 testEnumExtended2Value
- DerivedTypeCollection.TestMap testMapValue
- }
- }
-
- method testDerivedTypeMethod {
- in {
- DerivedTypeCollection.TestEnumExtended2 testEnumExtended2InValue
- DerivedTypeCollection.TestMap testMapInValue
- }
- out {
- DerivedTypeCollection.TestEnumExtended2 testEnumExtended2OutValue
- DerivedTypeCollection.TestMap testMapOutValue
- }
- }
-
- method testUnionMethod {
- in {
- DerivedTypeCollection.TestUnionIn inParam
- }
- out {
- DerivedTypeCollection.TestUnionOut outParam
- }
- }
-
- broadcast TestPredefinedTypeBroadcast {
- out {
- UInt32 uint32Value
- String stringValue
- }
- }
-}
-
+/* Copyright (C) 2013 BMW Group
+ * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
+ * Author: Juergen Gehring (juergen.gehring@bmw.de)
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+package commonapi.tests
+
+import commonapi.tests.* from "test-derived-types.fidl"
+
+interface TestInterface {
+ version { major 1 minor 0 }
+
+ attribute UInt32 TestPredefinedTypeAttribute
+ attribute DerivedTypeCollection.TestStructExtended TestDerivedStructAttribute
+ attribute DerivedTypeCollection.TestArrayUInt64 TestDerivedArrayAttribute
+
+ method testVoidPredefinedTypeMethod {
+ in {
+ UInt32 uint32Value
+ String stringValue
+ }
+ }
+
+ method testPredefinedTypeMethod {
+ in {
+ UInt32 uint32InValue
+ String stringInValue
+ }
+ out {
+ UInt32 uint32OutValue
+ String stringOutValue
+ }
+ }
+
+ method testVoidDerivedTypeMethod {
+ in {
+ DerivedTypeCollection.TestEnumExtended2 testEnumExtended2Value
+ DerivedTypeCollection.TestMap testMapValue
+ }
+ }
+
+ method testDerivedTypeMethod {
+ in {
+ DerivedTypeCollection.TestEnumExtended2 testEnumExtended2InValue
+ DerivedTypeCollection.TestMap testMapInValue
+ }
+ out {
+ DerivedTypeCollection.TestEnumExtended2 testEnumExtended2OutValue
+ DerivedTypeCollection.TestMap testMapOutValue
+ }
+ }
+
+ method testUnionMethod {
+ in {
+ DerivedTypeCollection.TestUnionIn inParam
+ }
+ out {
+ DerivedTypeCollection.TestUnionOut outParam
+ }
+ }
+
+ broadcast TestPredefinedTypeBroadcast {
+ out {
+ UInt32 uint32Value
+ String stringValue
+ }
+ }
+}
+
diff --git a/org.genivi.commonapi.core.tests/src/test-predefined-types.fidl b/org.genivi.commonapi.core.tests/src/test-predefined-types.fidl
index c29034b..c8f9882 100644
--- a/org.genivi.commonapi.core.tests/src/test-predefined-types.fidl
+++ b/org.genivi.commonapi.core.tests/src/test-predefined-types.fidl
@@ -1,25 +1,25 @@
-/* Copyright (C) 2013 BMW Group
- * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
- * Author: Juergen Gehring (juergen.gehring@bmw.de)
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-package commonapi.tests
-
-typeCollection PredefinedTypeCollection {
- typedef TestUInt8 is UInt8
- typedef TestUInt16 is UInt16
- typedef TestUInt32 is UInt32
- typedef TestUInt64 is UInt64
- typedef TestInt8 is Int8
- typedef TestInt16 is Int16
- typedef TestInt32 is Int32
- typedef TestInt64 is Int64
- typedef TestBoolean is Boolean
- typedef TestByteBuffer is ByteBuffer
- typedef TestDouble is Double
- typedef TestFloat is Float
- typedef TestString is String
-}
-
-
+/* Copyright (C) 2013 BMW Group
+ * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
+ * Author: Juergen Gehring (juergen.gehring@bmw.de)
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+package commonapi.tests
+
+typeCollection PredefinedTypeCollection {
+ typedef TestUInt8 is UInt8
+ typedef TestUInt16 is UInt16
+ typedef TestUInt32 is UInt32
+ typedef TestUInt64 is UInt64
+ typedef TestInt8 is Int8
+ typedef TestInt16 is Int16
+ typedef TestInt32 is Int32
+ typedef TestInt64 is Int64
+ typedef TestBoolean is Boolean
+ typedef TestByteBuffer is ByteBuffer
+ typedef TestDouble is Double
+ typedef TestFloat is Float
+ typedef TestString is String
+}
+
+
diff --git a/org.genivi.commonapi.core.ui/.classpath b/org.genivi.commonapi.core.ui/.classpath
index 8a8f166..ad32c83 100644
--- a/org.genivi.commonapi.core.ui/.classpath
+++ b/org.genivi.commonapi.core.ui/.classpath
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.genivi.commonapi.core.ui/build.properties b/org.genivi.commonapi.core.ui/build.properties
index 78d73f7..2b0d95b 100644
--- a/org.genivi.commonapi.core.ui/build.properties
+++ b/org.genivi.commonapi.core.ui/build.properties
@@ -1,5 +1,5 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
- META-INF/,\
- .
+source.. = src/
+output.. = bin/
+bin.includes = plugin.xml,\
+ META-INF/,\
+ .
diff --git a/org.genivi.commonapi.core.ui/plugin.xml b/org.genivi.commonapi.core.ui/plugin.xml
index 912b6e9..6b280ca 100644
--- a/org.genivi.commonapi.core.ui/plugin.xml
+++ b/org.genivi.commonapi.core.ui/plugin.xml
@@ -1,64 +1,64 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.ui.handlers">
- <handler
- class="org.genivi.commonapi.core.ui.CommandExecutableExtensionFactory:org.genivi.commonapi.core.ui.handler.GenerationCommand"
- commandId="org.genivi.commonapi.core.ui.handler.GenerationCommand">
- </handler>
- </extension>
- <extension
- point="org.eclipse.ui.commands">
- <command
- id="org.genivi.commonapi.core.ui.handler.GenerationCommand"
- name="Generate C++ Code">
- </command>
- </extension>
- <extension
- point="org.eclipse.ui.menus">
- <menuContribution
- allPopups="false"
- locationURI="popup:org.eclipse.ui.popup.any?after=additions">
- <menu
- id="org.genivi.commonapi.core.ui.popup.menu"
- label="Common API">
- </menu>
- </menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="popup:org.genivi.commonapi.core.ui.popup.menu">
- <command
- commandId="org.genivi.commonapi.core.ui.handler.GenerationCommand"
- label="Generate C++ Code"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <reference
- definitionId="org.genivi.commonapi.core.ui.FrancaIDL.Resources.selected">
- </reference>
- </visibleWhen>
- </command>
- </menuContribution>
- </extension>
- <extension
- point="org.eclipse.core.expressions.definitions">
- <definition
- id="org.genivi.commonapi.core.ui.FrancaIDL.Resources.selected">
- <or>
- <reference
- definitionId="org.franca.core.dsl.FrancaIDL.Editor.opened">
- </reference>
- <iterate>
- <adapt
- type="org.eclipse.core.resources.IResource">
- <test
- property="org.eclipse.core.resources.name"
- value="*.fidl">
- </test>
- </adapt>
- </iterate>
- </or>
- </definition>
- </extension>
-</plugin>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.genivi.commonapi.core.ui.CommandExecutableExtensionFactory:org.genivi.commonapi.core.ui.handler.GenerationCommand"
+ commandId="org.genivi.commonapi.core.ui.handler.GenerationCommand">
+ </handler>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ id="org.genivi.commonapi.core.ui.handler.GenerationCommand"
+ name="Generate C++ Code">
+ </command>
+ </extension>
+ <extension
+ point="org.eclipse.ui.menus">
+ <menuContribution
+ allPopups="false"
+ locationURI="popup:org.eclipse.ui.popup.any?after=additions">
+ <menu
+ id="org.genivi.commonapi.core.ui.popup.menu"
+ label="Common API">
+ </menu>
+ </menuContribution>
+ <menuContribution
+ allPopups="false"
+ locationURI="popup:org.genivi.commonapi.core.ui.popup.menu">
+ <command
+ commandId="org.genivi.commonapi.core.ui.handler.GenerationCommand"
+ label="Generate C++ Code"
+ style="push">
+ <visibleWhen
+ checkEnabled="false">
+ <reference
+ definitionId="org.genivi.commonapi.core.ui.FrancaIDL.Resources.selected">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension
+ point="org.eclipse.core.expressions.definitions">
+ <definition
+ id="org.genivi.commonapi.core.ui.FrancaIDL.Resources.selected">
+ <or>
+ <reference
+ definitionId="org.franca.core.dsl.FrancaIDL.Editor.opened">
+ </reference>
+ <iterate>
+ <adapt
+ type="org.eclipse.core.resources.IResource">
+ <test
+ property="org.eclipse.core.resources.name"
+ value="*.fidl">
+ </test>
+ </adapt>
+ </iterate>
+ </or>
+ </definition>
+ </extension>
+</plugin>
diff --git a/org.genivi.commonapi.core.ui/src/org/genivi/commonapi/core/ui/CommandExecutableExtensionFactory.java b/org.genivi.commonapi.core.ui/src/org/genivi/commonapi/core/ui/CommandExecutableExtensionFactory.java
index 2d34251..a33f72f 100644
--- a/org.genivi.commonapi.core.ui/src/org/genivi/commonapi/core/ui/CommandExecutableExtensionFactory.java
+++ b/org.genivi.commonapi.core.ui/src/org/genivi/commonapi/core/ui/CommandExecutableExtensionFactory.java
@@ -1,46 +1,46 @@
-/* Copyright (C) 2013 BMW Group
- * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
- * Author: Juergen Gehring (juergen.gehring@bmw.de)
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-package org.genivi.commonapi.core.ui;
-
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.xtext.generator.IGenerator;
-import org.eclipse.xtext.ui.ecore.ExecutableExtensionFactory;
-import org.genivi.commonapi.core.generator.FrancaGenerator;
-import org.osgi.framework.Bundle;
-
-import com.google.inject.Binder;
-import com.google.inject.Injector;
-import com.google.inject.Module;
-
-public class CommandExecutableExtensionFactory extends ExecutableExtensionFactory {
- private Injector injector;
-
- @Override
- protected Bundle getBundle() {
- return CommonApiUiPlugin.getInstance().getBundle();
- }
-
- @Override
- protected Injector getInjector() {
- if (injector == null)
- injector = super.getInjector().createChildInjector(
- new Module() {
- @Override
- public void configure(final Binder binder) {
- binder.bind(ResourceSet.class).to(ResourceSetImpl.class);
- bindGeneratorClass(binder);
- }
- });
-
- return injector;
- }
-
- protected void bindGeneratorClass(final Binder binder) {
- binder.bind(IGenerator.class).to(FrancaGenerator.class);
- }
-}
+/* Copyright (C) 2013 BMW Group
+ * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
+ * Author: Juergen Gehring (juergen.gehring@bmw.de)
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+package org.genivi.commonapi.core.ui;
+
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.xtext.generator.IGenerator;
+import org.eclipse.xtext.ui.ecore.ExecutableExtensionFactory;
+import org.genivi.commonapi.core.generator.FrancaGenerator;
+import org.osgi.framework.Bundle;
+
+import com.google.inject.Binder;
+import com.google.inject.Injector;
+import com.google.inject.Module;
+
+public class CommandExecutableExtensionFactory extends ExecutableExtensionFactory {
+ private Injector injector;
+
+ @Override
+ protected Bundle getBundle() {
+ return CommonApiUiPlugin.getInstance().getBundle();
+ }
+
+ @Override
+ protected Injector getInjector() {
+ if (injector == null)
+ injector = super.getInjector().createChildInjector(
+ new Module() {
+ @Override
+ public void configure(final Binder binder) {
+ binder.bind(ResourceSet.class).to(ResourceSetImpl.class);
+ bindGeneratorClass(binder);
+ }
+ });
+
+ return injector;
+ }
+
+ protected void bindGeneratorClass(final Binder binder) {
+ binder.bind(IGenerator.class).to(FrancaGenerator.class);
+ }
+}
diff --git a/org.genivi.commonapi.core.ui/src/org/genivi/commonapi/core/ui/CommonApiUiPlugin.java b/org.genivi.commonapi.core.ui/src/org/genivi/commonapi/core/ui/CommonApiUiPlugin.java
index ea6b506..13481b2 100644
--- a/org.genivi.commonapi.core.ui/src/org/genivi/commonapi/core/ui/CommonApiUiPlugin.java
+++ b/org.genivi.commonapi.core.ui/src/org/genivi/commonapi/core/ui/CommonApiUiPlugin.java
@@ -1,35 +1,35 @@
-/* Copyright (C) 2013 BMW Group
- * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
- * Author: Juergen Gehring (juergen.gehring@bmw.de)
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-package org.genivi.commonapi.core.ui;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-public class CommonApiUiPlugin extends AbstractUIPlugin {
- public static final String PLUGIN_ID = "org.genivi.commonapi.core.ui"; //$NON-NLS-1$
-
- private static CommonApiUiPlugin INSTANCE;
-
- public CommonApiUiPlugin() {
- }
-
- @Override
- public void start(final BundleContext context) throws Exception {
- super.start(context);
- INSTANCE = this;
- }
-
- @Override
- public void stop(final BundleContext context) throws Exception {
- INSTANCE = null;
- super.stop(context);
- }
-
- public static CommonApiUiPlugin getInstance() {
- return INSTANCE;
- }
-}
+/* Copyright (C) 2013 BMW Group
+ * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
+ * Author: Juergen Gehring (juergen.gehring@bmw.de)
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+package org.genivi.commonapi.core.ui;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+public class CommonApiUiPlugin extends AbstractUIPlugin {
+ public static final String PLUGIN_ID = "org.genivi.commonapi.core.ui"; //$NON-NLS-1$
+
+ private static CommonApiUiPlugin INSTANCE;
+
+ public CommonApiUiPlugin() {
+ }
+
+ @Override
+ public void start(final BundleContext context) throws Exception {
+ super.start(context);
+ INSTANCE = this;
+ }
+
+ @Override
+ public void stop(final BundleContext context) throws Exception {
+ INSTANCE = null;
+ super.stop(context);
+ }
+
+ public static CommonApiUiPlugin getInstance() {
+ return INSTANCE;
+ }
+}
diff --git a/org.genivi.commonapi.core.ui/src/org/genivi/commonapi/core/ui/handler/GenerationCommand.java b/org.genivi.commonapi.core.ui/src/org/genivi/commonapi/core/ui/handler/GenerationCommand.java
index e2a6d1a..d6cad91 100644
--- a/org.genivi.commonapi.core.ui/src/org/genivi/commonapi/core/ui/handler/GenerationCommand.java
+++ b/org.genivi.commonapi.core.ui/src/org/genivi/commonapi/core/ui/handler/GenerationCommand.java
@@ -1,105 +1,105 @@
-/* Copyright (C) 2013 BMW Group
- * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
- * Author: Juergen Gehring (juergen.gehring@bmw.de)
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-package org.genivi.commonapi.core.ui.handler;
-
-import java.util.Iterator;
-
-import javax.inject.Inject;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess2;
-import org.eclipse.xtext.generator.IFileSystemAccess;
-import org.eclipse.xtext.generator.IGenerator;
-import org.eclipse.xtext.resource.IResourceDescriptions;
-import org.eclipse.xtext.resource.XtextResource;
-import org.eclipse.xtext.ui.editor.XtextEditor;
-import org.eclipse.xtext.ui.resource.IResourceSetProvider;
-import org.eclipse.xtext.util.concurrent.IUnitOfWork;
-
-import com.google.inject.Provider;
-
-public class GenerationCommand extends AbstractHandler {
- public static final String OUTPUT_DIRECTORY = "src-gen";
-
- @Inject private Provider<EclipseResourceFileSystemAccess2> fileAccessProvider;
- @Inject private IResourceDescriptions resourceDescriptions;
- @Inject private IResourceSetProvider resourceSetProvider;
- @Inject private IGenerator francaGenerator;
-
- @Override
- public Object execute(final ExecutionEvent event) throws ExecutionException {
- final ISelection selection = HandlerUtil.getCurrentSelection(event);
- if (selection instanceof IStructuredSelection) {
- if (!selection.isEmpty())
- executeGeneratorForSelection((IStructuredSelection) selection);
- } else {
- final IEditorPart activeEditor = HandlerUtil.getActiveEditor(event);
- if (activeEditor instanceof XtextEditor)
- executeGeneratorForXtextEditor((XtextEditor) activeEditor);
- else
- throw new ExecutionException("Cannot handle ExecutionEvent: " + event);
- }
-
- return null;
- }
-
- private void executeGeneratorForSelection(final IStructuredSelection structuredSelection) {
- final EclipseResourceFileSystemAccess2 fileSystemAccess = createFileSystemAccess();
-
- for (Iterator<?> iterator = structuredSelection.iterator(); iterator.hasNext();) {
- final Object selectiobObject = iterator.next();
- if (selectiobObject instanceof IFile) {
- final IFile file = (IFile) selectiobObject;
- final URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
- final ResourceSet rs = resourceSetProvider.get(file.getProject());
- final Resource r = rs.getResource(uri, true);
-
- fileSystemAccess.setProject(file.getProject());
- francaGenerator.doGenerate(r, fileSystemAccess);
- }
- }
- }
-
- private void executeGeneratorForXtextEditor(final XtextEditor xtextEditor) {
- final Object fileObject = xtextEditor.getEditorInput().getAdapter(IFile.class);
- if (fileObject instanceof IFile) {
- final EclipseResourceFileSystemAccess2 fileSystemAccess = createFileSystemAccess();
- fileSystemAccess.setProject(((IResource) fileObject).getProject());
-
- xtextEditor.getDocument().readOnly(
- new IUnitOfWork<Boolean, XtextResource>() {
- @Override
- public Boolean exec(XtextResource xtextResource) throws Exception {
- francaGenerator.doGenerate(xtextResource, fileSystemAccess);
- return Boolean.TRUE;
- }
- });
- }
- }
-
- private EclipseResourceFileSystemAccess2 createFileSystemAccess() {
- final EclipseResourceFileSystemAccess2 fsa = fileAccessProvider.get();
-
- fsa.setOutputPath(OUTPUT_DIRECTORY);
- fsa.getOutputConfigurations().get(IFileSystemAccess.DEFAULT_OUTPUT).setCreateOutputDirectory(true);
- fsa.setMonitor(new NullProgressMonitor());
-
- return fsa;
- }
-}
+/* Copyright (C) 2013 BMW Group
+ * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
+ * Author: Juergen Gehring (juergen.gehring@bmw.de)
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+package org.genivi.commonapi.core.ui.handler;
+
+import java.util.Iterator;
+
+import javax.inject.Inject;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess2;
+import org.eclipse.xtext.generator.IFileSystemAccess;
+import org.eclipse.xtext.generator.IGenerator;
+import org.eclipse.xtext.resource.IResourceDescriptions;
+import org.eclipse.xtext.resource.XtextResource;
+import org.eclipse.xtext.ui.editor.XtextEditor;
+import org.eclipse.xtext.ui.resource.IResourceSetProvider;
+import org.eclipse.xtext.util.concurrent.IUnitOfWork;
+
+import com.google.inject.Provider;
+
+public class GenerationCommand extends AbstractHandler {
+ public static final String OUTPUT_DIRECTORY = "src-gen";
+
+ @Inject private Provider<EclipseResourceFileSystemAccess2> fileAccessProvider;
+ @Inject private IResourceDescriptions resourceDescriptions;
+ @Inject private IResourceSetProvider resourceSetProvider;
+ @Inject private IGenerator francaGenerator;
+
+ @Override
+ public Object execute(final ExecutionEvent event) throws ExecutionException {
+ final ISelection selection = HandlerUtil.getCurrentSelection(event);
+ if (selection instanceof IStructuredSelection) {
+ if (!selection.isEmpty())
+ executeGeneratorForSelection((IStructuredSelection) selection);
+ } else {
+ final IEditorPart activeEditor = HandlerUtil.getActiveEditor(event);
+ if (activeEditor instanceof XtextEditor)
+ executeGeneratorForXtextEditor((XtextEditor) activeEditor);
+ else
+ throw new ExecutionException("Cannot handle ExecutionEvent: " + event);
+ }
+
+ return null;
+ }
+
+ private void executeGeneratorForSelection(final IStructuredSelection structuredSelection) {
+ final EclipseResourceFileSystemAccess2 fileSystemAccess = createFileSystemAccess();
+
+ for (Iterator<?> iterator = structuredSelection.iterator(); iterator.hasNext();) {
+ final Object selectiobObject = iterator.next();
+ if (selectiobObject instanceof IFile) {
+ final IFile file = (IFile) selectiobObject;
+ final URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
+ final ResourceSet rs = resourceSetProvider.get(file.getProject());
+ final Resource r = rs.getResource(uri, true);
+
+ fileSystemAccess.setProject(file.getProject());
+ francaGenerator.doGenerate(r, fileSystemAccess);
+ }
+ }
+ }
+
+ private void executeGeneratorForXtextEditor(final XtextEditor xtextEditor) {
+ final Object fileObject = xtextEditor.getEditorInput().getAdapter(IFile.class);
+ if (fileObject instanceof IFile) {
+ final EclipseResourceFileSystemAccess2 fileSystemAccess = createFileSystemAccess();
+ fileSystemAccess.setProject(((IResource) fileObject).getProject());
+
+ xtextEditor.getDocument().readOnly(
+ new IUnitOfWork<Boolean, XtextResource>() {
+ @Override
+ public Boolean exec(XtextResource xtextResource) throws Exception {
+ francaGenerator.doGenerate(xtextResource, fileSystemAccess);
+ return Boolean.TRUE;
+ }
+ });
+ }
+ }
+
+ private EclipseResourceFileSystemAccess2 createFileSystemAccess() {
+ final EclipseResourceFileSystemAccess2 fsa = fileAccessProvider.get();
+
+ fsa.setOutputPath(OUTPUT_DIRECTORY);
+ fsa.getOutputConfigurations().get(IFileSystemAccess.DEFAULT_OUTPUT).setCreateOutputDirectory(true);
+ fsa.setMonitor(new NullProgressMonitor());
+
+ return fsa;
+ }
+}
diff --git a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceGenerator.xtend b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceGenerator.xtend
index 4c94b7a..a76015d 100644
--- a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceGenerator.xtend
+++ b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceGenerator.xtend
@@ -10,11 +10,11 @@ import javax.inject.Inject
import org.eclipse.xtext.generator.IFileSystemAccess
import org.franca.core.franca.FInterface
-class FInterfaceGenerator {
+class FInterfaceGenerator {
@Inject private extension FTypeGenerator
@Inject private extension FTypeCommonAreaGenerator
@Inject private extension FrancaGeneratorExtensions
-
+
def generate(FInterface fInterface, IFileSystemAccess fileSystemAccess) {
fileSystemAccess.generateFile(fInterface.headerPath, fInterface.generateHeader)
@@ -91,5 +91,5 @@ class FInterfaceGenerator {
def private hasSourceFile(FInterface fInterface) {
val hasTypeWithImplementation = fInterface.types.exists[hasImplementation]
return hasTypeWithImplementation
- }
+ }
} \ No newline at end of file
diff --git a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceProxyGenerator.xtend b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceProxyGenerator.xtend
index a506c0e..db9d293 100644
--- a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceProxyGenerator.xtend
+++ b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceProxyGenerator.xtend
@@ -16,10 +16,10 @@ import org.franca.core.franca.FMethod
import static com.google.common.base.Preconditions.*
-class FInterfaceProxyGenerator {
+class FInterfaceProxyGenerator {
@Inject private extension FTypeGenerator
@Inject private extension FrancaGeneratorExtensions
-
+
def generateProxy(FInterface fInterface, IFileSystemAccess fileSystemAccess) {
fileSystemAccess.generateFile(fInterface.proxyBaseHeaderPath, fInterface.generateProxyBaseHeader)
fileSystemAccess.generateFile(fInterface.proxyHeaderPath, fInterface.generateProxyHeader)
diff --git a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceStubGenerator.xtend b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceStubGenerator.xtend
index 9eaff51..778ee7d 100644
--- a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceStubGenerator.xtend
+++ b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceStubGenerator.xtend
@@ -11,10 +11,10 @@ import org.eclipse.xtext.generator.IFileSystemAccess
import org.franca.core.franca.FInterface
import org.franca.core.franca.FAttribute
-class FInterfaceStubGenerator {
+class FInterfaceStubGenerator {
@Inject private extension FTypeGenerator
@Inject private extension FrancaGeneratorExtensions
-
+
def generateStub(FInterface fInterface, IFileSystemAccess fileSystemAccess) {
fileSystemAccess.generateFile(fInterface.stubHeaderPath, fInterface.generateStubHeader)
fileSystemAccess.generateFile(fInterface.stubDefaultHeaderPath, fInterface.generateStubDefaultHeader)
diff --git a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FTypeCollectionGenerator.xtend b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FTypeCollectionGenerator.xtend
index 62813ae..41c881a 100644
--- a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FTypeCollectionGenerator.xtend
+++ b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FTypeCollectionGenerator.xtend
@@ -10,11 +10,11 @@ import javax.inject.Inject
import org.eclipse.xtext.generator.IFileSystemAccess
import org.franca.core.franca.FTypeCollection
-class FTypeCollectionGenerator {
+class FTypeCollectionGenerator {
@Inject private extension FTypeGenerator
@Inject private extension FTypeCommonAreaGenerator
@Inject private extension FrancaGeneratorExtensions
-
+
def generate(FTypeCollection fTypeCollection, IFileSystemAccess fileSystemAccess) {
fileSystemAccess.generateFile(fTypeCollection.headerPath, fTypeCollection.generateHeader)