bool FJsonInternationalizationArchiveSerializer::DeserializeArchive(const FString& InStr, TSharedRef<FInternationalizationArchive> InArchive, TSharedPtr<const FInternationalizationManifest> InManifest, TSharedPtr<const FInternationalizationArchive> InNativeArchive) { TSharedPtr< FJsonObject > JsonArchiveObj; TSharedRef< TJsonReader<> > Reader = TJsonReaderFactory<>::Create(InStr); if (FJsonSerializer::Deserialize(Reader, JsonArchiveObj) && JsonArchiveObj.IsValid()) { return DeserializeInternal(JsonArchiveObj.ToSharedRef(), InArchive, InManifest, InNativeArchive); } return false; }
bool FInternationalizationManifestJsonSerializer::DeserializeManifest( const FString& InStr, TSharedRef< FInternationalizationManifest > Manifest ) { TSharedPtr<FJsonObject> JsonManifestObj; TSharedRef< TJsonReader<> > Reader = TJsonReaderFactory<>::Create( InStr ); bool bExecSuccessful = FJsonSerializer::Deserialize( Reader, JsonManifestObj ); if ( bExecSuccessful && JsonManifestObj.IsValid() ) { bExecSuccessful = DeserializeInternal( JsonManifestObj.ToSharedRef(), Manifest ); } return bExecSuccessful; }
bool FJsonInternationalizationArchiveSerializer::DeserializeArchive( const FString& InStr, TSharedRef< FInternationalizationArchive > InternationalizationArchive ) { TSharedPtr< FJsonObject > JsonArchiveObj; TSharedRef< TJsonReader<> > Reader = TJsonReaderFactory<>::Create( InStr ); bool bExecSuccessful = FJsonSerializer::Deserialize( Reader, JsonArchiveObj ); if ( bExecSuccessful && JsonArchiveObj.IsValid() ) { bExecSuccessful = DeserializeInternal( JsonArchiveObj.ToSharedRef(), InternationalizationArchive ); } return bExecSuccessful; }
bool FJsonInternationalizationArchiveSerializer::DeserializeArchiveFromFile(const FString& InJsonFile, TSharedRef<FInternationalizationArchive> InArchive, TSharedPtr<const FInternationalizationManifest> InManifest, TSharedPtr<const FInternationalizationArchive> InNativeArchive) { // Read in file as string FString FileContents; if (!FFileHelper::LoadFileToString(FileContents, *InJsonFile)) { UE_LOG(LogInternationalizationArchiveSerializer, Error, TEXT("Failed to load archive '%s'."), *InJsonFile); return false; } // Parse as JSON TSharedPtr<FJsonObject> JsonObject; TSharedRef<TJsonReader<>> JsonReader = TJsonReaderFactory<>::Create(FileContents); if (!FJsonSerializer::Deserialize(JsonReader, JsonObject) || !JsonObject.IsValid()) { UE_LOG(LogInternationalizationArchiveSerializer, Error, TEXT("Failed to parse archive '%s'. %s."), *InJsonFile, *JsonReader->GetErrorMessage()); return false; } return DeserializeInternal(JsonObject.ToSharedRef(), InArchive, InManifest, InNativeArchive); }
bool Deserialize(const uchar *&data,uint &len_left,uint max_depth=8,uint max_memory=300*1024){ return DeserializeInternal(data,len_left,max_depth,max_memory);}
bool FJsonInternationalizationArchiveSerializer::DeserializeArchive(TSharedRef<FJsonObject> InJsonObj, TSharedRef<FInternationalizationArchive> InArchive, TSharedPtr<const FInternationalizationManifest> InManifest, TSharedPtr<const FInternationalizationArchive> InNativeArchive) { return DeserializeInternal(InJsonObj, InArchive, InManifest, InNativeArchive); }
bool FInternationalizationManifestJsonSerializer::DeserializeManifest( TSharedRef< FJsonObject > InJsonObj, TSharedRef< FInternationalizationManifest > Manifest ) { return DeserializeInternal( InJsonObj, Manifest ); }
bool AttributeContainer::Deserialize(const MEMBLOCK &memblock,uint max_depth,uint max_memory) { const uchar *data=(const uchar *)memblock.Ptr; uint len=memblock.Len; return DeserializeInternal(data,len,max_depth,max_memory); }
bool FJsonInternationalizationArchiveSerializer::DeserializeArchive( TSharedRef< FJsonObject > InJsonObj, TSharedRef< FInternationalizationArchive > InternationalizationArchive ) { return DeserializeInternal( InJsonObj, InternationalizationArchive ); }