Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2014-04-30 22:38:30 +0000
committerslewis2014-04-30 22:38:30 +0000
commit74fde0db9fbfedc833bbd0f37fb62464828e5088 (patch)
treeebca67e4a2aefcde269285c965779a215f0d2556 /examples
parentd62a2788205625e63c4816323f71edbb2232fe07 (diff)
parenta0a0ad4c42bcb6cedfa5d990666b24893f475845 (diff)
downloadorg.eclipse.ecf-74fde0db9fbfedc833bbd0f37fb62464828e5088.tar.gz
org.eclipse.ecf-74fde0db9fbfedc833bbd0f37fb62464828e5088.tar.xz
org.eclipse.ecf-74fde0db9fbfedc833bbd0f37fb62464828e5088.zip
Merge remote-tracking branch 'origin/master' into rfc1.1
Conflicts: osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/EndpointDescription$1.class osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/EndpointDescription$UnmodifiableDictionary.class osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/EndpointDescription.class osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/EndpointListener.class osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/EndpointPermission.class osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/EndpointPermissionCollection.class osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/ExportReference.class osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/ExportRegistration.class osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/ImportReference.class osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/ImportRegistration.class osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/RemoteServiceAdmin.class osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/RemoteServiceAdminEvent.class osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/RemoteServiceAdminListener.class Change-Id: Id7826f6ef093506da29859dd61138637d5efdf9e
Diffstat (limited to 'examples')
-rw-r--r--examples/bundles/com.mycorp.examples.timeservice.host/launch/TimeServiceHost.generic.noreg.java8.product2
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.classpath7
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.gitignore1
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.project33
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/META-INF/MANIFEST.MF10
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/OSGI-INF/raspberrypicomponent.xml5
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/build.properties6
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/src/org/eclipse/ecf/internal/examples/raspberrypi/management/consumer/RaspberryPiComponent.java18
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/.project17
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/build.properties2
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/feature.xml208
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/products/RaspberryPiManagmentHost.product106
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/rootfiles/rpimgmthost.bat19
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/rootfiles/rpimgmthost.sh21
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.classpath7
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.gitignore1
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.project28
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.settings/org.eclipse.pde.core.prefs3
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/META-INF/MANIFEST.MF10
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/build.properties4
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/src/org/eclipse/ecf/internal/examples/raspberrypi/management/host/Activator.java52
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/src/org/eclipse/ecf/internal/examples/raspberrypi/management/host/RaspberryPi.java34
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.classpath7
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.gitignore1
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.project28
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.settings/org.eclipse.pde.core.prefs3
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/META-INF/MANIFEST.MF8
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/build.properties4
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/src/org/eclipse/ecf/examples/raspberrypi/management/IRaspberryPi.java21
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/src/org/eclipse/ecf/examples/raspberrypi/management/IRaspberryPiAsync.java24
33 files changed, 710 insertions, 1 deletions
diff --git a/examples/bundles/com.mycorp.examples.timeservice.host/launch/TimeServiceHost.generic.noreg.java8.product b/examples/bundles/com.mycorp.examples.timeservice.host/launch/TimeServiceHost.generic.noreg.java8.product
index d38931723..8408c9ac2 100644
--- a/examples/bundles/com.mycorp.examples.timeservice.host/launch/TimeServiceHost.generic.noreg.java8.product
+++ b/examples/bundles/com.mycorp.examples.timeservice.host/launch/TimeServiceHost.generic.noreg.java8.product
@@ -52,7 +52,7 @@
<plugin id="org.eclipse.ecf.provider.jmdns"/>
<plugin id="org.eclipse.ecf.provider.remoteservice"/>
<plugin id="org.eclipse.ecf.remoteservice"/>
- <plugin id="org.eclipse.ecf.remoteservice.asyncproxy" version="2.0.0"/>
+ <plugin id="org.eclipse.ecf.remoteservice.asyncproxy" version="2.0.0.v20140410-1838"/>
<plugin id="org.eclipse.ecf.sharedobject"/>
<plugin id="org.eclipse.equinox.common"/>
<plugin id="org.eclipse.equinox.concurrent"/>
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.classpath b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.classpath
new file mode 100644
index 000000000..eca7bdba8
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.classpath
@@ -0,0 +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.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.gitignore b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.gitignore
new file mode 100644
index 000000000..5e56e040e
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.gitignore
@@ -0,0 +1 @@
+/bin
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.project b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.project
new file mode 100644
index 000000000..5f4a6c571
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.ecf.examples.raspberrypi.management.consumer</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.settings/org.eclipse.jdt.core.prefs b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..0c68a61dc
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/META-INF/MANIFEST.MF b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..6983f4e92
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Raspberry Pi Management Consumer
+Bundle-SymbolicName: org.eclipse.ecf.examples.raspberrypi.management.consumer
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: Eclipse.org - ECF
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Import-Package: org.eclipse.ecf.examples.raspberrypi.management;version="1.0.0"
+Service-Component: OSGI-INF/raspberrypicomponent.xml
+Bundle-ActivationPolicy: lazy
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/OSGI-INF/raspberrypicomponent.xml b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/OSGI-INF/raspberrypicomponent.xml
new file mode 100644
index 000000000..ab85d90ae
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/OSGI-INF/raspberrypicomponent.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" enabled="true" name="org.eclipse.ecf.examples.raspberrypi.management.consumer">
+ <implementation class="org.eclipse.ecf.internal.examples.raspberrypi.management.consumer.RaspberryPiComponent"/>
+ <reference bind="bindRaspberryPi" cardinality="0..n" interface="org.eclipse.ecf.examples.raspberrypi.management.IRaspberryPiAsync" name="IRaspberryPiAsync" policy="dynamic"/>
+</scr:component>
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/build.properties b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/build.properties
new file mode 100644
index 000000000..9d72e6625
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/build.properties
@@ -0,0 +1,6 @@
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ OSGI-INF/raspberrypicomponent.xml,\
+ OSGI-INF/
+source.. = src/
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/src/org/eclipse/ecf/internal/examples/raspberrypi/management/consumer/RaspberryPiComponent.java b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/src/org/eclipse/ecf/internal/examples/raspberrypi/management/consumer/RaspberryPiComponent.java
new file mode 100644
index 000000000..a9c081020
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer/src/org/eclipse/ecf/internal/examples/raspberrypi/management/consumer/RaspberryPiComponent.java
@@ -0,0 +1,18 @@
+package org.eclipse.ecf.internal.examples.raspberrypi.management.consumer;
+
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+
+import org.eclipse.ecf.examples.raspberrypi.management.IRaspberryPiAsync;
+
+public class RaspberryPiComponent {
+
+ void bindRaspberryPi(IRaspberryPiAsync rpi) {
+ CompletableFuture<Map<String,String>> future = rpi.getSystemPropertiesAsync();
+ future.thenAccept((map) -> {
+ System.out.println("Found RaspberryPi");
+ for(String key: map.keySet())
+ System.out.println(" "+key+"="+map.get(key));
+ });
+ }
+}
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/.project b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/.project
new file mode 100644
index 000000000..33105235f
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.ecf.examples.raspberrypi.management.host.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/build.properties b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/build.properties
new file mode 100644
index 000000000..db8f76477
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/build.properties
@@ -0,0 +1,2 @@
+bin.includes = feature.xml
+root=rootfiles
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/feature.xml b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/feature.xml
new file mode 100644
index 000000000..c751ecf7f
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/feature.xml
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.ecf.examples.raspberrypi.management.host.feature"
+ label="Raspberry Pi Host Feature"
+ version="1.0.0.qualifier">
+
+ <description url="http://www.example.com/description">
+ [Enter Feature Description here.]
+ </description>
+
+ <copyright url="http://www.example.com/copyright">
+ [Enter Copyright Description here.]
+ </copyright>
+
+ <license url="http://www.example.com/license">
+ [Enter License Description here.]
+ </license>
+
+ <plugin
+ id="org.eclipse.ecf.examples.raspberrypi.management"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ecf.examples.raspberrypi.management.host"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.apache.felix.gogo.command"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.apache.felix.gogo.runtime"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.apache.felix.gogo.shell"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ecf"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ecf.console"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ecf.discovery"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ecf.identity"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ecf.osgi.services.distribution"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ecf.osgi.services.remoteserviceadmin"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ecf.provider"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ecf.remoteservice"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ecf.remoteservice.asyncproxy"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ecf.sharedobject"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.common"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.concurrent"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.console"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.equinox.event"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.core.jobs"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.osgi"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.osgi.services"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.osgi.services.remoteserviceadmin"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ecf.provider.remoteservice"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="ch.ethz.iks.slp"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.ecf.provider.jslp"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/products/RaspberryPiManagmentHost.product b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/products/RaspberryPiManagmentHost.product
new file mode 100644
index 000000000..c9f2e5e23
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/products/RaspberryPiManagmentHost.product
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product name="ECF RaspberryPi Remote Service Example" uid="org.eclipse.ecf.examples.raspberrypi.management.host.feature" version="1.0.0.qualifier" useFeatures="true" includeLaunchers="false">
+
+ <configIni use="default">
+ </configIni>
+
+ <launcherArgs>
+ <programArgs>-console
+-consoleLog
+-debug
+ </programArgs>
+ <programArgsLin>-os linux
+-ws gtk
+-arch arm
+ </programArgsLin>
+ <vmArgs>-Declipse.ignoreApp=true
+-Dosgi.noShutdown=true
+-DverboseRemoteServiceAdmin=true
+-Dservice.exported.configs=ecf.generic.server
+-Decf.generic.server.port=3288
+-Decf.generic.server.hostname=localhost
+-Decf.exported.async.interfaces=*
+ </vmArgs>
+ <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
+ </vmArgsMac>
+ </launcherArgs>
+
+ <launcher>
+ <solaris/>
+ <win useIco="false">
+ <bmp/>
+ </win>
+ </launcher>
+
+ <vm>
+ <linux include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</linux>
+ <windows include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</windows>
+ </vm>
+
+ <plugins>
+ <plugin id="org.apache.felix.gogo.command"/>
+ <plugin id="org.apache.felix.gogo.runtime"/>
+ <plugin id="org.apache.felix.gogo.shell"/>
+ <plugin id="org.eclipse.core.jobs"/>
+ <plugin id="org.eclipse.ecf"/>
+ <plugin id="org.eclipse.ecf.console"/>
+ <plugin id="org.eclipse.ecf.discovery"/>
+ <plugin id="org.eclipse.ecf.examples.raspberrypi.management"/>
+ <plugin id="org.eclipse.ecf.examples.raspberrypi.management.host"/>
+ <plugin id="org.eclipse.ecf.identity"/>
+ <plugin id="org.eclipse.ecf.osgi.services.distribution"/>
+ <plugin id="org.eclipse.ecf.osgi.services.remoteserviceadmin"/>
+ <plugin id="org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy"/>
+ <plugin id="org.eclipse.ecf.provider"/>
+ <plugin id="org.eclipse.ecf.provider.jmdns"/>
+ <plugin id="org.eclipse.ecf.provider.remoteservice"/>
+ <plugin id="org.eclipse.ecf.remoteservice"/>
+ <plugin id="org.eclipse.ecf.remoteservice.asyncproxy" version="2.0.0.v20140410-1838"/>
+ <plugin id="org.eclipse.ecf.sharedobject"/>
+ <plugin id="org.eclipse.equinox.common"/>
+ <plugin id="org.eclipse.equinox.concurrent"/>
+ <plugin id="org.eclipse.equinox.console"/>
+ <plugin id="org.eclipse.equinox.event"/>
+ <plugin id="org.eclipse.osgi"/>
+ <plugin id="org.eclipse.osgi.services"/>
+ <plugin id="org.eclipse.osgi.services.remoteserviceadmin"/>
+ </plugins>
+
+ <features>
+ <feature id="org.eclipse.ecf.examples.raspberrypi.management.host.feature" version="1.0.0.qualifier"/>
+ </features>
+
+ <configurations>
+ <plugin id="ch.ethz.iks.slp" autoStart="true" startLevel="0" />
+ <plugin id="org.apache.felix.gogo.command" autoStart="true" startLevel="0" />
+ <plugin id="org.apache.felix.gogo.runtime" autoStart="true" startLevel="0" />
+ <plugin id="org.apache.felix.gogo.shell" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.core.jobs" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.ecf" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.ecf.console" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.ecf.discovery" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.ecf.examples.raspberrypi.management" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.ecf.examples.raspberrypi.management.host" autoStart="true" startLevel="6" />
+ <plugin id="org.eclipse.ecf.identity" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.ecf.osgi.services.distribution" autoStart="true" startLevel="5" />
+ <plugin id="org.eclipse.ecf.osgi.services.remoteserviceadmin" autoStart="true" startLevel="5" />
+ <plugin id="org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy" autoStart="true" startLevel="5" />
+ <plugin id="org.eclipse.ecf.provider" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.ecf.provider.jmdns" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.ecf.provider.jslp" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.ecf.provider.remoteservice" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.ecf.remoteservice" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.ecf.remoteservice.asyncproxy" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.ecf.sharedobject" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.equinox.concurrent" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.equinox.console" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.osgi" autoStart="true" startLevel="-1" />
+ <plugin id="org.eclipse.osgi.services" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.osgi.services.remoteserviceadmin" autoStart="true" startLevel="0" />
+ </configurations>
+
+</product>
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/rootfiles/rpimgmthost.bat b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/rootfiles/rpimgmthost.bat
new file mode 100644
index 000000000..050723918
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/rootfiles/rpimgmthost.bat
@@ -0,0 +1,19 @@
+@echo off
+set JAVAPROG=java
+set GENERICHOSTNAME=localhost
+set GENERICPORT=3288
+if "%1"=="" goto usage
+set GENERICHOSTNAME=%1
+:runjava
+set JAVAPROPS=-Decf.generic.server.hostname=%GENERICHOSTNAME% -Decf.generic.server.port=%GENERICPORT% -Declipse.ignoreApp=true -Dosgi.noShutdown=true
+echo javaprops=%JAVAPROPS%
+set EQUINOXJAR=plugins/org.eclipse.osgi_3.10.0.v20140407-2102.jar
+echo equinoxjar=%EQUINOXJAR%
+set ARGS=-configuration file:configuration -os linux -ws gtk -arch arm -console -consoleLog -debug
+echo program args=%ARGS%
+%JAVAPROG% %JAVAPROPS% -jar %EQUINOXJAR% %ARGS%
+goto end
+:usage
+ECHO No arguments supplied. Usage: %0 hostname [port]
+:end
+@echo on
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/rootfiles/rpimgmthost.sh b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/rootfiles/rpimgmthost.sh
new file mode 100644
index 000000000..fdfe0f727
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host.feature/rootfiles/rpimgmthost.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+JAVAPROG=java
+if [ "$#" -eq "0" ];then
+ echo "No arguments supplied. Usage: rpimgmthost.sh hostname port"
+ exit 1
+fi
+GENERICHOSTNAME="${1}"
+if [ "${2}" != "" ];then
+ GENERICPORT="${2}"
+else
+ GENERICPORT=3288
+fi
+echo "Hostname: ${GENERICHOSTNAME}"
+echo "Port: ${GENERICPORT}"
+JAVAPROPS="-Decf.generic.server.hostname=${GENERICHOSTNAME} -Decf.generic.server.port=${GENERICPORT} -Declipse.ignoreApp=true -Dosgi.noShutdown=true"
+echo "javaprops=${JAVAPROPS}"
+EQUINOXJAR=plugins/org.eclipse.osgi_3.10.0.v20140407-2102.jar
+echo "equinox=${EQUINOXJAR}"
+PROGARGS="-configuration file:configuration -os linux -ws gtk -arch arm -console -consoleLog -debug"
+${JAVAPROG} ${JAVAPROPS} -jar ${EQUINOXJAR} ${PROGARGS}
+
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.classpath b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.classpath
new file mode 100644
index 000000000..eca7bdba8
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.classpath
@@ -0,0 +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.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.gitignore b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.gitignore
new file mode 100644
index 000000000..5e56e040e
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.gitignore
@@ -0,0 +1 @@
+/bin
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.project b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.project
new file mode 100644
index 000000000..5c180fa26
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.ecf.examples.raspberrypi.management.host</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.settings/org.eclipse.jdt.core.prefs b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..0c68a61dc
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.settings/org.eclipse.pde.core.prefs b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 000000000..f29e940a0
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+pluginProject.extensions=false
+resolve.requirebundle=false
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/META-INF/MANIFEST.MF b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..617e228c5
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Raspberry Pi Management Remote Service Host
+Bundle-SymbolicName: org.eclipse.ecf.examples.raspberrypi.management.host
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: Eclipse.org - ECF
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Activator: org.eclipse.ecf.internal.examples.raspberrypi.management.host.Activator
+Import-Package: org.eclipse.ecf.examples.raspberrypi.management,
+ org.osgi.framework;version="1.8.0"
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/build.properties b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/build.properties
new file mode 100644
index 000000000..34d2e4d2d
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/src/org/eclipse/ecf/internal/examples/raspberrypi/management/host/Activator.java b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/src/org/eclipse/ecf/internal/examples/raspberrypi/management/host/Activator.java
new file mode 100644
index 000000000..357d4ec07
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/src/org/eclipse/ecf/internal/examples/raspberrypi/management/host/Activator.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Composent, Inc. 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: Scott Lewis (slewis@composent.com) - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.ecf.internal.examples.raspberrypi.management.host;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import org.eclipse.ecf.examples.raspberrypi.management.IRaspberryPi;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
+
+public class Activator implements BundleActivator {
+
+ private static final String OSGI_SERVICE_EXPORTED_INTERFACES = "service.exported.interfaces";
+
+ private ServiceRegistration<IRaspberryPi> registration;
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ Dictionary<String,Object> props = new Hashtable<String,Object>();
+ // Add OSGi required remote service properties
+ props.put(OSGI_SERVICE_EXPORTED_INTERFACES, System.getProperty(OSGI_SERVICE_EXPORTED_INTERFACES,"*"));
+ // Use ECF generic server config.
+ props.put("service.exported.configs", "ecf.generic.server");
+ // Setup hostname config (default:localhost)
+ String hostname = System.getProperty("ecf.generic.server.hostname");
+ if (hostname != null)
+ props.put("ecf.generic.server.hostname",hostname);
+ // Setup port config (default:-1)
+ props.put("ecf.generic.server.port",new Integer(System.getProperty("ecf.generic.server.port","-1")));
+ // Setup IRaspberryPiAsync as async remote service
+ props.put("ecf.exported.async.interfaces", "*");
+ // This remote service registration will trigger export, and publishing via zeroconf
+ registration = context.registerService(IRaspberryPi.class, new RaspberryPi(), props);
+
+ System.out.println("IRaspberryPi remote service registered="+registration);
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ registration.unregister();
+ System.out.println("IRaspberryPi remote service unregistered");
+ }
+
+}
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/src/org/eclipse/ecf/internal/examples/raspberrypi/management/host/RaspberryPi.java b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/src/org/eclipse/ecf/internal/examples/raspberrypi/management/host/RaspberryPi.java
new file mode 100644
index 000000000..2c011eca0
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host/src/org/eclipse/ecf/internal/examples/raspberrypi/management/host/RaspberryPi.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Composent, Inc. 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: Scott Lewis (slewis@composent.com) - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.ecf.internal.examples.raspberrypi.management.host;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import org.eclipse.ecf.examples.raspberrypi.management.IRaspberryPi;
+
+/**
+ * Implementation of IRaspberryPi service interface.
+ */
+public class RaspberryPi implements IRaspberryPi {
+
+ @Override
+ public Map<String, String> getSystemProperties() {
+ Properties props = System.getProperties();
+
+ Map<String, String> result = new HashMap<String,String>();
+ for (final String name: props.stringPropertyNames())
+ result.put(name, props.getProperty(name));
+
+ System.out.println("REMOTE CALL: getSystemProperties()");
+ return result;
+ }
+
+}
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.classpath b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.classpath
new file mode 100644
index 000000000..eca7bdba8
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.classpath
@@ -0,0 +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.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.gitignore b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.gitignore
new file mode 100644
index 000000000..5e56e040e
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.gitignore
@@ -0,0 +1 @@
+/bin
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.project b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.project
new file mode 100644
index 000000000..d0e47d39e
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.ecf.examples.raspberrypi.management</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.settings/org.eclipse.jdt.core.prefs b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..0c68a61dc
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.settings/org.eclipse.pde.core.prefs b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 000000000..f29e940a0
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+pluginProject.extensions=false
+resolve.requirebundle=false
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/META-INF/MANIFEST.MF b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..c2372a28b
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/META-INF/MANIFEST.MF
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Raspberry Pi Management API
+Bundle-SymbolicName: org.eclipse.ecf.examples.raspberrypi.management
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: Eclipse.org - ECF
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.ecf.examples.raspberrypi.management;version="1.0.0"
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/build.properties b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/build.properties
new file mode 100644
index 000000000..34d2e4d2d
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/src/org/eclipse/ecf/examples/raspberrypi/management/IRaspberryPi.java b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/src/org/eclipse/ecf/examples/raspberrypi/management/IRaspberryPi.java
new file mode 100644
index 000000000..a3b07aee7
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/src/org/eclipse/ecf/examples/raspberrypi/management/IRaspberryPi.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Composent, Inc. 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: Scott Lewis (slewis@composent.com) - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.ecf.examples.raspberrypi.management;
+
+import java.util.Map;
+
+public interface IRaspberryPi {
+
+ /**
+ * Get system properties for the Raspberry Pi remote service host.
+ * @return Map<String,String> the system properties for the remote RP
+ */
+ public Map<String,String> getSystemProperties();
+
+}
diff --git a/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/src/org/eclipse/ecf/examples/raspberrypi/management/IRaspberryPiAsync.java b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/src/org/eclipse/ecf/examples/raspberrypi/management/IRaspberryPiAsync.java
new file mode 100644
index 000000000..da7016cac
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.examples.raspberrypi.management/src/org/eclipse/ecf/examples/raspberrypi/management/IRaspberryPiAsync.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Composent, Inc. 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: Scott Lewis (slewis@composent.com) - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.ecf.examples.raspberrypi.management;
+
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+
+public interface IRaspberryPiAsync {
+
+ /**
+ * Get remote system properties via CompletableFuture for non-blocking.
+ * Note: signature of this method is connected to {@link IRaspberryPi#getSystemProperties()}.
+ *
+ * @return CompletableFuture
+ */
+ public CompletableFuture<Map<String,String>> getSystemPropertiesAsync();
+
+}

Back to the top