Skip to content

src/singleton/IComponentFactory.hpp

More...

Classes

Name
class IComponentFactory

Detailed Description

Date: 2024-02-23 Henrique A. Klein ([email protected])

Source code

#include <memory>
#include <boost/optional.hpp>
#include "singleton/IComponent.hpp"
#include "outcome/outcome.hpp"

class IComponentFactory
{
public:
    virtual ~IComponentFactory() = default;

    virtual void Register( std::shared_ptr<IComponent>               component,
                           const std::string                        &type,
                           const boost::optional<std::string> &variant ) = 0;

    virtual outcome::result<std::shared_ptr<IComponent>> GetComponent(
        const std::string &type, const boost::optional<std::string> &variant ) = 0;
};

Updated on 2026-03-04 at 13:10:45 -0800