
#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_receivePoolMulti( int info , int data ,			*/
/*						char **fileName , int *selectNum )			*/
/*																	*/
/*	MTLEIN_sendPool で送られて来たファイル名を filename に受け取り	*/
/*	受け取ったプールID を返す ( GM_SENDDATA 中に行う )				*/
/*																	*/
/*	ret :	NOERR		正常終了									*/
/* ---------------------------------------------------------------- */
int		EINDD_receivePoolMulti( int info , int data , char **fileName ,
					int *selectNum , int limit , int *mosPos )
{
	POOLDATA	*poolData ;
	int			ret ;

	// info = 送信元ｱﾌﾟﾘｹｰｼｮﾝID, data =ﾌﾟｰﾙID
	// プールIDからプールデータヘッダへのポインタを得る
	poolData = (POOLDATA *)MMI_CallMessage(
					MMI_GetApliId(), GM_POOLDATA, PM_POOLID, data) ;

	ret = EINDD_receiveThisPoolMulti( info , data , fileName ,
								selectNum , limit , mosPos , poolData ) ;

	return ret ;
}

int		EINDD_receiveThisPoolMulti( int info , int data , char **fileName ,
			int *selectNum , int limit , int *mosPos , POOLDATA *poolData )
{
	int		select , ret = ILLEGAL_FUNCTION ;

	select = 0 ;
	if ( poolData != NULL )
	{
		// "CB"型のみ解析可能
		if ( !strcmp( (char *)&poolData->Type, POOL_STR_CB ) )
		{
			// プールデータの内容を解析して
			// fileName にファイル名を入れる
			ret = EINDD_analysisMulti( poolData , fileName ,
										&select , limit , mosPos ) ;

			if ( ret == NOERR )
			{
				// 送信元アプリケーションIDが自アプリと一致?
				if ( info == MMI_GetApliId() )
				{
					// 送信されたプールデータの消去要求を発行
					MMI_CallMessage(MMI_GetApliId(), GM_STACKDATA,
						FALSE, data) ;
				}
			}
		}
	}

	*selectNum = select ;

	return ret ;
}

