OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
openswmm::gpkg::GeoPackagePluginInfo Class Reference

IPluginComponentInfo for the GeoPackage I/O plugin. More...

#include <GeoPackagePluginInfo.hpp>

Inheritance diagram for openswmm::gpkg::GeoPackagePluginInfo:
Collaboration diagram for openswmm::gpkg::GeoPackagePluginInfo:

Public Member Functions

std::string id () const override
 Copy plugin id metadata.
 
std::string caption () const override
 Copy plugin caption metadata.
 
std::string description () const override
 Copy plugin description metadata.
 
std::string version () const override
 Copy plugin version metadata.
 
std::string vendor () const override
 Copy plugin vendor metadata.
 
std::string url () const override
 Copy plugin url metadata.
 
std::vector< std::string > tags () const override
 Copy discovery/search tags.
 
std::string license_type () const override
 Copy plugin license type metadata.
 
std::string license_text () const override
 Copy plugin license text metadata.
 
bool has_input () const noexcept override
 Advertise the built-in GeoPackage input factory.
 
bool has_output () const noexcept override
 Advertise the built-in GeoPackage output factory.
 
bool has_report () const noexcept override
 Advertise the built-in GeoPackage report factory.
 
std::vector< FileFilter > file_filters () const override
 Copy file-filter advertisements for all three GeoPackage IO roles.
 
IInputPlugin * create_input_plugin () const override
 Allocate a fresh GeoPackage input plugin instance.
 
IOutputPlugin * create_output_plugin () const override
 Allocate a fresh GeoPackage output plugin instance.
 
IReportPlugin * create_report_plugin () const override
 Allocate a fresh GeoPackage report plugin instance.
 
bool register_plugin (const RegistrationInfo &info) override
 Copy supplied registration metadata and mark the singleton registered.
 
bool registered () const noexcept override
 Read the stored metadata-registration flag.
 
RegistrationInfo registration_info () const override
 Copy stored registration metadata.
 
- Public Member Functions inherited from openswmm::IPluginComponentInfo
virtual ~IPluginComponentInfo ()=default
 Destroy component metadata only through its owning library/host lifetime. PluginFactory borrows singleton metadata and does not delete it as an instance. Keep library loaded until all created plugin instances/callbacks are destroyed; base destructor performs no instance cleanup, registration or library unloading.
 
virtual bool has_state_io () const noexcept
 Query whether this component advertises the state_io capability.
 
virtual IStateIOPlugin * create_state_io_plugin () const
 Allocate a distinct state_io plugin instance when supported and permitted.
 

Static Public Member Functions

static GeoPackagePluginInfo & instance ()
 Borrow the process-local GeoPackage metadata singleton.
 

Detailed Description

IPluginComponentInfo for the GeoPackage I/O plugin.

Singleton — obtain via GeoPackagePluginInfo::instance(). The PluginFactory discovers this through the exported C function openswmm_plugin_info().

Member Function Documentation

◆ caption()

std::string openswmm::gpkg::GeoPackagePluginInfo::caption ( ) const
inlineoverridevirtual

Copy plugin caption metadata.

Returns
Independent owned string. Human-readable GeoPackage I/O Plugin caption.

Implements openswmm::IPluginComponentInfo.

◆ create_input_plugin()

IInputPlugin * openswmm::gpkg::GeoPackagePluginInfo::create_input_plugin ( ) const
overridevirtual

Allocate a fresh GeoPackage input plugin instance.

Does not inspect registered_ or open a database; allocation failure propagates.

Returns
New caller-owned plugin; delete through its interface after finalization/cleanup.

Reimplemented from openswmm::IPluginComponentInfo.

◆ create_output_plugin()

IOutputPlugin * openswmm::gpkg::GeoPackagePluginInfo::create_output_plugin ( ) const
overridevirtual

Allocate a fresh GeoPackage output plugin instance.

Does not inspect registered_ or open a database; allocation failure propagates.

Returns
New caller-owned plugin; delete through its interface after finalization/cleanup.

Reimplemented from openswmm::IPluginComponentInfo.

◆ create_report_plugin()

IReportPlugin * openswmm::gpkg::GeoPackagePluginInfo::create_report_plugin ( ) const
overridevirtual

Allocate a fresh GeoPackage report plugin instance.

Does not inspect registered_ or open a database; allocation failure propagates.

Returns
New caller-owned plugin; delete through its interface after finalization/cleanup.

Reimplemented from openswmm::IPluginComponentInfo.

◆ description()

std::string openswmm::gpkg::GeoPackagePluginInfo::description ( ) const
inlineoverridevirtual

Copy plugin description metadata.

Returns
Independent owned string. Human-readable plugin capability description.

Implements openswmm::IPluginComponentInfo.

◆ file_filters()

std::vector< FileFilter > openswmm::gpkg::GeoPackagePluginInfo::file_filters ( ) const
inlineoverridevirtual

Copy file-filter advertisements for all three GeoPackage IO roles.

