1
Title: GNUe Client startup sequence
4
Client [GClientApp()] created and run [.run()]
6
+-- GClientApp parses command line arguments and handles debugging,
7
| profiling, help, and versioning.
9
+-- Login Handler [LoginHandler()] setup by UI
11
+-- Connections Manager created [GConnections()]
13
| +-- Reads the Connections Definition File.
15
| +-- Stores a reference to the Login Handler for future use.
17
+-- Object File is loaded [GParser.loadXMLObject()]
19
| +-- Root Object created and returned.
21
| +-- In root object, Connections Manager is set.
23
| +-- Data Sources [GDataSource()] ask connections manager for
24
| a dbdriver [GDataObject()] based on their type and
27
+-- All objects are initialized from the top down.
29
| +-- For each Data Source, Client App asks Connection Manager for
30
| a data connection for the Data Source's dbdriver.
32
| +-- If no data connection exists, Connection Manager...
34
| +-- ... asks the Data Source to ask the GDataObject
35
| | what needs to be input from the user to login
36
| | to the database (usually, user/pass)
38
| +-- ... sends a message to the Login Handler asking
39
| | for the required fields.
41
| | +-- Login Handler prompts the user for fields
43
| +-- ... tells the Data Object to attempt a login
45
| +-- ... gets the data connection from the Data Object
46
| and saves it for future data sources.