1//===----------------------------------------------------------------------===//
2// DuckDB
3//
4// duckdb/main/extension.hpp
5//
6//
7//===----------------------------------------------------------------------===//
8
9#pragma once
10
11#include "duckdb/common/common.hpp"
12#include "duckdb/common/winapi.hpp"
13
14namespace duckdb {
15class DuckDB;
16
17//! The Extension class is the base class used to define extensions
18class Extension {
19public:
20 DUCKDB_API virtual ~Extension();
21
22 DUCKDB_API virtual void Load(DuckDB &db) = 0;
23 DUCKDB_API virtual std::string Name() = 0;
24};
25
26} // namespace duckdb
27