/* SEMCJ CONFIDENTIAL */
/*
 *   Copyright (C) 2003 Sony Ericsson Mobile Communications Japan, Inc.
 *                         All Rights Reserved.
 *
 */
 /*==================================================================================
                                                                                    
                        EDIT HISTORY FOR MODULE                                     
                                                                                    
when       who           what, where, why                                           
--------   ---           -----------------------------------------------------------
05/04/04   uehara@ISB    [PTX802-TRK2301] EZNAVIWALKアプリ不具合対応                
====================================================================================*/

#if !defined (__BREWAPPSTUB_H__)
#define __BREWAPPSTUB_H__
//*********************************************************************/
//	Include Files
//*********************************************************************/
#include "BrewFeatures.h"
#include "qw.h"

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

#if defined(__BREW_TASK_ISB_STUB__)
#include "BrewMgr.h"
#endif

//*********************************************************************/
//	Defines
//*********************************************************************/

//*********************************************************************/
//	Functions
//*********************************************************************/
#if defined(WIN32)
extern void BrewStubInit(void);
extern void BrewStubSigs(void);
extern uint32 BrewStubUptimeMS(void);
extern uint32 OEM_GetLocalTime(void);
extern uint32 sim_qw_lo(qc_qword qw);
extern void sim_qw_set(qc_qword qw, uint32 hi, uint32 lo);
extern void sim_qw_mul(qc_qword product, qc_qword multiplicand
					, uint32 multiplier );
extern void sim_qw_sub(qc_qword difference, qc_qword subtrahend
					, qc_qword subtractor);

extern void sim_qw_add(qc_qword sum, qc_qword addend, qc_qword adder);
extern void sim_qw_equ(qc_qword qw1, qc_qword qw2);
extern void sim_qw_shift(qc_qword shifticand, int shiftidend);
extern void sim_qw_inc(qc_qword qw1, uint32 val);

#define qw_lo	sim_qw_lo
#define qw_set	sim_qw_set
#define qw_mul	sim_qw_mul
#define qw_sub	sim_qw_sub
#define qw_add	sim_qw_add
#define qw_equ	sim_qw_equ
#define qw_shift sim_qw_shift
#define qw_inc	sim_qw_inc
#endif /* defined(WIN32) */

#if defined(__BREW_TASK_ISB_STUB__)
// Brewタスク化 ISB担当部スタブ(start)
extern unsigned long BrewObsRpcGrpBrewMgr(void*);
extern unsigned long BrewTaskRpcGrpBrewMgr(void*);
extern unsigned long BrewObsRpcGrpAeeShell(void*);
extern unsigned long BrewTaskRpcGrpAeeShell(void*);

AEECLSID RPCSendToBrew_GetActiveAppletType(AEECLSID,  char * , AEECLSID *);
extern void RPCSendToBrew_CloseApplet(int, AEECLSID, AEECLSID, AEECLSID);
extern void RPCSendToBrew_PostEvent(AEECLSID, AEEEvent, uint16, uint32);
extern void RPCSendToBrew_Init(uint32);
extern void RPCSendToBrew_Exit(void);
extern void RPCSendToBrew_Event(AEEEvent, uint16, uint32);
extern void RPCSendToBrew_KeyPress(AVKType);
extern void RPCSendToBrew_KeyRelease(AVKType);
// [PTX802-TRK2301] Suspendにパラメータ追加 [S]
extern void RPCSendToBrew_Suspend(uint16 nativekind);
// [PTX802-TRK2301] Suspendにパラメータ追加 [E]
extern void RPCSendToBrew_Resume(void);

extern int RPCSendToApp_BrewMgrRegisterStatus(BMGR_REGIST_KIND, BMGR_REGIST_STATUS);
extern boolean RPCSendToApp_BrewMgrGetStatus(void);
// Brewタスク化 ISB担当部スタブ(end)
#endif //__BREW_TASK_ISB_STUB__

/********** End OF File ***********************************************/
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __BREWAPPSTUB_H__ */
