// TestCallbackFunction.cpp : Defines the entry point for the console application.
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BOOL unsigned int
#define TRUE 1
#define FALSE 0
typedef BOOL (*RonieTest_Callback)( int nValue );
typedef struct
{
int number;
char *name;
RonieTest_Callback bCount_CB;
} WmMyInfo;
BOOL fnConditionCallback_cb( int nValue )
{
BOOL bRet = 0;
if( 0 == (nValue % 2) )
{
bRet = 1;
}
return bRet;
}
WmMyInfo *TestLoopFunction( WmMyInfo *pInfo )
{
while(1)
{
pInfo->number++;
if( pInfo->number == 10 )
{
BOOL bRet = pInfo->bCount_CB( pInfo->number );
if( bRet == TRUE )
{
pInfo->name = new char[5];
memset( pInfo->name, 0, sizeof(char)*5 );
strncpy( pInfo->name, "Even", strlen("Even") );
return pInfo;
}
return pInfo;
}
}
}
int main(int argc, _TCHAR* argv[])
{
WmMyInfo *pMyInfo = new WmMyInfo;
pMyInfo->number = 0;
pMyInfo->bCount_CB = fnConditionCallback_cb;
pMyInfo = TestLoopFunction( pMyInfo );
printf( "Number : %s", pMyInfo->name );
delete []pMyInfo->name;
delete pMyInfo;
return 0;
}