The Battle for Wesnoth  1.17.21+dev
Public Member Functions | Public Attributes | List of all members
addon_info Struct Reference

#include <info.hpp>

Public Member Functions

 addon_info ()
 
 addon_info (const config &cfg)
 
 addon_info (const addon_info &)=default
 
addon_infooperator= (const addon_info &o)=default
 
void read (const config &cfg)
 
void write (config &cfg) const
 
void write_minimal (config &cfg) const
 Write only minimal WML used for state tracking (_info.cfg) files. More...
 
std::string display_title () const
 Get a title or automatic title for display. More...
 
addon_info_translation translated_info () const
 
std::string display_title_translated () const
 
std::string display_title_translated_or_original () const
 
std::string display_title_full () const
 
std::string description_translated () const
 
std::string display_icon () const
 Get an icon path fixed for display (e.g. More...
 
std::string display_type () const
 Get an add-on type identifier for display in the user's language. More...
 
std::set< std::string > resolve_dependencies (const addons_list &addons) const
 Resolve an add-on's dependency tree in a recursive fashion. More...
 

Public Attributes

std::string id
 
std::string title
 
std::string description
 
std::string icon
 
version_info current_version
 
std::set< version_info, std::greater< version_info > > versions
 
std::string author
 
int size
 
int downloads
 
int uploads
 
ADDON_TYPE type
 
std::vector< std::string > tags
 
std::vector< std::string > locales
 
std::string core
 
std::vector< std::string > depends
 
std::string feedback_url
 
std::time_t updated
 
std::time_t created
 
bool local_only
 
std::map< std::string, addon_info_translationinfo_translations
 

Detailed Description

Definition at line 74 of file info.hpp.

Constructor & Destructor Documentation

◆ addon_info() [1/3]

addon_info::addon_info ( )
inline

Definition at line 112 of file info.hpp.

◆ addon_info() [2/3]

addon_info::addon_info ( const config cfg)
inlineexplicit

Definition at line 125 of file info.hpp.

References read().

◆ addon_info() [3/3]

addon_info::addon_info ( const addon_info )
default

Member Function Documentation

◆ description_translated()

std::string addon_info::description_translated ( ) const

Definition at line 213 of file info.cpp.

References description, lg::info(), and translated_info().

◆ display_icon()

std::string addon_info::display_icon ( ) const

Get an icon path fixed for display (e.g.

when TC is missing, or the image doesn't exist).

Definition at line 232 of file info.cpp.

References ERR_AC, image::exists(), icon, and LOG_AC.

Referenced by gui2::addon_list::set_addons().

◆ display_title()

std::string addon_info::display_title ( ) const

Get a title or automatic title for display.

If the real title is empty, the returned value is the id with underscores replaced with blanks.

Todo:
FIXME: Is it even possible for the add-ons server to provide untitled add-ons in its reply anymore? Titles seem to be required at upload time.

Definition at line 155 of file info.cpp.

References font::escape_text(), make_addon_title(), and title.

Referenced by display_title_full(), gui2::addon_list::display_title_full_shift(), and display_title_translated_or_original().

◆ display_title_full()

std::string addon_info::display_title_full ( ) const

◆ display_title_translated()

std::string addon_info::display_title_translated ( ) const

◆ display_title_translated_or_original()

std::string addon_info::display_title_translated_or_original ( ) const

Definition at line 207 of file info.cpp.

References display_title(), display_title_translated(), and title.

◆ display_type()

std::string addon_info::display_type ( ) const

Get an add-on type identifier for display in the user's language.

Definition at line 249 of file info.cpp.

References _(), ADDON_CORE, ADDON_MEDIA, ADDON_MOD, ADDON_MP_CAMPAIGN, ADDON_MP_ERA, ADDON_MP_FACTION, ADDON_MP_MAPS, ADDON_MP_SCENARIO, ADDON_OTHER, ADDON_SP_CAMPAIGN, ADDON_SP_MP_CAMPAIGN, ADDON_SP_SCENARIO, and type.

Referenced by gui2::addon_list::set_addons().

◆ operator=()

addon_info& addon_info::operator= ( const addon_info o)
default

◆ read()

void addon_info::read ( const config cfg)

◆ resolve_dependencies()

std::set< std::string > addon_info::resolve_dependencies ( const addons_list addons) const

Resolve an add-on's dependency tree in a recursive fashion.

The returned vector contains the list of resolved dependencies for this and any other add-ons upon which it depends.

Parameters
addonsThe add-ons list.
Todo:
Tag resolved dependencies with information about where they come from, and implement more dependency tiers.

Definition at line 281 of file info.cpp.

References LOG_AC.

Referenced by addons_client::do_resolve_addon_dependencies().

◆ translated_info()

addon_info_translation addon_info::translated_info ( ) const

◆ write()

void addon_info::write ( config cfg) const

◆ write_minimal()

void addon_info::write_minimal ( config cfg) const

Write only minimal WML used for state tracking (_info.cfg) files.

This currently only includes the add-on type, upload count, title, and version number.

Parameters
cfgTarget WML config object.

Definition at line 145 of file info.cpp.

References core, current_version, depends, get_addon_type_string(), utils::join(), version_info::str(), title, type, and uploads.

Member Data Documentation

◆ author

std::string addon_info::author

Definition at line 85 of file info.hpp.

Referenced by read(), gui2::addon_list::set_addons(), and write().

◆ core

std::string addon_info::core

Definition at line 96 of file info.hpp.

Referenced by read(), write(), and write_minimal().

◆ created

std::time_t addon_info::created

Definition at line 104 of file info.hpp.

Referenced by read(), and write().

◆ current_version

version_info addon_info::current_version

◆ depends

std::vector<std::string> addon_info::depends

Definition at line 98 of file info.hpp.

Referenced by read(), write(), and write_minimal().

◆ description

std::string addon_info::description

Definition at line 78 of file info.hpp.

Referenced by description_translated(), read(), and write().

◆ downloads

int addon_info::downloads

Definition at line 88 of file info.hpp.

Referenced by read(), gui2::addon_list::set_addons(), and write().

◆ feedback_url

std::string addon_info::feedback_url

Definition at line 101 of file info.hpp.

Referenced by read(), and write().

◆ icon

std::string addon_info::icon

Definition at line 80 of file info.hpp.

Referenced by display_icon(), read(), and write().

◆ id

std::string addon_info::id

◆ info_translations

std::map<std::string, addon_info_translation> addon_info::info_translations

Definition at line 110 of file info.hpp.

Referenced by read(), translated_info(), and write().

◆ local_only

bool addon_info::local_only

Definition at line 108 of file info.hpp.

Referenced by get_addon_tracking_info(), and read().

◆ locales

std::vector<std::string> addon_info::locales

Definition at line 94 of file info.hpp.

Referenced by read().

◆ size

int addon_info::size

Definition at line 87 of file info.hpp.

Referenced by read(), gui2::addon_list::set_addons(), and write().

◆ tags

std::vector<std::string> addon_info::tags

Definition at line 93 of file info.hpp.

Referenced by read(), and write().

◆ title

std::string addon_info::title

◆ type

ADDON_TYPE addon_info::type

Definition at line 91 of file info.hpp.

Referenced by display_type(), read(), write(), and write_minimal().

◆ updated

std::time_t addon_info::updated

Definition at line 103 of file info.hpp.

Referenced by read(), and write().

◆ uploads

int addon_info::uploads

Definition at line 89 of file info.hpp.

Referenced by read(), write(), and write_minimal().

◆ versions

std::set<version_info, std::greater<version_info> > addon_info::versions

Definition at line 83 of file info.hpp.

Referenced by get_addon_tracking_info(), read(), gui2::addon_list::set_addons(), and write().


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