All pastes #884496 Raw Edit

Untitled

public text v1 · immutable
#884496 ·published 2008-01-30 11:42 UTC
rendered paste body
bastian@sanctuary: dsss build
testcore.d => testcore
+ /home/bastian/d/bin/rebuild -Idsss_imports/ -I. -S./ -I/home/bastian/d/include/d -S/home/bastian/d/lib/  -I/home/bastian/d/include/d -S/home/bastian/d/lib -I/home/bastian/d/include/d -S/home/bastian/d/lib  -oqdsss_objs/G -llecore -I../../../ testcore.d -oftestcore
testcore.d:13: function testcore.exit_handler (void*,int,void*) does not match parameter types ()
testcore.d:13: Error: expected 3 arguments, not 0
testcore.d:12: function e.efl.ecore.core.ecore_event_handler_add (int,int(C *)(void* data, int type, void* event),void*) does not match parameter types (int,int,void*)
testcore.d:13: Error: cannot implicitly convert expression (exit_handler()) of type int to int(C *)(void* data, int type, void* event)
Command /home/bastian/d/bin/rebuild returned with code 256, aborting.
Error: Command failed, aborting.

==================================================================================

extern(C)
{
Ecore_Event_Handler* ecore_event_handler_add(int type, int function(void* data, int type, void* event), void* data);

}

==================================================================================

module testcore;
import e.efl.ecore.core;
import tango.io.Console;

void main()
{
   Cout("testcore").newline;
   
	if(ecore_init() > 0)
	{
		ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT,
			exit_handler(), null);		
		
		ecore_main_loop_begin();
		
		ecore_shutdown();
	}
	else
		Cout("ecore_init() failed.").newline;
}

extern(C)
{
	int exit_handler(void* data, int type, void* event)
	{
		Cout("exit_handler() called.").newline;
		ecore_main_loop_quit();
		return 0;
	}
}