예제 #1
0
EntryPoint* _EntryPoint_New( ENTRYPOINT_DEFARGS ) {
   EntryPoint* self;
   
   /* Allocate memory */
   assert( _sizeOfSelf >= sizeof(EntryPoint) );
   /* 
    * The following terms are parameters that have been passed into this function
    * but are being set before being passed onto the parent.  
    * This means that any values of these parameters that are passed into this function
    * are not passed onto the parent function and so should be set to ZERO in any children of this class. 
    */
   nameAllocationType = GLOBAL;

   self = (EntryPoint*)_Stg_Object_New(  STG_OBJECT_PASSARGS  );
   
   /* General info */
   
   /* Virtual info */
   self->_getRun = _getRun;
   
   /* EntryPoint info */
   _EntryPoint_Init( self, castType );
   
   return self;
}
예제 #2
0
Stg_ObjectAdaptor* _Stg_ObjectAdaptor_New( 
		SizeT						_sizeOfSelf, 
		Type						type,
		Stg_Class_DeleteFunction*			_delete,
		Stg_Class_PrintFunction*			_print, 
		Stg_Class_CopyFunction*				_copy,
		Name						name,
		void*						dataPtr,
		Bool						iOwn,
		Bool						isGlobal,
		Bool						isStgClass,
		Stg_ObjectAdaptor_DeletePointerFunction*	ptrDelete,
		Stg_ObjectAdaptor_PrintPointerFunction*		ptrPrint,
		Stg_ObjectAdaptor_CopyPointerFunction*		ptrCopy )
{
	Stg_ObjectAdaptor* self;
	
	/* Allocate memory */
	assert( _sizeOfSelf >= sizeof(Stg_ObjectAdaptor) );
	self = (Stg_ObjectAdaptor*)_Stg_Object_New( _sizeOfSelf, type, _delete, _print, _copy, name, GLOBAL );
	
	/* General info */
	
	/* Virtual functions */
	
	/* Stg_ObjectAdaptor info */
	_Stg_ObjectAdaptor_Init( self, dataPtr, iOwn, isGlobal, isStgClass, ptrDelete, ptrPrint, ptrCopy );
	
	return self;
}
예제 #3
0
ClassHook* _ClassHook_New( 
		SizeT 				_sizeOfSelf, 
		Type 				type, 
		Stg_Class_DeleteFunction* 	_delete,
		Stg_Class_PrintFunction*	_print,
		Stg_Class_CopyFunction*		_copy, 
		Name 				name, 
		Func_Ptr			funcPtr,
		char*				addedBy,
		void*			reference )
{
	ClassHook* self;
	
	/* Allocate memory */
	assert( _sizeOfSelf >= sizeof(ClassHook) );
	self = (ClassHook*)_Stg_Object_New( _sizeOfSelf, type, _delete, _print, _copy, name, NON_GLOBAL );
	
	/* General info */
	
	/* Virtual info */
	
	/* ClassHook info */
	_ClassHook_Init( self, funcPtr, addedBy, reference );
	
	return self;
}
예제 #4
0
Stg_Object* TestObject_New( Name name ) {
	return _Stg_Object_New(
		sizeof( TestObject ),
		"TestObject",
		_Stg_Object_Delete,
		_Stg_Object_Print,
		_Stg_Object_Copy, 
		name,
		NON_GLOBAL );
}
예제 #5
0
Module* _Module_New( MODULE_DEFARGS ) {
   Module* self;

   assert( _sizeOfSelf >= sizeof(Module) );

   /* 
    * The following terms are parameters that have been passed into this function but
    * are being set before being passed onto the parent. 
    * This means that any values of these parameters that are passed into this function are
    * not passed onto the parent function and so should be set to ZERO in any children of this class. 
    */
   nameAllocationType = NON_GLOBAL;

   self = (Module*)_Stg_Object_New( STG_OBJECT_PASSARGS );
   
   _Module_Init( self, MangleName, directories );

   return self;
}
ExtensionInfo* _ExtensionInfo_New(  EXTENSIONINFO_DEFARGS  )
{
	ExtensionInfo* self;
	
	/* Allocate memory */
	assert( _sizeOfSelf >= sizeof(ExtensionInfo) );
	/* The following terms are parameters that have been passed into this function but are being set before being passed onto the parent */
	/* This means that any values of these parameters that are passed into this function are not passed onto the parent function
	   and so should be set to ZERO in any children of this class. */
	nameAllocationType = NON_GLOBAL;

	self = (ExtensionInfo*)_Stg_Object_New(  STG_OBJECT_PASSARGS  );
	
	/* General info */
	
	/* Virtual info */
	self->_dataCopy = _dataCopy;
	
	/* ExtensionInfo info */
	_ExtensionInfo_Init( self, name, size, count );
	
	return self;
}