bool ScreenArcadePatch::GetXMLData( RageFileDriverZip *fZip, CString &sGame, CString &sMessage, int &iRevision ) { int iError; RageFileBasic *fXML = fZip->Open( "patch.xml", RageFile::READ, iError ); if( fXML == NULL ) { STATE_TEXT( "Patch information check failed: could not open patch.xml." ); return false; } /* check the actual XML data now */ XNode *pNode = new XNode; pNode->m_sName = "Patch"; pNode->LoadFromFile( *fXML ); if( !pNode->GetChild("Game") || !pNode->GetChild("Revision") || !pNode->GetChild("Message") ) { STATE_TEXT( "Patch information check failed: patch.xml is corrupt." ); SAFE_DELETE( pNode ); SAFE_DELETE( fXML ); return false; } /* save the patch data */ pNode->GetChild("Revision")->GetValue(iRevision); sGame = pNode->GetChildValue("Game"); sMessage = pNode->GetChildValue("Message"); SAFE_DELETE( pNode ); SAFE_DELETE( fXML ); return true; }
void ClassTester::_LoadSettings() { String sAppPath = Utilities::GetExecutableDirectory(); if (sAppPath.Right(1) != _T("\\")) sAppPath += _T("\\"); String sConfigFile = sAppPath + "test_config.xml"; String sTestSpec = FileUtilities::ReadCompleteTextFile(sConfigFile); if (sTestSpec.IsEmpty()) return; XDoc oDoc; oDoc.Load(sTestSpec); XNode *pBackupNode = oDoc.GetChild(_T("Config")); if (!pBackupNode) throw; m_sMimeDataPath = pBackupNode->GetChildValue(_T("MimeDataPath")); }