13#ifndef ARCANE_UTILS_FLEXLMTOOLS_H_
14#define ARCANE_UTILS_FLEXLMTOOLS_H_
19#include "arcane/ArcaneVersion.h"
20#include "arcane/utils/String.h"
21#include "arcane/utils/Exception.h"
33class IParallelSuperMng;
53 virtual void explain(std::ostream& m)
const;
54 virtual void write(std::ostream& o)
const;
97 void setCheckInterval(
const Integer
t = 120);
103 bool checkLicense(
const String name,
const Real version,
bool do_fatal =
true)
const;
118 void releaseAllLicenses();
121 String featureInfo(
const String name,
const Real version)
const;
125 typedef std::map<String, Integer> FeatureMapType;
126 FeatureMapType m_features;
136template <
typename FeatureModel>
154 const Real version = FeatureModel::getVersion(
feature);
155 return FlexLMMng::instance()->checkLicense(name, version,
do_fatal);
164 return FlexLMMng::instance()->checkLicense(name, version,
do_fatal);
172 const Real version = FeatureModel::getVersion(
feature);
173 return FlexLMMng::instance()->getLicense(name, version,
nb_licenses);
181 return FlexLMMng::instance()->releaseLicense(name,
nb_licenses);
188 const Real version = FeatureModel::getVersion(
feature);
189 return FlexLMMng::instance()->featureInfo(name, version);
207 return m_arcane_feature_name[
feature];
210 static Real getVersion(eFeature
feature)
219 static const String m_arcane_feature_name[];
virtual ~FlexLMMng()
Destructeur.
bool m_is_master
Cet host est il le maître des contrôles ?
Classe abstraite du superviseur de parallélisme.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Classe de base d'une exception.
virtual void explain(std::ostream &o) const
Explique la cause de l'exception dans le flot o.
Chaîne de caractères unicode.