//## begin module%1.4%.codegen_version preserve=yes

//   Read the documentation to learn more about C++ code generator

//   versioning.

//## end module%1.4%.codegen_version



//## begin module%3D86D4470262.cm preserve=no

//	  %X% %Q% %Z% %W%

//## end module%3D86D4470262.cm



//## begin module%3D86D4470262.cp preserve=no

//## end module%3D86D4470262.cp



//## Module: Keyboard%3D86D4470262; Pseudo Package specification

//## Source file: C:\Program Files\Rational\Rose\C++\source\Keyboard.h



#ifndef Keyboard_h

#define Keyboard_h 1



//## begin module%3D86D4470262.additionalIncludes preserve=no

//## end module%3D86D4470262.additionalIncludes



//## begin module%3D86D4470262.includes preserve=yes

//## end module%3D86D4470262.includes



//## begin module%3D86D4470262.additionalDeclarations preserve=yes

//## end module%3D86D4470262.additionalDeclarations





//## begin Keyboard%3D86D4470262.preface preserve=yes

//## end Keyboard%3D86D4470262.preface



//## Class: Keyboard%3D86D4470262

//	/**

//	This class provides methods to read from the robot

//	keyboard.

//	@author Jia L. Du

//	 */

//## Category: <Top Level>

//## Persistence: Transient

//## Cardinality/Multiplicity: n







class Keyboard 

{

  //## begin Keyboard%3D86D4470262.initialDeclarations preserve=yes

  //## end Keyboard%3D86D4470262.initialDeclarations



  public:

    //## Constructors (generated)

      Keyboard();





    //## Other Operations (specified)

      //## Operation: waitFor%3D92911B0294

      //	/**

      //	Waits for the given key

      //	@param key Keyboard.KEY1 or Keyboard.KEY2 or

      //	Keyboard.KEY3 or Keyboard.KEY4

      //	 */

      void waitFor (int key);



      //## Operation: getKey%3D9291270212

      //	/**

      //	Waits for a keypress and returns keycode

      //	@return Keyboard.KEY1 or Keyboard.KEY2 or Keyboard.KEY3

      //	or Keyboard.KEY4

      //	 */

      int getKey ();



      //## Operation: readKey%3D92913803DE

      //	/**

      //	Reads keycode and returns it. Does NOT wait

      //	@return Keyboard.KEY1 or Keyboard.KEY2 or Keyboard.KEY3

      //	or Keyboard.KEY4 or 0 if no key was pressed

      //	 */

      int readKey ();



    // Data Members for Class Attributes



      //## Attribute: KEY_1%3D9AA04C01FE

      //	/**

      //	Value to identify key 1 of the keyboard

      //	 */

      //## begin Keyboard::KEY_1%3D9AA04C01FE.attr preserve=no  public: static int {UC} KEY1

      static const int KEY_1;

      //## end Keyboard::KEY_1%3D9AA04C01FE.attr



      //## Attribute: KEY_2%3D9AA06F03AC

      //	/**

      //	Value to identify key 2 of the keyboard

      //	 */

      //## begin Keyboard::KEY_2%3D9AA06F03AC.attr preserve=no  public: static int {UC} KEY2

      static const int KEY_2;

      //## end Keyboard::KEY_2%3D9AA06F03AC.attr



      //## Attribute: KEY_3%3D9AA0700064

      //	/**

      //	Value to identify key 3 of the keyboard

      //	 */

      //## begin Keyboard::KEY_3%3D9AA0700064.attr preserve=no  public: static int {UC} KEY3

      static const int KEY_3;

      //## end Keyboard::KEY_3%3D9AA0700064.attr



      //## Attribute: KEY_4%3D9AA070010E

      //	/**

      //	Value to identify key 4 of the keyboard

      //	 */

      //## begin Keyboard::KEY_4%3D9AA070010E.attr preserve=no  public: static int {UC} KEY4

      static const int KEY_4;

      //## end Keyboard::KEY_4%3D9AA070010E.attr



    // Additional Public Declarations

      //## begin Keyboard%3D86D4470262.public preserve=yes

      //## end Keyboard%3D86D4470262.public



  protected:

    // Additional Protected Declarations

      //## begin Keyboard%3D86D4470262.protected preserve=yes

      //## end Keyboard%3D86D4470262.protected



  private:

    // Additional Private Declarations

      //## begin Keyboard%3D86D4470262.private preserve=yes

      //## end Keyboard%3D86D4470262.private



  private: //## implementation

    // Additional Implementation Declarations

      //## begin Keyboard%3D86D4470262.implementation preserve=yes

      //## end Keyboard%3D86D4470262.implementation



};



//## begin Keyboard%3D86D4470262.postscript preserve=yes

//## end Keyboard%3D86D4470262.postscript



// Class Keyboard 



//## begin module%3D86D4470262.epilog preserve=yes

//## end module%3D86D4470262.epilog





#endif

