This section will lead you into Infairy Cocina Bundle develop world. the Infairy is a OSGi based platform which integrate many object to build a whole IoT platform, so, let getting start from bundle.
Infairy Bundle is a base object for everything, it's simple and easy to write...
Fig-1-1-1:What is bunlde?
package com.mycompany.App.myBundle;
import java.util.Dictionary;
import java.util.Hashtable;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import com.infairy.cocina.SDK.device.DevicePool;
import com.infairy.cocina.SDK.gene.InfairyInterface;
import com.infairy.cocina.SDK.property.Property;
import com.infairy.smarthome.tools.Tools;
public class myFirstBundle implements BundleActivator{
/*
* declare bundle context
*/
BundleContext context;
/*
* declare device sdk
*/
DevicePool device;
/*
* declare property sdk
*/
Property property;
/*
* entry point
*/
public void start(BundleContext context) throws Exception {
this.context=context;
/*
* get property service
*/
property=(Property)Tools.getService(context, Property.class.getName(), "(Property=Setting)");
/*
* get device service
*/
device=(DevicePool)Tools.getService(context, DevicePool.class.getName(), property.getDeviceService());
/**
* Register bundle
*/
Dictionary props = new Hashtable();
props.put(InfairyInterface.BundleAlias, "MyInfairyBundle");
boolean TF=device.registerBundle(context, this, props);
}
/*
* exit bundle
*/
public void stop(BundleContext context) throws Exception {
device.stopInfairyBundle(context, this, "", "");
}
}
function start() is entry point of Infairy bundle, function stop() is exit point.