/* * SPDX-License-Identifier: AGPL-3.0-or-later * Copyright (C) 2025 Sergej Görzen * This file is part of OmiLAXR. */ namespace OmiLAXR { /// /// Interface for components that extend DataProvider functionality through composition. /// Enables modular enhancement of data providers without inheritance or core modification. /// Extensions can add composers, hooks, and endpoints to existing data providers. /// public interface IDataProviderExtension { /// /// Gets the DataProvider instance that this extension is associated with. /// Used to access the extended DataProvider's functionality and state. /// /// The DataProvider instance being extended DataProvider GetDataProvider(); /// /// Extends the specified DataProvider with additional functionality. /// Called during initialization to register extension components with the target provider. /// /// The DataProvider to extend with additional capabilities void Extend(DataProvider dataProvider); } }