Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

# Modules/LEDControl/LEDControl.h

Go to the documentation of this file.

    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_