1
0
Fork 0
flightgear/src/Add-ons/addon_fwd.hxx
Florent Rougon ec349c6ac5 Add-ons: add UrlType enum class, QualifiedUrl class and Addon::getUrls() method
QualifiedUrl is essentially a pair containing an enum value
(addons::UrlType::homePage, addons::UrlType::download, etc.) and an
std::string for the URL per se, with adequate getters and setters.

Addon::getUrls() is for people who wish to process all non-empty URLs
occurring as part of the add-on metadata in batch.

Mailing-list discussion:

  https://sourceforge.net/p/flightgear/mailman/message/36159711/
2017-12-26 19:44:15 +01:00

60 lines
1.5 KiB
C++

// -*- coding: utf-8 -*-
//
// addon_fwd.hxx --- Forward declarations for the FlightGear add-on
// infrastructure
// Copyright (C) 2017 Florent Rougon
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this program; if not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#ifndef FG_ADDON_FWD_HXX
#define FG_ADDON_FWD_HXX
#include <simgear/structure/SGSharedPtr.hxx>
namespace flightgear
{
namespace addons
{
class Addon;
class AddonManager;
class AddonVersion;
class AddonVersionSuffix;
enum class UrlType;
class QualifiedUrl;
using AddonRef = SGSharedPtr<Addon>;
using AddonVersionRef = SGSharedPtr<AddonVersion>;
namespace errors
{
class error;
class error_loading_config_file;
class no_metadata_file_found;
class error_loading_metadata_file;
class duplicate_registration_attempt;
class fg_version_too_old;
class fg_version_too_recent;
} // of namespace errors
} // of namespace addons
} // of namespace flightgear
#endif // of FG_ADDON_FWD_HXX