Does not inspect files or bind a particular model/database.

Returns
Owned filters for INPUT_READ/OUTPUT_WRITE/REPORT_WRITE using *.gpkg and application/geopackage+sqlite3.

Reimplemented from openswmm::IPluginComponentInfo.

◆ has_input()

bool openswmm::gpkg::GeoPackagePluginInfo::has_input ( ) const
inlineoverridevirtualnoexcept

Advertise the built-in GeoPackage input factory.

Returns
Always true, regardless of registration status or destination availability.

Reimplemented from openswmm::IPluginComponentInfo.

◆ has_output()

bool openswmm::gpkg::GeoPackagePluginInfo::has_output ( ) const
inlineoverridevirtualnoexcept

Advertise the built-in GeoPackage output factory.

Returns
Always true, regardless of registration status or destination availability.

Reimplemented from openswmm::IPluginComponentInfo.

◆ has_report()

bool openswmm::gpkg::GeoPackagePluginInfo::has_report ( ) const
inlineoverridevirtualnoexcept

Advertise the built-in GeoPackage report factory.

Returns
Always true, regardless of registration status or destination availability.

Reimplemented from openswmm::IPluginComponentInfo.

◆ id()

std::string openswmm::gpkg::GeoPackagePluginInfo::id ( ) const
inlineoverridevirtual

Copy plugin id metadata.

Returns
Independent owned string. Stable plugin identifier org.hydrocouple.openswmm.plugins.geopackage.

Implements openswmm::IPluginComponentInfo.

◆ instance()

static GeoPackagePluginInfo & openswmm::gpkg::GeoPackagePluginInfo::instance ( )
inlinestatic

Borrow the process-local GeoPackage metadata singleton.

Function-local construction is thread-safe; registration mutation is not synchronized.

Returns
Singleton reference, valid until static destruction; callers do not delete it.
Here is the caller graph for this function:

◆ license_text()

std::string openswmm::gpkg::GeoPackagePluginInfo::license_text ( ) const
inlineoverridevirtual

Copy plugin license text metadata.

Returns
Independent owned string. Short copyright/license notice; complete terms remain in LICENSE/NOTICE.

Implements openswmm::IPluginComponentInfo.

◆ license_type()

std::string openswmm::gpkg::GeoPackagePluginInfo::license_type ( ) const
inlineoverridevirtual

Copy plugin license type metadata.

Returns
Independent owned string. Apache-2.0 SPDX license identifier.

Implements openswmm::IPluginComponentInfo.

◆ register_plugin()

bool openswmm::gpkg::GeoPackagePluginInfo::register_plugin ( const RegistrationInfo & info)
overridevirtual

Copy supplied registration metadata and mark the singleton registered.

Caller serializes registration reads/writes. Copy/allocation exceptions propagate; plugin factory methods do not consult registered_.

Parameters
[in]infoBorrowed registration record copied verbatim, including empty or unverified fields.
Returns
Always true after a successful copy; does not validate credentials or enforce a license gate.

Reimplemented from openswmm::IPluginComponentInfo.

Here is the caller graph for this function:

◆ registered()

bool openswmm::gpkg::GeoPackagePluginInfo::registered ( ) const
inlineoverridevirtualnoexcept

Read the stored metadata-registration flag.

Returns
False initially and true after register_plugin() completes; no credential verification is implied.

Reimplemented from openswmm::IPluginComponentInfo.

Here is the caller graph for this function:

◆ registration_info()

RegistrationInfo openswmm::gpkg::GeoPackagePluginInfo::registration_info ( ) const
inlineoverridevirtual

Copy stored registration metadata.

Returns
Owned record copy, initially default-constructed; allocation can throw.

Reimplemented from openswmm::IPluginComponentInfo.

◆ tags()

std::vector< std::string > openswmm::gpkg::GeoPackagePluginInfo::tags ( ) const
inlineoverridevirtual

Copy discovery/search tags.

Returns
Owned vector of lowercase metadata tags; does not probe runtime capability.

Reimplemented from openswmm::IPluginComponentInfo.

◆ url()

std::string openswmm::gpkg::GeoPackagePluginInfo::url ( ) const
inlineoverridevirtual

Copy plugin url metadata.

Returns
Independent owned string. Project metadata URL; this method performs no network request.

Implements openswmm::IPluginComponentInfo.

◆ vendor()

std::string openswmm::gpkg::GeoPackagePluginInfo::vendor ( ) const
inlineoverridevirtual

Copy plugin vendor metadata.

Returns
Independent owned string. HydroCouple vendor label.

Implements openswmm::IPluginComponentInfo.

◆ version()

std::string openswmm::gpkg::GeoPackagePluginInfo::version ( ) const
inlineoverridevirtual

Copy plugin version metadata.

Returns
Independent owned string. Metadata version string 1.0.0, not the engine or GeoPackage schema version.

Implements openswmm::IPluginComponentInfo.


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