
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winb.h>
#include <te.h>
#include <fntb.h>
#include <gui.h>
#include <egb.h>
#include <guidbg.h>
#include <mtl.h>
#include <eintm.h>
#include <mtlein.h>
#include "eindd.h"

/* ---------------------------------------------------------------- */
/*	int		EINDD_receivePool( int info , int data ,				*/
/*										char *fileName )			*/
/*																	*/
/*	MTLEIN_sendPool で送られて来たファイル名を filename に受け取り	*/
/*	受け取ったプールID を返す ( GM_SENDDATA 中に行う )				*/
/*																	*/
/*	ret :	NOERR		正常終了									*/
/* ---------------------------------------------------------------- */
int		EINDD_receivePool( int info , int data , char *fileName , int *mosPos )
{
	POOLDATA	*poolData ;
	int			ret ;

	// info = 送信元ｱﾌﾟﾘｹｰｼｮﾝID, data =ﾌﾟｰﾙID
	// プールIDからプールデータヘッダへのポインタを得る
	poolData = (POOLDATA *)MMI_CallMessage(
					MMI_GetApliId(), GM_POOLDATA, PM_POOLID, data) ;

	ret = EINDD_receiveThisPool( info , data , fileName , mosPos , poolData ) ;

	return ret ;
}

int		EINDD_receiveThisPool( int info , int data ,
					char *fileName , int *mosPos , POOLDATA *poolData )
{
	int		ret = ILLEGAL_FUNCTION ;

	if ( poolData != NULL )
	{
		// "CB"型のみ解析可能
		if ( !strcmp( (char *)&poolData->Type, POOL_STR_CB ) )
		{
			// プールデータの内容を解析して
			// fileName にファイル名を入れる

			ret = EINDD_analysis( poolData , fileName , mosPos ) ;

			if ( ret == NOERR )
			{
				// 送信元アプリケーションIDが自アプリと一致?
				if ( info == MMI_GetApliId() )
				{
					// 送信されたプールデータの消去要求を発行
					MMI_CallMessage( MMI_GetApliId() , GM_STACKDATA ,
						FALSE , data ) ;
				}
			}
		}
	}

	return ret ;
}

