Radio example implementation

This commit is contained in:
2021-09-28 15:35:56 +02:00
parent 9cdbb84076
commit 2ad5deac3e
26 changed files with 318 additions and 0 deletions

7
Radio538/bnd.bnd Normal file
View File

@@ -0,0 +1,7 @@
Bundle-Version: 1.0.0
Private-Package: Radio538
Bundle-Activator: Radio538.Radio538
-buildfeatures:
-buildpath: \
channelapi;version=latest

View File

@@ -0,0 +1,26 @@
package Radio538;
import channelapi.Channel;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceRegistration;
import java.util.Dictionary;
import java.util.Hashtable;
public class Radio538 implements BundleActivator {
private ServiceRegistration registration;
@Override
public void start(BundleContext context) throws Exception {
Dictionary<String, Object> props = new Hashtable<>();
props.put("name", "Radio 538");
registration = context.registerService( Channel.class, new Radio538Channel(), props);
}
@Override
public void stop(BundleContext context) throws Exception {
registration.unregister();
}
}

View File

@@ -0,0 +1,12 @@
package Radio538;
import channelapi.Channel;
import channelapi.Stream;
public class Radio538Channel implements Channel {
private Stream stream = new Radio538Stream();
@Override
public Stream getStream() {
return stream;
}
}

View File

@@ -0,0 +1,10 @@
package Radio538;
import channelapi.Stream;
public class Radio538Stream implements Stream {
@Override
public String read() {
return "Radio 538";
}
}