Close();
m_hKey = hKey;
+
+ // we don't know the parent of this key, assume HKLM by default
+ m_hRootKey = HKEY_LOCAL_MACHINE;
+
+ // we don't know in which mode was this key opened but we can't reopen it
+ // anyhow because we don't know its name, so the only thing we can is to hope
+ // that it allows all the operations which we're going to perform on it
+ m_mode = Write;
+
+ // reset old data
+ m_strKey.empty();
+ m_dwLastError = 0;
}
// ----------------------------------------------------------------------------
wxString str = bShortPrefix ? aStdKeys[key].szShortName
: aStdKeys[key].szName;
if ( !m_strKey.empty() )
- str << _T("\\") << m_strKey;
+ str << wxT("\\") << m_strKey;
return str;
}
#endif
// it might be unexpected to some that this function doesn't open the key
- wxASSERT_MSG( IsOpened(), _T("key should be opened in GetKeyInfo") );
+ wxASSERT_MSG( IsOpened(), wxT("key should be opened in GetKeyInfo") );
m_dwLastError = ::RegQueryInfoKey
(
bool wxRegKey::Rename(const wxString& szNewName)
{
- wxCHECK_MSG( !m_strKey.empty(), false, _T("registry hives can't be renamed") );
+ wxCHECK_MSG( !m_strKey.empty(), false, wxT("registry hives can't be renamed") );
if ( !Exists() ) {
wxLogError(_("Registry key '%s' does not exist, cannot rename it."),
if ( !ok )
{
- wxLogLastError(_T("ExpandEnvironmentStrings"));
+ wxLogLastError(wxT("ExpandEnvironmentStrings"));
}
}
#endif
return false;
}
- wxFFileOutputStream ostr(filename, _T("w"));
+ wxFFileOutputStream ostr(filename, wxT("w"));
return ostr.Ok() && Export(ostr);
#else
size_t size,
wxRegKey::ValueType type = wxRegKey::Type_Binary)
{
- wxString value(_T("hex"));
+ wxString value(wxT("hex"));
// binary values use just "hex:" prefix while the other ones must indicate
// the real type
if ( type != wxRegKey::Type_Binary )
- value << _T('(') << type << _T(')');
- value << _T(':');
+ value << wxT('(') << type << wxT(')');
+ value << wxT(':');
// write all the rest as comma-separated bytes
value.reserve(3*size + 10);
- const char * const p = wx_static_cast(const char *, data);
+ const char * const p = static_cast<const char *>(data);
for ( size_t n = 0; n < size; n++ )
{
// TODO: line wrapping: although not required by regedit, this makes
// the generated files easier to read and compare with the files
// produced by regedit
if ( n )
- value << _T(',');
+ value << wxT(',');
- value << wxString::Format(_T("%02x"), (unsigned char)p[n]);
+ value << wxString::Format(wxT("%02x"), (unsigned char)p[n]);
}
return value;
// quotes and backslashes must be quoted, linefeeds are not
// allowed in string values
rhs.reserve(value.length() + 2);
- rhs = _T('"');
+ rhs = wxT('"');
// there can be no NULs here
bool useHex = false;
{
switch ( (*p).GetValue() )
{
- case _T('\n'):
+ case wxT('\n'):
// we can only represent this string in hex
useHex = true;
break;
- case _T('"'):
- case _T('\\'):
+ case wxT('"'):
+ case wxT('\\'):
// escape special symbol
- rhs += _T('\\');
+ rhs += wxT('\\');
// fall through
default:
if ( useHex )
rhs = FormatAsHex(value, Type_String);
else
- rhs += _T('"');
+ rhs += wxT('"');
}
break;
if ( !QueryValue(name, &value) )
break;
- rhs.Printf(_T("dword:%08x"), (unsigned int)value);
+ rhs.Printf(wxT("dword:%08x"), (unsigned int)value);
}
break;
// dump all our values
long dummy;
wxString name;
- wxRegKey& self = wx_const_cast(wxRegKey&, *this);
+ wxRegKey& self = const_cast<wxRegKey&>(*this);
bool cont = self.GetFirstValue(name, dummy);
while ( cont )
{