The Battle for Wesnoth  1.15.0-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_infooperator= (const addon_info &o)
 
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...
 
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 version
 
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
 
unsigned order
 
bool local_only
 

Detailed Description

Definition at line 29 of file info.hpp.

Constructor & Destructor Documentation

◆ addon_info() [1/2]

addon_info::addon_info ( )
inline

Definition at line 69 of file info.hpp.

◆ addon_info() [2/2]

addon_info::addon_info ( const config cfg)
inlineexplicit

Definition at line 82 of file info.hpp.

References read().

Member Function Documentation

◆ 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 135 of file info.cpp.

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

Referenced by gui2::dialogs::addon_manager::on_addon_select(), operator=(), and 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 126 of file info.cpp.

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

Referenced by gui2::dialogs::addon_manager::execute_default_action(), gui2::dialogs::addon_manager::on_addon_select(), operator=(), gui2::addon_list::select_addon(), gui2::addon_list::select_first_addon(), gui2::addon_list::set_addons(), and gui2::dialogs::addon_manager::uninstall_addon().

◆ display_type()

std::string addon_info::display_type ( ) const

◆ operator=()

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

◆ 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 184 of file info.cpp.

References LOG_AC.

Referenced by addons_client::do_resolve_addon_dependencies(), and operator=().

◆ 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 116 of file info.cpp.

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

Referenced by addons_client::install_addon(), and operator=().

Member Data Documentation

◆ author

std::string addon_info::author

◆ core

std::string addon_info::core

Definition at line 50 of file info.hpp.

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

◆ created

std::time_t addon_info::created

Definition at line 58 of file info.hpp.

Referenced by gui2::dialogs::addon_manager::on_addon_select(), operator=(), read(), and write().

◆ depends

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

◆ description

std::string addon_info::description

Definition at line 33 of file info.hpp.

Referenced by gui2::dialogs::addon_manager::on_addon_select(), operator=(), read(), and write().

◆ downloads

int addon_info::downloads

◆ feedback_url

std::string addon_info::feedback_url

Definition at line 55 of file info.hpp.

Referenced by gui2::dialogs::addon_manager::on_addon_select(), operator=(), read(), and write().

◆ icon

std::string addon_info::icon

Definition at line 35 of file info.hpp.

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

◆ id

std::string addon_info::id

◆ local_only

bool addon_info::local_only

◆ locales

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

Definition at line 48 of file info.hpp.

Referenced by gui2::dialogs::addon_manager::on_addon_select(), operator=(), read(), and write().

◆ order

unsigned addon_info::order

Definition at line 63 of file info.hpp.

Referenced by operator=(), and read_addons_list().

◆ size

int addon_info::size

◆ tags

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

Definition at line 47 of file info.hpp.

Referenced by operator=(), read(), and write().

◆ title

std::string addon_info::title

◆ type

ADDON_TYPE addon_info::type

Definition at line 45 of file info.hpp.

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

◆ updated

std::time_t addon_info::updated

Definition at line 57 of file info.hpp.

Referenced by gui2::dialogs::addon_manager::on_addon_select(), operator=(), read(), and write().

◆ uploads

int addon_info::uploads

Definition at line 43 of file info.hpp.

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

◆ version

version_info addon_info::version

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