// Path: osgi.enroute.trains.api/src/osgi/enroute/trains/cloud/api/Color.java
// public enum Color {
// 	GREEN, YELLOW, RED
// };
// 
// Path: osgi.enroute.trains.api/src/osgi/enroute/trains/controller/api/SignalSegmentController.java
// public interface SignalSegmentController extends SegmentController {
// 
// 	/**
// 	 * Set the signal to the given color
// 	 * @param color
// 	 */
// 	void signal(Color color);
// 
// 	Color getSignal();
// }


import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.ConfigurationPolicy;
import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.metatype.annotations.Designate;
import org.osgi.service.metatype.annotations.ObjectClassDefinition;
import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioPin;
import com.pi4j.io.gpio.GpioPinDigitalOutput;
import com.pi4j.io.gpio.Pin;
import com.pi4j.io.gpio.RaspiPin;
import osgi.enroute.trains.cloud.api.Color;
import osgi.enroute.trains.controller.api.SignalSegmentController;
package osgi.enroute.trains.hw.provider;




@Designate(ocd = SignalSegmentImpl.Config.class, factory = true)
@Component(name = "osgi.enroute.trains.hw.signal", property = "service.exported.interfaces=*",
        configurationPolicy = ConfigurationPolicy.REQUIRE)
public class SignalSegmentImpl implements SignalSegmentController {
    private GpioPinDigitalOutput green;
    private GpioPinDigitalOutput red;
// Path: osgi.enroute.trains.api/src/osgi/enroute/trains/cloud/api/Color.java
// public enum Color {
// 	GREEN, YELLOW, RED
// };
// 
// Path: osgi.enroute.trains.api/src/osgi/enroute/trains/controller/api/SignalSegmentController.java
// public interface SignalSegmentController extends SegmentController {
// 
// 	/**
// 	 * Set the signal to the given color
// 	 * @param color
// 	 */
// 	void signal(Color color);
// 
// 	Color getSignal();
// }


// Path: osgi.enroute.trains.hw.provider/src/osgi/enroute/trains/hw/provider/SignalSegmentImpl.java
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.ConfigurationPolicy;
import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.metatype.annotations.Designate;
import org.osgi.service.metatype.annotations.ObjectClassDefinition;
import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioPin;
import com.pi4j.io.gpio.GpioPinDigitalOutput;
import com.pi4j.io.gpio.Pin;
import com.pi4j.io.gpio.RaspiPin;
import osgi.enroute.trains.cloud.api.Color;
import osgi.enroute.trains.controller.api.SignalSegmentController;

package osgi.enroute.trains.hw.provider;




@Designate(ocd = SignalSegmentImpl.Config.class, factory = true)
@Component(name = "osgi.enroute.trains.hw.signal", property = "service.exported.interfaces=*",
        configurationPolicy = ConfigurationPolicy.REQUIRE)
public class SignalSegmentImpl implements SignalSegmentController {
    private GpioPinDigitalOutput green;
    private GpioPinDigitalOutput red;
    private Color color;