This commit is contained in:
Glenn Maynard
2006-10-02 23:12:18 +00:00
parent a9cae2253d
commit fb6bafb208
2 changed files with 16 additions and 46 deletions
-35
View File
@@ -120,22 +120,6 @@ bool IniFile::WriteFile( RageFileBasic &f ) const
return true;
}
bool IniFile::GetValue( const RString &keyname, const RString &valuename, RString& value ) const
{
const XNode* pNode = GetChild( keyname );
if( pNode == NULL )
return false;
return pNode->GetAttrValue( valuename, value );
}
void IniFile::SetValue( const RString &keyname, const RString &valuename, const RString &value )
{
XNode* pNode = GetChild( keyname );
if( pNode == NULL )
pNode = AppendChild( keyname );
pNode->AppendAttr( valuename, value );
}
bool IniFile::DeleteValue(const RString &keyname, const RString &valuename)
{
XNode* pNode = GetChild( keyname );
@@ -145,25 +129,6 @@ bool IniFile::DeleteValue(const RString &keyname, const RString &valuename)
}
#define TYPE(T) \
bool IniFile::GetValue( const RString &keyname, const RString &valuename, T &value ) const \
{ \
RString sValue; \
if( !GetValue(keyname,valuename,sValue) ) \
return false; \
return FromString( sValue, value ); \
} \
void IniFile::SetValue( const RString &keyname, const RString &valuename, T value ) \
{ \
SetValue( keyname, valuename, ToString(value) ); \
}
TYPE(int);
TYPE(unsigned);
TYPE(float);
TYPE(bool);
bool IniFile::DeleteKey(const RString &keyname)
{
XNode* pNode = GetChild( keyname );
+16 -11
View File
@@ -22,17 +22,22 @@ public:
bool WriteFile( const RString &sPath ) const;
bool WriteFile( RageFileBasic &sFile ) const;
bool GetValue( const RString &key, const RString &valuename, RString& value ) const;
bool GetValue( const RString &key, const RString &valuename, int& value ) const;
bool GetValue( const RString &key, const RString &valuename, unsigned& value ) const;
bool GetValue( const RString &key, const RString &valuename, float& value ) const;
bool GetValue( const RString &key, const RString &valuename, bool& value ) const;
void SetValue( const RString &key, const RString &valuename, const RString &value );
void SetValue( const RString &key, const RString &valuename, int value );
void SetValue( const RString &key, const RString &valuename, unsigned value );
void SetValue( const RString &key, const RString &valuename, float value );
void SetValue( const RString &key, const RString &valuename, bool value );
template <typename T>
bool GetValue( const RString &sKey, const RString &sValueName, T& value ) const
{
const XNode* pNode = GetChild( sKey );
if( pNode == NULL )
return false;
return pNode->GetAttrValue<T>( sValueName, value );
}
template <typename T>
void SetValue( const RString &sKey, const RString &sValueName, const T &value )
{
XNode* pNode = GetChild( sKey );
if( pNode == NULL )
pNode = AppendChild( sKey );
pNode->AppendAttr<T>( sValueName, value );
}
bool DeleteKey( const RString &keyname );
bool DeleteValue( const RString &keyname, const RString &valuename );