OpenTTD Source 20260208-master-g43af8e94d0
SlLinkgraphJobProxy Class Reference

Proxy to reuse LinkGraph to save/load a LinkGraphJob. More...

Inheritance diagram for SlLinkgraphJobProxy:
DefaultSaveLoadHandler< SlLinkgraphJobProxy, LinkGraphJob > SaveLoadHandler

Public Member Functions

SaveLoadTable GetDescription () const override
 Get the description of the fields in the savegame.
void Save (LinkGraphJob *lgj) const override
 Save the object to disk.
void Load (LinkGraphJob *lgj) const override
 Load the object from disk.
Public Member Functions inherited from DefaultSaveLoadHandler< SlLinkgraphJobProxy, LinkGraphJob >
SaveLoadCompatTable GetCompatDescription () const override
 Get the pre-header description of the fields in the savegame.
virtual void LoadCheck (LinkGraphJob *object) const
 Similar to load, but used only to validate savegames.
virtual void FixPointers (LinkGraphJob *object) const
 A post-load callback to fix SL_REF integers into pointers.
Public Member Functions inherited from SaveLoadHandler
virtual void Save (void *object) const
 Save the object to disk.
virtual void Load (void *object) const
 Load the object from disk.
virtual void LoadCheck (void *object) const
 Similar to load, but used only to validate savegames.
virtual void FixPointers (void *object) const
 A post-load callback to fix SL_REF integers into pointers.
SaveLoadTable GetLoadDescription () const
 Get the description for how to load the chunk.

Static Public Attributes

static const SaveLoad description [] = {{}}
static const SaveLoadCompatTable compat_description = _linkgraph_sl_compat

Additional Inherited Members

Data Fields inherited from SaveLoadHandler
std::optional< std::vector< SaveLoad > > load_description
 Description derived from savegame being loaded.

Detailed Description

Proxy to reuse LinkGraph to save/load a LinkGraphJob.

One of the members of a LinkGraphJob is a LinkGraph, but SLEG_STRUCT() doesn't allow us to select a member. So instead, we add a bit of glue to accept a LinkGraphJob, get the LinkGraph, and use that to call the save/load routines for a regular LinkGraph.

Definition at line 154 of file linkgraph_sl.cpp.

Member Function Documentation

◆ GetDescription()

SaveLoadTable SlLinkgraphJobProxy::GetDescription ( ) const
inlineoverridevirtual

Get the description of the fields in the savegame.

Returns
Save load description.

Reimplemented from DefaultSaveLoadHandler< SlLinkgraphJobProxy, LinkGraphJob >.

Definition at line 157 of file linkgraph_sl.cpp.

References GetLinkGraphDesc().

◆ Load()

void SlLinkgraphJobProxy::Load ( LinkGraphJob * object) const
inlineoverridevirtual

Load the object from disk.

Parameters
objectThe object to load.

Reimplemented from DefaultSaveLoadHandler< SlLinkgraphJobProxy, LinkGraphJob >.

Definition at line 165 of file linkgraph_sl.cpp.

References LinkGraphJob::Graph(), and SlObject().

◆ Save()

void SlLinkgraphJobProxy::Save ( LinkGraphJob * object) const
inlineoverridevirtual

Save the object to disk.

Parameters
objectThe object to store.

Reimplemented from DefaultSaveLoadHandler< SlLinkgraphJobProxy, LinkGraphJob >.

Definition at line 160 of file linkgraph_sl.cpp.

References LinkGraphJob::Graph(), and SlObject().

Field Documentation

◆ compat_description

const SaveLoadCompatTable SlLinkgraphJobProxy::compat_description = _linkgraph_sl_compat
inlinestatic

Definition at line 158 of file linkgraph_sl.cpp.

◆ description

const SaveLoad SlLinkgraphJobProxy::description[] = {{}}
inlinestatic

Definition at line 156 of file linkgraph_sl.cpp.


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