/* * Created on Wed Jun 27 12:52:31 EEST 2007 */ package r_osgi.demo.service.impl; import java.util.Hashtable; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; import org.osgi.framework.Constants; import r_osgi.demo.service.api.Foo; import ch.ethz.iks.r_osgi.RemoteOSGiService; public class Activator implements BundleActivator { public static BundleContext bc = null; /* (non-Javadoc) * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext) */ public void start(BundleContext context) throws Exception { Activator.bc = context; Hashtable properties = new Hashtable(); // this is the hint for R-OSGi that the service // is made available for remote access properties.put(RemoteOSGiService.R_OSGi_REGISTRATION, RemoteOSGiService.SERVICE_PROXY_POLICY); FooImpl test = new FooImpl(); System.out.println("Test : " + test.toString()); bc.registerService(Foo.class.getName(), test, properties); } /* (non-Javadoc) * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext) */ public void stop(BundleContext context) throws Exception { System.out.println(Activator.bc.getBundle().getHeaders(). get(Constants.BUNDLE_NAME) + " stopped !"); Activator.bc = null; } }