File: PsychInit.c

package info (click to toggle)
psychtoolbox-3 3.0.11.20140816.dfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 77,468 kB
  • ctags: 17,316
  • sloc: ansic: 95,595; cpp: 11,170; objc: 4,026; sh: 1,844; python: 383; php: 312; makefile: 191; java: 113
file content (67 lines) | stat: -rwxr-xr-x 1,736 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*
  PsychToolbox3/Source/Common/PsychInit.c		
  
  AUTHORS:
  Allen.Ingling@nyu.edu					awi
  mario.kleiner at tuebingen.mpg.de		mk
  
  PLATFORMS: All
  
  PROJECTS:  All

  HISTORY:

  08/25/02  awi		wrote it.  
  03/24/08	mk		Add call to PsychExitTimeGlue() and some cleanup.

  DESCRIPTION:
  
	Holds the master initialization and shutdown for the Psychtoolbox function.
	Sub-section hold their own inits which are called by the master
	init function contained herein.  After the Psychtoolbox library
	has initialzed itself in then invokes the project init which 
	must be named PsychModuleInit(). 
        
	Each PsychToolbox module should register its subfuctions within 
	its PsychModuleInit(). 

*/

#include "Psych.h"

PsychError PsychInit(void)
{
	// First init Psychtoolbox libraries
	InitPsychError();
	InitPsychAuthorList();
	PsychInitTimeGlue();
	
	//Registration of the Psychtoolbox exit function is 
	//done in ScriptingGlue.cpp because how that is done is 
	//specific to the scripting environment. Note that registration
	//of the project exit function is done within the project init.  
	
	//then call call the project init.  
	PsychModuleInit();
	
	return(PsychError_none);
}

/* PsychExit is the function invoked last before the module is 
   purged.  It is abstracted to be unspecific to the scripting
   language.  The language-specific versions are named PsychExitGlue()
   and they are found in SciptingGlue.cpp  
 */
PsychError PsychExit(void)
{	
	PsychFunctionPtr projectExit;
	PsychError error;

	projectExit = PsychGetProjectExitFunction();
	if(projectExit != NULL) error=(*projectExit)();

	// Put whatever cleanup of the Psychtoolbox is required here.
	PsychExitTimeGlue();
	
	return(PsychError_none);
}