#ifndef __WXWINCE__
{ HKEY_PERFORMANCE_DATA, wxT("HKEY_PERFORMANCE_DATA"), wxT("HKPD") },
#endif
-#if WINVER >= 0x0400 && !defined(__WXWINCE__)
+#ifdef HKEY_CURRENT_CONFIG
{ HKEY_CURRENT_CONFIG, wxT("HKEY_CURRENT_CONFIG"), wxT("HKCC") },
-#if !defined(__GNUWIN32__) && !defined(__WXWINCE__)
+#endif
+#ifdef HKEY_DYN_DATA
{ HKEY_DYN_DATA, wxT("HKEY_DYN_DATA"), wxT("HKDD") }, // short name?
-#endif //GNUWIN32
-#endif //WINVER >= 4.0
+#endif
};
// the registry name separator (perhaps one day MS will change it to '/' ;-)
}
else {
strKey = strKey.After(REG_SEPARATOR);
- if ( !strKey.IsEmpty() && strKey.Last() == REG_SEPARATOR )
+ if ( !strKey.empty() && strKey.Last() == REG_SEPARATOR )
strKey.Truncate(strKey.Len() - 1);
}
: m_strKey(keyParent.m_strKey)
{
// combine our name with parent's to get the full name
- if ( !m_strKey.IsEmpty() &&
- (strKey.IsEmpty() || strKey[0] != REG_SEPARATOR) ) {
+ if ( !m_strKey.empty() &&
+ (strKey.empty() || strKey[0] != REG_SEPARATOR) ) {
m_strKey += REG_SEPARATOR;
}
// next line!
m_strKey.clear();
m_strKey += keyParent.m_strKey;
- if ( !strKey.IsEmpty() && strKey[0] != REG_SEPARATOR )
+ if ( !strKey.empty() && strKey[0] != REG_SEPARATOR )
m_strKey += REG_SEPARATOR;
m_strKey += strKey;
StdKey key = GetStdKeyFromHkey((WXHKEY) m_hRootKey);
wxString str = bShortPrefix ? aStdKeys[key].szShortName
: aStdKeys[key].szName;
- if ( !m_strKey.IsEmpty() )
+ if ( !m_strKey.empty() )
str << _T("\\") << m_strKey;
return str;
bool wxRegKey::Rename(const wxChar *szNewName)
{
- wxCHECK_MSG( !m_strKey.IsEmpty(), false, _T("registry hives can't be renamed") );
+ wxCHECK_MSG( !m_strKey.empty(), false, _T("registry hives can't be renamed") );
if ( !Exists() ) {
wxLogError(_("Registry key '%s' does not exist, cannot rename it."),
if ( inSameHive ) {
// rename the key to the new name under the same parent
wxString strKey = m_strKey.BeforeLast(REG_SEPARATOR);
- if ( !strKey.IsEmpty() ) {
+ if ( !strKey.empty() ) {
// don't add '\\' in the start if strFullNewName is empty
strKey += REG_SEPARATOR;
}
// prevent a buggy program from erasing one of the root registry keys or an
// immediate subkey (i.e. one which doesn't have '\\' inside) of any other
// key except HKCR (HKCR has some "deleteable" subkeys)
- if ( m_strKey.IsEmpty() ||
+ if ( m_strKey.empty() ||
((m_hRootKey != (WXHKEY) aStdKeys[HKCR].hkey) &&
(m_strKey.Find(REG_SEPARATOR) == wxNOT_FOUND)) ) {
wxLogError(_("Registry key '%s' is needed for normal system operation,\ndeleting it will leave your system in unusable state:\noperation aborted."),
// exporting registry keys to file
// ----------------------------------------------------------------------------
+#if wxUSE_STREAMS
+
// helper functions for writing ASCII strings (even in Unicode build)
static inline bool WriteAsciiChar(wxOutputStream& ostr, char ch)
{
return ostr.IsOk();
}
+#endif // wxUSE_STREAMS
+
bool wxRegKey::Export(const wxString& filename) const
{
+#if wxUSE_FFILE && wxUSE_STREAMS
if ( wxFile::Exists(filename) )
{
wxLogError(_("Exporting registry key: file \"%s\" already exists and won't be overwritten."),
wxFFileOutputStream ostr(filename, _T("w"));
return ostr.Ok() && Export(ostr);
+#else
+ wxUnusedVar(filename);
+ return false;
+#endif
}
+#if wxUSE_STREAMS
bool wxRegKey::Export(wxOutputStream& ostr) const
{
// write out the header
return DoExport(ostr);
}
+#endif // wxUSE_STREAMS
static
wxString
return rhs;
}
+#if wxUSE_STREAMS
+
bool wxRegKey::DoExportValue(wxOutputStream& ostr, const wxString& name) const
{
// first examine the value type: if it's unsupported, simply skip it
return true;
}
+#endif // wxUSE_STREAMS
+
// ============================================================================
// implementation of global private functions
// ============================================================================
void RemoveTrailingSeparator(wxString& str)
{
- if ( !str.IsEmpty() && str.Last() == REG_SEPARATOR )
+ if ( !str.empty() && str.Last() == REG_SEPARATOR )
str.Truncate(str.Len() - 1);
}