wiRedPanda
Logic Circuit Simulator
Loading...
Searching...
No Matches
SerializationContext Struct Reference

Bundles all per-deserialization state so that load() overrides receive it through one explicit parameter instead of several globals. More...

#include <SerializationContext.h>

Public Attributes

QMap< QString, QByteArray > * blobRegistry = nullptr
 Blob registry for resolving embedded IC blobNames during deserialization.
QString contextDir = {}
 Directory of the .panda file (for relative path resolution).
int nextLocalId = 1
QHash< quint64, quint64 > oldPtrToSerialId = {}
QHash< quint64, Port * > & portMap
 Accumulated port-pointer map built during deserialization.
SerializationPurpose purpose
 What this deserialization is for; see SerializationPurpose.
QVersionNumber version
 File-format version read from the stream header.

Detailed Description

Bundles all per-deserialization state so that load() overrides receive it through one explicit parameter instead of several globals.

  • portMap — accumulated port-pointer map built during deserialization.
  • version — file-format version read from the stream header.
  • purpose — see SerializationPurpose; mandatory, no default.
  • contextDir — directory of the .panda file being loaded; used to resolve relative IC file paths and relative appearance-file paths.
  • oldPtrToSerialId — maps old pointer IDs (from pre-serialId files) to new serial IDs for backward compatibility.

Definition at line 61 of file SerializationContext.h.

Member Data Documentation

◆ blobRegistry

QMap<QString, QByteArray>* SerializationContext::blobRegistry = nullptr

Blob registry for resolving embedded IC blobNames during deserialization.

Definition at line 71 of file SerializationContext.h.

Referenced by Scene::deserializationContext(), and IC::load().

◆ contextDir

QString SerializationContext::contextDir = {}

Directory of the .panda file (for relative path resolution).

Definition at line 65 of file SerializationContext.h.

Referenced by AudioBox::load(), and IC::load().

◆ nextLocalId

int SerializationContext::nextLocalId = 1

Sequential counter used as the element-local basis for port serialId fallback (V4.1.9–V4.3 files that lack the serialId key). Incremented once per element.

Definition at line 69 of file SerializationContext.h.

◆ oldPtrToSerialId

QHash<quint64, quint64> SerializationContext::oldPtrToSerialId = {}

Legacy pointer-ID → serial-ID mapping.

Definition at line 66 of file SerializationContext.h.

Referenced by ConnectionSerializer::load().

◆ portMap

QHash<quint64, Port *>& SerializationContext::portMap

Accumulated port-pointer map built during deserialization.

Definition at line 62 of file SerializationContext.h.

Referenced by ConnectionSerializer::load(), and IC::load().

◆ purpose

SerializationPurpose SerializationContext::purpose

What this deserialization is for; see SerializationPurpose.

Definition at line 64 of file SerializationContext.h.

Referenced by AudioBox::load().

◆ version


The documentation for this struct was generated from the following file: