DescriptorLab.h
上传用户:laixiong
上传日期:2007-03-11
资源大小:2994k
文件大小:2k
源码类别:

Symbian

开发平台:

C/C++

  1. // Copyright: (c) 2006 Nokia Ltd.  All rights reserved.
  2. #ifndef _DESCRIPTOR_LAB_
  3. #define _DESCRIPTOR_LAB_
  4. // CLASS DECLARATION
  5. /**
  6. * CDescriptorLab class.
  7. * Implements all descriptor usage for the lab
  8. */
  9. class CDescriptorLab : public CBase
  10.     {
  11. public: // construction / destruction
  12.     /**
  13.     * Two-phased constructor.
  14.     */
  15.     static CDescriptorLab* NewLC();
  16.     /**
  17.     * Destructor.
  18.     */
  19.     ~CDescriptorLab();
  20. public: // new functions
  21.     /**
  22.     *  Run the descriptor lab
  23.     */
  24.     void StartL();
  25. private: // construction
  26.     /**
  27.     * Default C++ constructor.
  28.     */
  29.     CDescriptorLab();
  30.     /**
  31.     * 2nd phase constructor.
  32.     */
  33.     void ConstructL();
  34. private: // new functions
  35.     /**
  36.     * Declare and use a buffer descriptor
  37.     */
  38.     void UseBufferDes();
  39.     /**
  40.     * Declare and use a heap descriptor
  41.     */
  42.     void UseHeapDesL();
  43.     /**
  44.     * Gets a string entered by the user up to the
  45.     * maximum length of the descriptor passed in
  46.     */
  47.     void GetStringFromUser(TDes& aBuf);
  48.     /**
  49.     * Returns an HBufC* containing a string entered 
  50.     * by the user of no maximum length.
  51.     * NB. The caller is responsible for deleting the HBufC* 
  52.     */
  53.     HBufC* StringFromUserL();
  54.     /**
  55.     * Returns the character entered by the user
  56.     */
  57.     TText CharFromUser();
  58.     /**
  59.     * Gets a char from the user. Prints to the screen
  60.     * the number of occurances of that char in the 
  61.     * descriptor passed into the function.
  62.     */
  63.     void CharOccurance(TDesC& aSearchStr);
  64. private: // data
  65.     CConsoleBase* iConsole; // Console window
  66.     };
  67. #endif // _DESCRIPTOR_LAB_