package com.francetelecom.m2m.gateway.bundle.application; import org.osgi.x3d.IX3DDevice; import org.osgi.x3d.X3DHandler; /** * This class defines is a refined proxy used for control X3D light dimmer * @author mpcy8647 * */ public class X3DLightDimmer implements X3DHandler { private static final String SET_BRIGHTNESS_CMD = "set brightness"; /** * X3D device proxy */ private final IX3DDevice device; /** * Create a new X3DLight * @param pDevice x3D device proxy */ public X3DLightDimmer(IX3DDevice pDevice) { device = pDevice; } public IX3DDevice getX3DDevice() { return device; } /** * */ public synchronized void switchOn() { device.executeCommand(SET_BRIGHTNESS_CMD, new String[] {"100"}, this); } public synchronized void switchOff() { System.out.println("switch off"); device.executeCommand(SET_BRIGHTNESS_CMD, new String[] {"0"}, this); } public void onCommandFailure(String arg0, String arg1) { System.out.println("onCommandFailure (arg0=" + arg0 + ", arg1=" + arg1 + ")"); } public void onCommandSuccess(String arg0, String arg1) { System.out.println("onCommandSuccess (arg0=" + arg0 + ", arg1=" + arg1 + ")"); } }