OpenTTD Source: ContentInfo Struct Reference

OpenTTD Source 1.11.0-RC1

Public Types | Public Member Functions | Data Fields
ContentInfo Struct Reference

Container for all important information about a piece of content. More...

`#include <tcp_content.h>`

## Public Types
enum | State { UNSELECTED, SELECTED, AUTOSELECTED, ALREADY_HERE, DOES_NOT_EXIST, INVALID }
| The state the content can be in. More...

## Public Member Functions
| ContentInfo ()
| Clear everything in the struct.
| ~ContentInfo ()
| Free everything allocated.
void | TransferFrom (ContentInfo *other)
| Copy data from other ContentInfo and take ownership of allocated stuff. More...
size_t | Size () const
| Get the size of the data as send over the network. More...
bool | IsSelected () const
| Is the state either selected or autoselected? More...
bool | IsValid () const
| Is the information from this content info valid? More...
const char * | GetTextfile (TextfileType type) const
| Search a textfile file next to this file in the content list. More...

## Data Fields
ContentType | type
| Type of content.
ContentID | id
| Unique (server side) ID for the content.
uint32 | filesize
| Size of the file.
char | filename [48]
| Filename (for the .tar.gz; only valid on download)
char | name [32]
| Name of the content.
char | version [16]
| Version of the content.
char | url [96]
| URL related to the content.
char | description [512]
| Description of the content.
uint32 | unique_id
| Unique ID; either GRF ID or shortname.
byte | md5sum [16]
| The MD5 checksum.
uint8 | dependency_count
| Number of dependencies.
ContentID * | dependencies
| Malloced array of dependencies (unique server side ids)
uint8 | tag_count
| Number of tags.
char(* | tags )[32]
| Malloced array of tags (strings)
State | state
| Whether the content info is selected (for download)
bool | upgrade
| This item is an upgrade.

## Detailed Description

Container for all important information about a piece of content.

Definition at line 54 of file tcp_content.h.

## Member Enumeration Documentation

## ◆ State

enum ContentInfo::State

The state the content can be in.

Enumerator
UNSELECTED | The content has not been selected.
SELECTED | The content has been manually selected.
AUTOSELECTED | The content has been selected as dependency.
ALREADY_HERE | The content is already at the client side.
DOES_NOT_EXIST | The content does not exist in the content system.
INVALID | The content's invalid.

Definition at line 56 of file tcp_content.h.

## Member Function Documentation

## ◆ GetTextfile()

const char * ContentInfo::GetTextfile | ( | TextfileType | type | ) | const

Search a textfile file next to this file in the content list.

Parameters

  type | The type of the textfile to search for.

Returns
  The filename for the textfile, `nullptr` otherwise.

Definition at line 101 of file tcp_content.cpp.

References INVALID, and state.

## ◆ IsSelected()

bool ContentInfo::IsSelected | ( |  | ) | const

Is the state either selected or autoselected?

Returns
  true iff that's the case

Definition at line 73 of file tcp_content.cpp.

References ALREADY_HERE, AUTOSELECTED, SELECTED, and state.

Referenced by ClientNetworkContentSocketHandler::CheckDependencyState(), NetworkContentListWindow::OnReceiveContentInfo(), and ClientNetworkContentSocketHandler::Unselect().

## ◆ IsValid()

bool ContentInfo::IsValid | ( |  | ) | const

Is the information from this content info valid?

Returns
  true iff it's valid

Definition at line 90 of file tcp_content.cpp.

References CONTENT_TYPE_BEGIN, CONTENT_TYPE_END, INVALID, state, and type.

Referenced by ClientNetworkContentSocketHandler::BeforeDownload(), and ClientNetworkContentSocketHandler::Receive_SERVER_INFO().

## ◆ Size()

size_t ContentInfo::Size | ( |  | ) | const

Get the size of the data as send over the network.

Returns
  the size.

Definition at line 57 of file tcp_content.cpp.

References dependencies, dependency_count, tag_count, and tags.

## ◆ TransferFrom()

void ContentInfo::TransferFrom | ( | ContentInfo * | other | ) |

Copy data from other ContentInfo and take ownership of allocated stuff.

Parameters

  other | Source to copy from. dependencies and tags will be NULLed.

Definition at line 42 of file tcp_content.cpp.

References dependencies, free(), and tags.

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

- src/network/core/tcp_content.h
- src/network/core/tcp_content.cpp