void checkEqualBinary(Struct& original) { std::stringstream newStream; std::stringstream oldStream; cryptonote::BinaryOutputStreamSerializer binarySerializer(newStream); binarySerializer(original, ""); binary_archive<true> ba(oldStream); bool r = ::serialization::serialize(ba, original); ASSERT_TRUE(r); ASSERT_EQ(oldStream.str(), newStream.str()); }
void checkEnumeratorToLegacy(Struct& original) { std::stringstream archive; cryptonote::BinaryOutputStreamSerializer binarySerializer(archive); binarySerializer(original, ""); //std::cout << "enumerated string: " << epee::string_tools::buff_to_hex_nodelimer(archive.str()) << std::endl; Struct restored; binary_archive<false> ba(archive); bool r = ::serialization::serialize(ba, restored); //ASSERT_TRUE(r); ASSERT_EQ(original, restored); }
void checkLegacyToEnumerator(Struct& original) { std::stringstream archive; binary_archive<true> ba(archive); bool r = ::serialization::serialize(ba, original); ASSERT_TRUE(r); //std::cout << "legacy string: " << epee::string_tools::buff_to_hex_nodelimer(archive.str()) << std::endl; Struct restored; cryptonote::BinaryInputStreamSerializer binarySerializer(archive); binarySerializer(restored, ""); ASSERT_EQ(original, restored); }
void EdProject::Publish() { mxPutf("Publishing project: '%s', output directory: '%s'\n", this->GetName(), this->GetPathName() ); // collects used resources, create binary package files // compile and optimize the level //StringListType referencedAssets; //{ // BinaryFiles::CollectReferencedAssets getUsedAssets( referencedAssets ); // BinaryFiles::Visit_Class_Members( Universe_Editor::StaticGetReflection(), Universe_Editor::Ptr(), getUsedAssets ); //} String pakFileName( this->GetPathName() ); F_NormalizePath( pakFileName ); pakFileName.Append( "Data.rpk" ); EdPakFileBuilder pakFileBuilder; //pakFileBuilder.Build_Optimized_Pak_File( pakFileName, referencedAssets ); pakFileBuilder.Build_Hashed_Pak_File( pakFileName ); String levelFileName( this->GetPathName() ); F_NormalizePath( levelFileName ); levelFileName.Append( this->GetName() ); levelFileName.StripFileExtension(); levelFileName.Append( ".world" ); FileWriter fileStream( levelFileName ); if( fileStream.IsOpen() ) { BinaryObjectWriter binarySerializer( fileStream ); SEngineSaveArgs saveArgs; saveArgs.serializer = &binarySerializer; gEngine.SaveState( saveArgs ); } }