//
//  SmartTurnExtension.hpp
//  SwitchboardSmartTurn
//

#pragma once

#include <switchboard_smartturn/export.h>
#include <switchboard_core/Extension.hpp>

#if !defined(SWITCHBOARD_WEB)
extern "C" {
    void sb_extension_load();
}
#endif

namespace switchboard::extensions::smartturn {

class SWITCHBOARDSMARTTURN_EXPORT SmartTurnExtension final : public Extension {
public:
    SmartTurnExtension() = default;

    static void load();

    std::string getName();
    std::string getDescription() override;
    std::shared_ptr<NodeFactory> getNodeFactory();
};

} // namespace switchboard::extensions::smartturn
