#define wxUSE_CONFIG_NATIVE 1
#endif
+// not all compilers can deal with template Read/Write() methods, define this
+// symbol if the template functions are available
+#if (!defined(__VISUALC__) || __VISUALC__ > 1200) && \
+ !defined( __VMS ) && \
+ !defined (__DMC__)
+ #define wxHAS_CONFIG_TEMPLATE_RW
+#endif
+
// Style flags for constructor style parameter
enum
{
// no default version since it does not make sense for binary data
#endif // wxUSE_BASE64
- // Causes ambiguities in VC++ 6 and OpenVMS (at least)
-#if ( (!defined(__VISUALC__) || __VISUALC__ > 1200) && !defined( __VMS ) && !defined (__DMC__))
+#ifdef wxHAS_CONFIG_TEMPLATE_RW
// read other types, for which wxFromString is defined
template <typename T>
bool Read(const wxString& key, T* value) const
}
return found;
}
-#endif
+#endif // wxHAS_CONFIG_TEMPLATE_RW
// convenience functions returning directly the value
wxString Read(const wxString& key,
// we also have to provide specializations for other types which we want to
// handle using the specialized DoWriteXXX() instead of the generic template
// version below
+ bool Write(const wxString& key, char value)
+ { return DoWriteLong(key, value); }
+
+ bool Write(const wxString& key, unsigned char value)
+ { return DoWriteLong(key, value); }
+
bool Write(const wxString& key, short value)
{ return DoWriteLong(key, value); }
};
-// ----------------------------------------------------------------------------
-// the native wxConfigBase implementation
-// ----------------------------------------------------------------------------
-
-// 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
- #define wxConfig wxRegConfig
-#else // either we're under Unix or wish to use files even under Windows
- #define wxConfig wxFileConfig
-#endif
-
#endif // wxUSE_CONFIG
/*