CAVERN_irb_c* CAVERNInit (int *argc, char*** argv, CAVERN_initAttrib_c *initAttr=NULL)

This is the first thing you do to start CAVERN

Documentation

This is the first thing you do to start CAVERN.

Sample call:

CAVERN_irb_c *personalIRB = CAVERNInit(&argc, &argv, NULL);

Once it is called it will spawn off a number of threads to support your personal IRB. Every CAVERN client has a personal IRB. The personal IRB is the main object you use to control CAVERN. See the CAVERN_irb_c class for a description of what this handle can do.

This call returns a handle to the personal IRB or NULL if the initialization failed.

CAVERNsoft always creates a local default data-store in which it can store persistent data. The default data-store is created in a directory called CAVERN_DEFAULT_DB in the same location where your CAVERNsoft-based application is executed. The name of the default data-store directory can be changed by setting one of the options in the CAVERN_initAttrib_c class as an argument to CAVERNInit().

WARNING: CAVERN uses threads. Therefore it is important that CAVERNInit() is called after the LAST fork in your program. For example, in the CAVE you call CAVERNInit() just before the CAVE's main process' while loop. This is so that the threads belong to the main process of the CAVE. What this also means is that CAVERN calls should ONLY be made in the CAVE main process and NOT the draw processes.

If someday the CAVE library gets rewritten with threads then we will all be one happy family.

Parameters:
initAttr - The attribute sets any special conditions for initializing CAVERN (like port number.) If it is set to NULL then default settings are assumed. Also if this is set to NULL, CAVERN will look for the CAVERN_PORT environment variable for a possible starting port number.
argc - Argc from main(argc,argv).
argv - Argv from main(argc,argv).

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de