Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IExternalPlugin.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* IExternalPlugin.h (C) 2000-2024 */
9/* */
10/* Interface du service de plugin externes. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IEXTERNALPLUGIN_H
13#define ARCANE_CORE_IEXTERNALPLUGIN_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21// WARNING: Experimental API. Do not use outside of Arcane
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28/*!
29 * \brief Interface du service de chargement de services externes.
30 */
31class ARCANE_CORE_EXPORT IExternalPlugin
32{
33 public:
34
35 //! Libère les ressources
36 virtual ~IExternalPlugin() = default;
37
38 public:
39
40 //! Charge et exécute un fichier contenant un script externe
41 virtual void loadFile(const String& filename) = 0;
42
43 /*!
44 * \brief Exécute la fonction \a function_name.
45 *
46 * Il faut avoir chargé un script contenant cette fonction (via loadFile())
47 * avant d'appeler cette méthode. La méthode \a function_name ne doit pas
48 * avoir d'arguments.
49 */
50 virtual void executeFunction(const String& function_name) = 0;
51
52 /*!
53 * \brief Exécute la fonction \a function_name avec un contexte
54 *
55 * Il faut avoir chargé un script contenant cette fonction (via loadFile())
56 * avant d'appeler cette méthode. La méthode spécifiée doit prendre en
57 * argument une instance de PythonSubDomainContext.
58 */
59 virtual void executeContextFunction(const String& function_name) = 0;
60};
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
64
65} // namespace Arcane
66
67/*---------------------------------------------------------------------------*/
68/*---------------------------------------------------------------------------*/
69
70#endif
Déclarations des types généraux de Arcane.
Interface du service de chargement de services externes.
virtual void executeContextFunction(const String &function_name)=0
Exécute la fonction function_name avec un contexte.
virtual void loadFile(const String &filename)=0
Charge et exécute un fichier contenant un script externe.
virtual void executeFunction(const String &function_name)=0
Exécute la fonction function_name.
virtual ~IExternalPlugin()=default
Libère les ressources.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-