The Battle for Wesnoth  1.13.10+dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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 > locales
 
std::string core
 
std::vector< std::string > depends
 
std::string feedback_url
 
time_t updated
 
time_t created
 
unsigned order
 
bool local_only
 

Detailed Description

Definition at line 29 of file info.hpp.

Constructor & Destructor Documentation

addon_info::addon_info ( )
inline

Definition at line 68 of file info.hpp.

addon_info::addon_info ( const config cfg)
inlineexplicit

Definition at line 81 of file info.hpp.

References read().

Member Function Documentation

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

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

Referenced by gui2::dialogs::addon_manager::on_addon_select(), and gui2::addon_list::set_addons().

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 123 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(), gui2::addon_list::select_first_addon(), gui2::addon_list::set_addons(), and gui2::dialogs::addon_manager::uninstall_addon().

std::string addon_info::display_type ( ) const
addon_info& addon_info::operator= ( const addon_info o)
inline
void addon_info::read ( const config cfg)
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 181 of file info.cpp.

References LOG_AC.

Referenced by addons_client::do_resolve_addon_dependencies().

void addon_info::write ( config cfg) const
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 113 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().

Member Data Documentation

std::string addon_info::author
std::string addon_info::core

Definition at line 49 of file info.hpp.

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

time_t addon_info::created

Definition at line 57 of file info.hpp.

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

std::vector<std::string> addon_info::depends
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().

int addon_info::downloads
std::string addon_info::feedback_url

Definition at line 54 of file info.hpp.

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

std::string addon_info::icon

Definition at line 35 of file info.hpp.

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

std::string addon_info::id
bool addon_info::local_only
std::vector<std::string> addon_info::locales

Definition at line 47 of file info.hpp.

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

unsigned addon_info::order

Definition at line 62 of file info.hpp.

Referenced by operator=().

int addon_info::size
std::string addon_info::title
ADDON_TYPE addon_info::type

Definition at line 45 of file info.hpp.

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

time_t addon_info::updated

Definition at line 56 of file info.hpp.

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

int addon_info::uploads

Definition at line 43 of file info.hpp.

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

version_info addon_info::version

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