MythTV  0.25-pre
MythTV Startup Sequence

This line is filler that is ignored by Doxygen. More...

This line is filler that is ignored by Doxygen.

Most MythTV programs follow a common sequence:

  1. Process (parse) command-line arguments
  2. Create a MythContext object (which contains a MythCoreContext object for server and DB communication, logging and some housekeeping)
  3. (optionally) Create a UPnP client or server
  4. Initialise the MythContext, which:
    • Tries to find a database on localhost, or on the host specified in mysql.txt,
    • Tries to locate exactly one backend host via UPnP, to find its database,
    • If possible, displays a list of all backends located via UPnP for the user to choose from, or
    • Fails
  5. Create the main window/screen, display themed menus, et c.

(examine program/{appname}/main.cpp, and libs/libmyth/mythcontext.cpp, for further detail).

The "runtime assets" mentioned above are stored in a number of well-known locations. The following methods in MythContext allow programs and plugins to access these assets:

  1. GetInstallPrefix() returns either the runtime env. var. $MYTHTVDIR or the compile-time var. RUNPREFIX. If these are relative paths, it is initialised relative to the application's location. The value is used thus:

  2. GetConfDir() returns the value of the runtime env. var. $MYTHCONFDIR, or $HOME/.mythtv

  3. mysql.txt is loaded from GetShareDir(), GetInstallPrefix() + /etc/mythtv, GetConfDir(), and the current directory. Later files override the values from earlier ones.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends