    #ifndef __MYAPP_DOCUMENT_H__
    #define __MYAPP_DOCUMENT_H__

    #include <akndoc.h>

    // Forward references
    class CMyAppAppUi;
    class CEikApplication;

    /*!
      @class CMYAPPDocument

      @discussion An instance of class CMYAPPDocument is the Document
      part of the AVKON application framework for the MYAPP
      application
      */
    class CMyAppDocument : public CAknDocument
    {
    public:

    /*!
      @function NewL

      @discussion Construct a CMyAppDocument for the AVKON application
      aApp  using two phase construction, and return a pointer to the created object
      @param aApp application creating this document
      @result a pointer to the created instance of CMyAppDocument
      */
        static CMyAppDocument* NewL(CEikApplication& aApp);

    /*!
      @function NewLC

      @discussion Construct a CMyAppDocument for the AVKON application aApp
      using two phase construction, and return a pointer to the created object
      @param aApp application creating this document
      @result a pointer to the created instance of CMyAppDocument
      */
        static CMyAppDocument* NewLC(CEikApplication& aApp);

    /*!
      @function ~CMyAppDocument

      @discussion Destroy the object and release all memory objects
      */
        ~CMyAppDocument();

    public: // from CAknDocument
    /*!
      @function CreateAppUiL

      @discussion Create a CMyAppAppUi object and return a pointer to it
      @result a pointer to the created instance of the AppUi created
      */
        CEikAppUi* CreateAppUiL();

    private:

    /*!
      @function ConstructL

      @discussion Perform the second phase construction of a CHelloWorldDocument object
      */
        void ConstructL();

    /*!
      @function CMyAppDocument

      @discussion Perform the first phase of two phase construction
      @param aApp application creating this document
      */
        CMyAppDocument(CEikApplication& aApp);

    };

    #endif // __MYAPP_DOCUMENT_H__