Пример #1
0
Snac_EntryPoint* _Snac_EntryPoint_New( 
		SizeT					_sizeOfSelf,
		Type					type,
		Stg_Class_DeleteFunction*			_delete,
		Stg_Class_PrintFunction*			_print,
		Stg_Class_CopyFunction*			_copy, 
		EntryPoint_GetRunFunction*		_getRun,
		Name					name,
		unsigned int				castType )
{
	Snac_EntryPoint* self;
	
	/* Allocate memory */
	Journal_Firewall( 
		_sizeOfSelf >= sizeof(Snac_EntryPoint), 
		Journal_Register( ErrorStream_Type, "Snac" ), 
		"Attmpting to create a \"Snac_EntryPoint\" of \"_sizeOfSel\" which is too small" );
	self = (Snac_EntryPoint*)_ContextEntryPoint_New( _sizeOfSelf, type, _delete, _print, _copy, 
		_getRun, name, castType );
	
	/* General info */
	
	/* Virtual info */
	
	/* Snac_EntryPoint info */
	_Snac_EntryPoint_Init( self );
	
	return self;
}
ContextEntryPoint* ContextEntryPoint_New( const Name name, unsigned int castType ) {
	/* Variables set in this function */
	SizeT                       _sizeOfSelf = sizeof(ContextEntryPoint);
	Type                               type = ContextEntryPoint_Type;
	Stg_Class_DeleteFunction*       _delete = _EntryPoint_Delete;
	Stg_Class_PrintFunction*         _print = _EntryPoint_Print;
	Stg_Class_CopyFunction*           _copy = NULL;
	EntryPoint_GetRunFunction*      _getRun = _ContextEntryPoint_GetRun;

	/* Variables that are set to ZERO are variables that will be set either by the current _New function or another parent _New function further up the hierachy */
	AllocationType  nameAllocationType = NON_GLOBAL /* default value NON_GLOBAL */;

	return _ContextEntryPoint_New(  CONTEXTENTRYPOINT_PASSARGS  );
}