int MinosTestExport::exportAllDetails( HANDLE minosContestFile, bool newfile ) { stanzaCount = 0; if ( newfile ) { // std::string lbuff = "<?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' version='1.0'>" ; std::string lbuff = "<?xml version='1.0'?><stream:stream xmlns:stream='http://minos.goodey.org.uk/streams' xmlns='minos:client' version='1.0'>" ; lbuff += "\r\n" + fileHeader; DWORD ret = 0; bool res = WriteFile( minosContestFile, lbuff.c_str(), lbuff.length(), &ret, 0 ); if ( !res || ret != lbuff.length() ) { MinosParameters::getMinosParameters() ->mshowMessage( "bad reply from write!" ); } } exportMode( minosContestFile ); exportContest( minosContestFile ); exportQTH( minosContestFile ); exportEntry( minosContestFile ); exportStation( minosContestFile ); exportCurrent( minosContestFile ); exportOperators( minosContestFile ); exportBundles( minosContestFile ); return stanzaCount; }
// AND we need an export operator change int MinosTestExport::exportTest( HANDLE expfd, int mindump, int maxdump ) { stanzaCount = 0; std::string lbuff = "<?xml version='1.0'?><stream:stream xmlns:stream='http://minos.goodey.org.uk/streams' xmlns='minos:client' version='1.0'>" ; lbuff += "\r\n" + fileHeader; DWORD ret = 0; bool res = WriteFile( expfd, lbuff.c_str(), lbuff.length(), &ret, 0 ); if ( !res || ret != lbuff.length() ) { MinosParameters::getMinosParameters() ->mshowMessage( "bad reply from write!" ); } // export a sequence of Minos stanzas // Don't want to export Minos as read only! bool wasRO = ct->readOnly.getValue(); ct->readOnly.setValue( false ); exportMode( expfd ); ct->readOnly.setValue( wasRO ); exportContest( expfd ); exportQTH( expfd ); exportEntry( expfd ); exportStation( expfd ); exportCurrent( expfd ); exportOperators( expfd ); // not right... we need to log op changes exportBundles( expfd ); bool inDump = false; for ( unsigned int i = 0; i < ct->ctList.size(); i++ ) { BaseContact *dct = ct->ctList[ i ]; ContestContact *lct = dynamic_cast<ContestContact *>( dct ); if ( inDump && lct->contactFlags.getValue() & ( LOCAL_COMMENT | COMMENT_ONLY ) ) { exportComment( expfd, lct ); continue; } int serials = atoi( lct->serials.getValue().c_str() ); // dump the contact, until serial seen if ( ( serials >= mindump ) || ( mindump == 0 ) ) inDump = true; if ( inDump && ( serials <= maxdump ) ) { exportQSO( expfd, lct ); } // Cannot assume that all serials are in order, so we need to go through // the whole contest } return stanzaCount; }
void DatabaseExporter::exportDatabase (FlashcardsDeck* exportTo, VariableStackState exportArguments) { for (shared_ptr <SimpleFlashcard> e: database->entries) { e->setFallbackVariableStackState (exportArguments); exportEntry (exportTo, e.get()); e->removeFallbackVariableStackState(); } }