#ifndef AEEDEMOEXTENSION_H
#define AEEDEMOEXTENSION_H
/*=====================================================================
FILE:  AEEDemoExtension.h

SERVICES:  DemoExtension Interface

DESCRIPTION:  
	Base level definitions, typedefs, etc. for DemoExtension interface
        
        Copyright © 1999-2002 QUALCOMM Incorporated.
               All Rights Reserved.
            QUALCOMM Proprietary/GTDR
=====================================================================*/

#include "AEE.h"			// Standard AEE definitions
#include "AEEShell.h"		// AEE Shell Services

/*===============================================================================
Type Declarations
===============================================================================*/

typedef struct IDemoExtension   IDemoExtension;
AEEINTERFACE(IDemoExtension)
{
	INHERIT_IBase(IDemoExtension);
	int	(*DrawHello)(IDemoExtension * po, AEEPoint ptXYOffset);
};

/*===============================================================================
Access Macros
===============================================================================*/

#define IDEMOEXTENSION_AddRef(p)                        AEEGETPVTBL(p,IDemoExtension)->AddRef(p)
#define IDEMOEXTENSION_Release(p)                       AEEGETPVTBL(p,IDemoExtension)->Release(p)
#define IDEMOEXTENSION_DrawHello(p,ptXYOffset)			AEEGETPVTBL(p,IDemoExtension)->DrawHello(p,ptXYOffset)

#endif    // AEEDEMOEXTENSION_H

/*
==============================================================================
  INTERFACES   DOCUMENTATION
==============================================================================

==============================================================================

Function:  IDEMOEXTENSION_AddRef()

Description:
	This function increases the reference count for the DemoExtension object

Prototype:
	uint32 IDEMOEXTENSION_AddRef(IDemoExtension * po)

Parameters:
   po: Pointer to IDemoExtension interface whos reference count is to be 
incremented

Return Value:
	The updated reference count

Comments:  None

Side Effects: None

==============================================================================

==============================================================================

Function:  IDEMOEXTENSION_Release()

Description:
	This function decreases the reference count for the DemoExtension object. If
	the reference count reaches zero, it does the required cleanup

Prototype:
	uint32 DemoExtension_Release(IDemoExtension* po)

Parameters:
   po: Pointer to the IDemoExtension interface whose reference count needs to be
   decremented.

Return Value:
   The updated reference count

Comments:  None

Side Effects: None

==============================================================================

==============================================================================

Function:  IDEMOEXTENSION_DrawHello()

Description:
	This function Draws the word HELLO on the screen at the location given
	This is the implementation of an exported function for the IDemoExtension
	interface

Prototype:
	int IDEMOEXTENSION_DrawHello(IDemoExtension * po, AEEPoint ptXYOffset)

Parameters:
   po:            Pointer to IDemoExtension interface whose reference count is 
   to be incremented
   ptXYOffset:    XY Point of the Text to draw

Return Value:
	SUCCESS for successful execution
   EFAILED for error

Comments:  Caller must Update the display

Side Effects: None

==============================================================================

*/
