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_

Generated on Mon Mar 20 21:59:54 2006 for GT2005 by doxygen 1.3.6