#ifndef __${PrjName:uppercase}_APPVIEW_H__
#define __${PrjName:uppercase}_APPVIEW_H__


#include <coecntrl.h>

/*! 
  @class C${PrjName}AppView
  
  @discussion An instance of the Application View object for the ${PrjName}
  application
  */
class C${PrjName}AppView : public CCoeControl
{
public:

/*!
  @function NewL
   
  @discussion Create a C${PrjName}AppView object, which will draw itself to aRect
  @param aRect the rectangle this view will be drawn to
  @result a pointer to the created instance of C${PrjName}AppView
  */
    static C${PrjName}AppView* NewL(const TRect& aRect);

/*!
  @function NewLC
   
  @discussion Create a CHelloWorldAppView object, which will draw itself to aRect
  @param aRect the rectangle this view will be drawn to
  @result a pointer to the created instance of CHelloWorldAppView
  */
    static C${PrjName}AppView* NewLC(const TRect& aRect);


/*!
  @function ~C${PrjName}AppView
  
  @discussion Destroy the object and release all memory objects
  */
     ~C${PrjName}AppView();


public:  // from CCoeControl
/*!
  @function Draw
  
  @discussion Draw this C${PrjName}AppView to the screen
  @param aRect the rectangle of this view that needs updating
  */
    void Draw(const TRect& aRect) const;
  

private:

/*!
  @function ConstructL
  
  @discussion  Perform the second phase construction of a C${PrjName}AppView object
  @param aRect the rectangle this view will be drawn to
  */
    void ConstructL(const TRect& aRect);

/*!
  @function C${PrjName}AppView
  
  @discussion Perform the first phase of two phase construction 
  */
    C${PrjName}AppView();
};


#endif // __${PrjName:uppercase}_APPVIEW_H__
