// Copyright 2023 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef SERVICES_ON_DEVICE_MODEL_ML_CHROME_ML_H_ #define SERVICES_ON_DEVICE_MODEL_ML_CHROME_ML_H_ #include <memory> #include <optional> #include "base/component_export.h" #include "base/memory/raw_ptr.h" #include "base/scoped_native_library.h" #include "base/types/pass_key.h" #include "services/on_device_model/ml/chrome_ml_api.h" namespace ml { // A ChromeMLHolder object encapsulates a reference to the ChromeML shared // library, exposing the library's API functions to callers and ensuring that // the library remains loaded and usable throughout the object's lifetime. class COMPONENT_EXPORT(ON_DEVICE_MODEL_ML) ChromeMLHolder { … }; class COMPONENT_EXPORT(ON_DEVICE_MODEL_ML) ChromeML { … }; } // namespace ml #endif // SERVICES_ON_DEVICE_MODEL_ML_CHROME_ML_H_