OpenTTD
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.
 
ContentIDdependencies
 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 58 of file tcp_content.h.

Member Enumeration Documentation

◆ 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 60 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
typeThe type of the textfile to search for.
Returns
The filename for the textfile, NULL otherwise.

Definition at line 105 of file tcp_content.cpp.

References INVALID, and state.

◆ IsSelected()

bool ContentInfo::IsSelected ( ) const

◆ IsValid()

bool ContentInfo::IsValid ( ) const

Is the information from this content info valid?

Returns
true iff it's valid

Definition at line 94 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 61 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
otherSource to copy from. dependencies and tags will be NULLed.

Definition at line 46 of file tcp_content.cpp.

References dependencies, free(), and tags.

Referenced by ClientNetworkContentSocketHandler::Receive_SERVER_INFO().


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