plugging in new approach for testing
[feisty_meow.git] / nucleus / library / configuration / application_configuration.h
index e51bb2105c23c7cafd1a70e3fbed2fc33ebe5c08..5633beae2757aaba6a668a9d6f76d018b9112954 100644 (file)
@@ -1,19 +1,17 @@
 #ifndef APPLICATION_CONFIGURATION_GROUP
 #define APPLICATION_CONFIGURATION_GROUP
 
-/*****************************************************************************\
-*                                                                             *
-*  Name   : path configuration definitions                                    *
-*  Author : Chris Koeritz                                                     *
-*                                                                             *
-*******************************************************************************
-* Copyright (c) 2000-$now By Author.  This program is free software; you can  *
-* redistribute it and/or modify it under the terms of the GNU General Public  *
-* License as published by the Free Software Foundation; either version 2 of   *
-* the License or (at your option) any later version.  This is online at:      *
-*     http://www.fsf.org/copyleft/gpl.html                                    *
-* Please send any updates to: fred@gruntose.com                               *
-\*****************************************************************************/
+/**
+ * Name: path configuration definitions
+ * Author: Chris Koeritz
+ ****
+ * Copyright (c) 2000-$now By Author.  This program is free software; you can
+ * redistribute it and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either version 2 of
+ * the License or (at your option) any later version.  This is online at:
+ *     http://www.fsf.org/copyleft/gpl.html
+ * Please send any updates to: fred@gruntose.com
+ */
 
 #include <basis/astring.h>
 #include <basis/definitions.h>
@@ -76,9 +74,20 @@ public:
     //!< retrieves the core binary directory location from paths.ini.
 
   static basis::astring get_logging_directory();
-    //!< returns the directory where log files will be stored.
+    //!< returns the folder where the log files for the feisty meow system are stored.
+    /*!< any log files should be written to this folder by the rest of the codebase,
+    unless there are special purposes for those log files.  but logs from general
+    operation of feisty meow should be written in this directory. */
+
+  static basis::astring get_virtual_unix_root();
+    //!< returns the path to the unix root, which may be simulated.
+    /*!< on unix, this will just return '/'.  on win32 with cygwin installed,
+    this will return the cygwin path for '/' that was detected at build time.
+    this is often "c:/cygwin", which we use as a default if the path isn't
+    detected properly. */ 
 
   // the following are key names within the main configuration file.
+  // not generally for external use.
 
   static const basis::astring &GLOBAL_SECTION_NAME();
     //!< the root section name for our configuration items in the main ini file.
@@ -93,10 +102,20 @@ public:
     /*!< this is where all files for this product are stored on "this" machine. */
 
   static const basis::astring &LOGGING_FOLDER_NAME();
-    //!< the location where the log files for the system are stored.
-    /*!< this is always considered to be a directory under the local folder.
-    the make_logfile_name() function (see below) can be used to create a
-    properly formed filename for logging. */
+    //!< the tag used for finding our logging path in the paths config file.
+
+//  static const basis::astring &WINDOZE_VIRTUAL_ROOT_NAME();
+    //!< the tag used for looking up the virtual windows path in the paths config file.
+
+  static const basis::astring &DEFAULT_VIRTUAL_UNIX_ROOT();
+    //!< default value if we don't find our setting for virtual root.
+    /*!< this is bound to fail on many occasions if it's actually used on
+    windoze for the default, but if we don't have good information ready,
+    we can't just intuit the virtual unix root; we are not kreskin.  the
+    virtual unix environment could be MSYS, Cygwin, or others.  Currently,
+    if Cygwin is used during the build process, then the default should
+    never be needed.  support for other systems will be added as time
+    permits and users clamor for them. */
 
   // helper methods.
 
@@ -115,7 +134,7 @@ public:
     need a filename.  an empty string is returned on failure to create the
     directory. */
 
-#ifdef __UNIX__
+#if defined(__UNIX__) || defined(__GNU_WINDOWS__)
   #ifdef __APPLE__
     static basis::astring get_cmdline_for_apple();
   #endif