Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IItemFamilyPolicyMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* IItemFamilyPolicyMng.h (C) 2000-2016 */
9/* */
10/* Politiques d'une famille d'entités. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IITEMFAMILYPOLICYMNG_H
13#define ARCANE_IITEMFAMILYPOLICYMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22ARCANE_BEGIN_NAMESPACE
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30class IItemFamilyCompactPolicy;
31class IItemFamilyExchanger;
32class IItemFamilySerializer;
33class IItemFamilySerializeStepFactory;
34
35/*---------------------------------------------------------------------------*/
36/*---------------------------------------------------------------------------*/
37/*!
38 * \brief Interface des politiques d'une famille d'entités.
39 */
40class ARCANE_CORE_EXPORT IItemFamilyPolicyMng
41{
42 public:
43 virtual ~IItemFamilyPolicyMng() {}
44 public:
45 //! Politique de compactage
47 /*!
48 * \brief Créé une instance pour l'échange d'entités entre sous-domaines.
49 * L'instance retournée doit être détruite par l'opérateur delete.
50 */
52
53 /*!
54 * \brief Créé une instance pour la sérialisation des entités.
55 * L'instance retournée doit être détruite par l'opérateur delete.
56 *
57 * \a with_flags indique si on doit sérialiser la valeur de Item::flags().
58 * Cela n'est pas forcément supporté pour toutes les familles.
59 */
60 virtual IItemFamilySerializer* createSerializer(bool with_flags=false) =0;
61
62 /*!
63 * \brief Ajoute une fabrique pour une étape de la sérialisation.
64 *
65 * \a factory reste la propriété de l'appelant et ne doit pas être détruit
66 * tant que cette instance existe.
67 */
69
70 //! Supprime une fabrique pour une étape de la sérialisation.
72};
73
74/*---------------------------------------------------------------------------*/
75/*---------------------------------------------------------------------------*/
76
77ARCANE_END_NAMESPACE
78
79/*---------------------------------------------------------------------------*/
80/*---------------------------------------------------------------------------*/
81
82#endif
Fichier de configuration d'Arcane.
Politique de compactage des entités.
Interface des politiques d'une famille d'entités.
virtual IItemFamilySerializer * createSerializer(bool with_flags=false)=0
Créé une instance pour la sérialisation des entités. L'instance retournée doit être détruite par l'op...
virtual void removeSerializeStep(IItemFamilySerializeStepFactory *factory)=0
Supprime une fabrique pour une étape de la sérialisation.
virtual IItemFamilyCompactPolicy * compactPolicy()=0
Politique de compactage.
virtual void addSerializeStep(IItemFamilySerializeStepFactory *factory)=0
Ajoute une fabrique pour une étape de la sérialisation.
virtual IItemFamilyExchanger * createExchanger()=0
Créé une instance pour l'échange d'entités entre sous-domaines. L'instance retournée doit être détrui...
Fabrique pour créer une étape de la sérialisation des familles d'entités.
Gère la sérialisation/désérialisation des entités d'une famille.