]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/confbase.h
Get rid of inline C compatibility methods
[wxWidgets.git] / include / wx / confbase.h
index fbd1e57a132cd6c4ccbaa960ca0880ac7af98b6b..699a9e0acef1c437395830bf1a972d274fc1944f 100644 (file)
@@ -8,26 +8,28 @@
 // RCS-ID:      $Id$
 // Copyright:   (c) 1997 Karsten Ballüder   Ballueder@usa.net
 //                       Vadim Zeitlin      <zeitlin@dptmaths.ens-cachan.fr>
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 #ifndef   _WX_CONFBASE_H_
 #define   _WX_CONFBASE_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma interface "confbase.h"
 #endif
 
 #include "wx/defs.h"
 #include "wx/string.h"
 
+class WXDLLIMPEXP_BASE wxArrayString;
+
 // ----------------------------------------------------------------------------
 // constants
 // ----------------------------------------------------------------------------
 
 /// shall we be case sensitive in parsing variable names?
 #ifndef wxCONFIG_CASE_SENSITIVE
-  #define  wxCONFIG_CASE_SENSITIVE       FALSE
+  #define  wxCONFIG_CASE_SENSITIVE       0
 #endif
 
 /// separates group and entry names (probably shouldn't be changed)
@@ -47,8 +49,7 @@
 
 /// should we use registry instead of configuration files under Windows?
 // (i.e. whether wxConfigBase::Create() will create a wxFileConfig (if it's
-//  FALSE) or wxRegConfig (if it's true and we're under Win32) or wxIniConfig
-//  (under Win16))
+//  FALSE) or wxRegConfig (if it's true and we're under Win32))
 #ifndef   wxUSE_CONFIG_NATIVE
   #define wxUSE_CONFIG_NATIVE 1
 #endif
@@ -58,7 +59,8 @@ enum
 {
     wxCONFIG_USE_LOCAL_FILE = 1,
     wxCONFIG_USE_GLOBAL_FILE = 2,
-    wxCONFIG_USE_RELATIVE_PATH = 4
+    wxCONFIG_USE_RELATIVE_PATH = 4,
+    wxCONFIG_USE_NO_ESCAPE_CHARACTERS = 8
 };
 
 // ----------------------------------------------------------------------------
@@ -72,7 +74,8 @@ enum
 // Keys are pairs "key_name = value" where value may be of string or integer
 // (long) type (TODO doubles and other types such as wxDate coming soon).
 // ----------------------------------------------------------------------------
-class WXDLLEXPORT wxConfigBase
+
+class WXDLLIMPEXP_BASE wxConfigBase
 {
 public:
   // constants
@@ -291,7 +294,7 @@ private:
 // you work in the entry directory and the path is automatically restored
 // when the function returns
 // Taken out of wxConfig since not all compilers can cope with nested classes.
-class wxConfigPathChanger
+class WXDLLIMPEXP_BASE wxConfigPathChanger
 {
 public:
   // ctor/dtor do path changing/restorin
@@ -306,6 +309,8 @@ private:
   wxString      m_strName,      // name of entry (i.e. name only)
                 m_strOldPath;   // saved path
   bool          m_bChanged;     // was the path changed?
+
+  DECLARE_NO_COPY_CLASS(wxConfigPathChanger)
 };
 
 
@@ -314,17 +319,11 @@ private:
 // ----------------------------------------------------------------------------
 
 // under Windows we prefer to use the native implementation
+// wxIniConfig isn't native anywhere after droping win16 in wxWidgets 2.6
 #if defined(__WXMSW__) && wxUSE_CONFIG_NATIVE
-  #ifdef __WIN32__
     #define wxConfig  wxRegConfig
-    #define sm_classwxConfig sm_classwxRegConfig
-  #else  //WIN16
-    #define wxConfig  wxIniConfig
-    #define sm_classwxConfig sm_classwxIniConfig
-  #endif
 #else // either we're under Unix or wish to use files even under Windows
   #define wxConfig  wxFileConfig
-  #define sm_classwxConfig sm_classwxFileConfig
 #endif
 
 #endif // wxUSE_CONFIG
@@ -335,12 +334,12 @@ private:
   '_' only. '$' must be escaped ('\$') in order to be taken literally.
 */
 
-WXDLLEXPORT wxString wxExpandEnvVars(const wxString &sz);
+WXDLLIMPEXP_BASE wxString wxExpandEnvVars(const wxString &sz);
 
 /*
   Split path into parts removing '..' in progress
  */
-WXDLLEXPORT void wxSplitPath(wxArrayString& aParts, const wxChar *sz);
+WXDLLIMPEXP_BASE void wxSplitPath(wxArrayString& aParts, const wxChar *sz);
 
 
 #endif