#ifndef __OEMNATIVEPRIVATE_H__
#define __OEMNATIVEPRIVATE_H__

/*============================================================================
FILE:  OEMNATIVEPrivate.h

SERVICES:  OEMからのNative連携用のIFを提供します。
           INATIVE_XXX()と合わせて使用することによりOEMからのNative連携を実装することが可能です。
           本関数はOEMからのNATIVE連携用途以外での使用を禁止します。
           本関数はOEM向けの関数として提供します。

     (C) Copyright 2005 Sony Ericsson Mobile Communications Japan, Inc.

=============================================================================================*/


/*===========================================================================

                     INCLUDE FILES FOR MODULE

===========================================================================*/
#include "AEEComdef.h"
#include "AEE.h"
#include "INATIVE.bid"
#include "INATIVE.h"

//**********************************************************************
//  int OEMNATIVE_RegisterCallBack( INATIVE *po,void *pUserPnt, void (*pCBFunc)(void *UserPnt))
//
//	Inputs INATIVE *po INATIVEのポインタ
//	       他の引数はPTX804時のNATIVE連携用関数BrewNativeStart()を継承します。
//	Outputs
//   SUCCESS : 正常終了した場合
//   EALREADYLOADED  :既に登録済み
//   EFAILED: 失敗した場合 等
//	Description
//	本関数は、コールバックデータの登録のみを行います。
//	登録しているコールバックデータの登録解除のタイミングは、OEMNATIVE_CancelCallBack()と
//	INATIVE_Release()のタイミングになります。
//	登録しているコールバックデータを再登録する場合はキャンセルを行い登録してください。
//	連携先(NATIVE)へコールバックが必要な通信を行う場合は、他のINATIVEのIFを利用してください。
//	通信の際の取り決めは連携用ADPと各OEMレイヤーに依存します。通常の使用方法としては
//	通信処理と本関数を連続して処理するようなラッパー関数を作成し使用することを推奨します。
//	ADPにてコールバック関数の実行を依頼する場合についてはKCPProxyADP.cを参照してください。
//**********************************************************************
int OEMNATIVE_RegisterCallBack( INATIVE *po,void *pUserPnt, void (*pCBFunc)(void *UserPnt));

//**********************************************************************
//  int OEMNATIVE_CancelCallBack( INATIVE *po)
//
//	Inputs INATIVE *po :INATIVE　ポインタ
//	Outputs
//   SUCCESS : 正常終了した場合
//   EFAILED: 失敗した場合 等
//	Description
//	本関数はINATIVEオブジェクトに登録されたコールバックデータを開放します。
//	キャンセルを行った後でコールバック関数実行ルーチンが起動した場合は
//	データが有効でないためコールバック関数は実行されません。
//**********************************************************************
int OEMNATIVE_CancelCallBack( INATIVE *po);

#endif /* __OEMNATIVEPRIVATE_H__ */
