00001 /** 00002 * @file LEDControl.h 00003 * 00004 * Definition of class LEDControlInterfaces 00005 */ 00006 00007 #ifndef __LEDControl_h_ 00008 #define __LEDControl_h_ 00009 00010 #include "Tools/Module/Module.h" 00011 00012 #include "Representations/Motion/LEDRequest.h" 00013 #include "Representations/Motion/LEDValue.h" 00014 00015 /** 00016 * @class LEDControlInterfaces 00017 * 00018 * Interfaces of the LEDControl Module. 00019 */ 00020 class LEDControlInterfaces 00021 { 00022 public: 00023 /** Constructor 00024 * @param frameNumber The number of the frame 00025 * @param ledRequest A request how to set the leds from the behavior 00026 * @param wLanStatus The status of the WLan connection 1 to be displayed with the green leds 00027 * @param ledValue The value of the led to be filled 00028 */ 00029 LEDControlInterfaces( 00030 const unsigned long& frameNumber, 00031 const LEDRequest& ledRequest, 00032 const int& wLanStatus, 00033 LEDValue& ledValue) 00034 : 00035 frameNumber(frameNumber), 00036 ledRequest(ledRequest), 00037 wLanStatus(wLanStatus), 00038 ledValue(ledValue) 00039 {} 00040 protected: 00041 /** A reference to the frame number */ 00042 const unsigned long& frameNumber; 00043 00044 /** A request how to set the leds from the behavior */ 00045 const LEDRequest& ledRequest; 00046 00047 /** The status of the WLan connection to be displayed with the green leds */ 00048 const int& wLanStatus; 00049 00050 /** The value of the led to be filled */ 00051 LEDValue& ledValue; 00052 }; 00053 00054 /** 00055 * @class LEDControl 00056 * 00057 * A generic class for LED control modules 00058 */ 00059 class LEDControl : public Module, public LEDControlInterfaces 00060 { 00061 public: 00062 /* 00063 * Constructor. 00064 * @param interfaces The paramters of the LEDControl module. 00065 */ 00066 LEDControl(const LEDControlInterfaces& interfaces) 00067 : LEDControlInterfaces(interfaces) 00068 {} 00069 00070 /** Destructor */ 00071 virtual ~LEDControl() {} 00072 }; 00073 00074 #endif //__LEDControl_h_
1.3.6