Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ArcaneMeshUtilsMain.cc
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
9#include "arcane/utils/ApplicationInfo.h"
10#include "arcane/utils/ITraceMng.h"
11#include "arcane/utils/Exception.h"
12
13#include "arcane/FactoryService.h"
14#include "arcane/CodeService.h"
15#include "arcane/impl/ArcaneMain.h"
16#include "arcane/impl/Session.h"
17
18using namespace Arcane;
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
27{
28 public:
29
32 {
33 _addExtension("msh");
34 }
35
36 public:
37
38 void build() {}
40 {
41 ISession* session = new Session(_application());
42 _application()->addSession(session);
43 return session;
44 }
45 bool parseArgs(StringList& args) override;
46};
47
48/*---------------------------------------------------------------------------*/
49/*---------------------------------------------------------------------------*/
50
53{
54 ARCANE_UNUSED(args);
55 ITraceMng* trace = _application()->traceMng();
56 trace->info() << "** PARSE ARGS";
57 return false;
58}
59
60/*---------------------------------------------------------------------------*/
61/*---------------------------------------------------------------------------*/
62
66
67/*---------------------------------------------------------------------------*/
68/*---------------------------------------------------------------------------*/
69
70int
71_mainHelper(int argc,char* argv[])
72{
73 int r = 0;
75 {
76 ApplicationInfo app_info(&argc,&argv,"ArcaneMeshUtils",VersionInfo(1,0,0));
78 }
80 return r;
81}
82
83/*---------------------------------------------------------------------------*/
84/*---------------------------------------------------------------------------*/
85
86int
87main(int argc,char* argv[])
88{
89 int r = 0;
90 int r2 = arcaneCallFunctionAndCatchException([&](){ r = _mainHelper(argc,argv); });
91 if (r2!=0)
92 return r2;
93 return r;
94}
95
96/*---------------------------------------------------------------------------*/
97/*---------------------------------------------------------------------------*/
#define ARCANE_REGISTER_APPLICATION_FACTORY(aclass, ainterface, aname)
Enregistre un service de fabrique pour la classe aclass.
Service de code pour les utilitaires de maillage.
bool parseArgs(StringList &args) override
Analyse les arguments de la ligne de commandes.
ISession * createSession() override
Crée une session.
Informations sur une application.
static int arcaneMain(const ApplicationInfo &app_info, IMainFactory *factory=nullptr)
Point d'entrée de l'exécutable dans Arcane.
static void arcaneInitialize()
Initialise Arcane.
static void arcaneFinalize()
Termine l'utilisation Arcane.
Classe abstraite d'un service de code.
Definition CodeService.h:44
virtual void addSession(ISession *session)=0
Ajoute la session session.
virtual ITraceMng * traceMng() const =0
Gestionnaire de traces.
Interface d'un chargeur de cas.
Interface d'une session d'exécution d'un cas.
Definition ISession.h:44
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Structure contenant les informations pour créer un service.
Session.
Definition Session.h:39
Informations sur une version.
Definition VersionInfo.h:46
Interface du gestionnaire de traces.
virtual TraceMessage info()=0
Flot pour un message d'information.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Integer arcaneCallFunctionAndCatchException(std::function< void()> function)