Salome HOME
Move MEDCALC tests into SSL mode
[modules/med.git] / src / MEDCalc / cmp / MEDDataManager_i.hxx
index 5192fedb8ea95e3c148fb90dd0b10911fbb83c37..eddba2f1c52d65031fec336af33d740191214702 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D
+// Copyright (C) 2007-2022  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 #include "MEDCouplingRemapper.hxx"
 #include "MEDCouplingUMesh.hxx"
 #include "MEDCouplingFieldDouble.hxx"
-using namespace ParaMEDMEM;
+#include "MEDCouplingFieldFloat.hxx"
+using namespace MEDCoupling;
 
 /*! This map is used for lifecycle management of fields used in this operator */
 #include <map>
 #include <string>
-using namespace std;
 
-typedef map<long,MEDCALC::DatasourceHandler*> DatasourceHandlerMap;
-typedef map<long,MEDCALC::DatasourceHandler*>::iterator DatasourceHandlerMapIterator;
+typedef std::map<long,MEDCALC::DatasourceHandler*> DatasourceHandlerMap;
+typedef std::map<long,MEDCALC::DatasourceHandler*>::iterator DatasourceHandlerMapIterator;
 
-typedef map<long,MEDCALC::MeshHandler*> MeshHandlerMap;
-typedef map<long,MEDCALC::MeshHandler*>::iterator MeshHandlerMapIterator;
+typedef std::map<long,MEDCALC::MeshHandler*> MeshHandlerMap;
+typedef std::map<long,MEDCALC::MeshHandler*>::iterator MeshHandlerMapIterator;
 
-typedef map<long,MEDCALC::FieldseriesHandler*> FieldseriesHandlerMap;
-typedef map<long,MEDCALC::FieldseriesHandler*>::iterator FieldseriesHandlerMapIterator;
+typedef std::map<long,MEDCALC::FieldseriesHandler*> FieldseriesHandlerMap;
+typedef std::map<long,MEDCALC::FieldseriesHandler*>::iterator FieldseriesHandlerMapIterator;
 
-typedef map<long,MEDCALC::FieldHandler*> FieldHandlerMap;
-typedef map<long,MEDCALC::FieldHandler*>::iterator FieldHandlerMapIterator;
-typedef map<long,bool> FieldPersistencyMap;
-typedef map<long,bool>::iterator FieldPersistencyMapIterator;
+typedef std::map<long,MEDCALC::FieldHandler*> FieldHandlerMap;
+typedef std::map<long,MEDCALC::FieldHandler*>::iterator FieldHandlerMapIterator;
+typedef std::map<long,bool> FieldPersistencyMap;
+typedef std::map<long,bool>::iterator FieldPersistencyMapIterator;
 
-typedef map<long,MEDCouplingFieldDouble*> FieldDoubleMap;
-typedef map<long,MEDCouplingFieldDouble*>::iterator FieldDoubleMapIterator;
+typedef std::map<long,MEDCouplingFieldDouble*> FieldDoubleMap;
+typedef std::map<long,MEDCouplingFieldDouble*>::iterator FieldDoubleMapIterator;
 
-typedef map<long,MEDCouplingUMesh*> MeshMap;
-typedef map<long,MEDCouplingUMesh*>::iterator MeshMapIterator;
+typedef std::map<long,MEDCouplingUMesh*> MeshMap;
+typedef std::map<long,MEDCouplingUMesh*>::iterator MeshMapIterator;
 
 #include "MEDCALC.hxx"
-class MEDCALC_EXPORT MEDDataManager_i: public POA_MEDCALC::MEDDataManager,
+class MEDDataManager_i: public POA_MEDCALC::MEDDataManager,
                                        public SALOME::GenericObj_i
 {
 public:
@@ -69,43 +69,47 @@ public:
   //
   // -----------------------------------------------------------
   // Datasource management
-  MEDCALC::DatasourceHandler * loadDatasource(const char *filepath);
-  MEDCALC::DatasourceHandler * getDatasourceHandler(const char *filepath);
-  MEDCALC::DatasourceHandler * getDatasourceHandlerFromID(CORBA::Long sourceId);
+  MEDCALC_EXPORT MEDCALC::DatasourceHandler * loadDatasource(const char *filepath);
+  MEDCALC_EXPORT MEDCALC::DatasourceHandler * getDatasourceHandler(const char *filepath);
+  MEDCALC_EXPORT MEDCALC::DatasourceHandler * getDatasourceHandlerFromID(CORBA::Long sourceId);
 
   // -----------------------------------------------------------
   // Mesh management
-  MEDCALC::MeshHandlerList * getMeshList(CORBA::Long datasourceId);
-  MEDCALC::MeshHandler * getMesh(CORBA::Long meshId);
+  MEDCALC_EXPORT MEDCALC::MeshHandlerList * getMeshHandlerList(CORBA::Long datasourceId);
+  MEDCALC_EXPORT MEDCALC::MeshHandler * getMeshHandler(CORBA::Long meshId);
 
   // -----------------------------------------------------------
   // Field management
-  MEDCALC::FieldseriesHandlerList * getFieldseriesListOnMesh(CORBA::Long meshId);
-  MEDCALC::FieldHandlerList * getFieldListInFieldseries(CORBA::Long fieldseriesId);
+  MEDCALC_EXPORT MEDCALC::FieldseriesHandlerList * getFieldseriesListOnMesh(CORBA::Long meshId);
+  MEDCALC_EXPORT MEDCALC::FieldHandlerList * getFieldListInFieldseries(CORBA::Long fieldseriesId);
 
-  MEDCALC::FieldHandler *     getFieldHandler(CORBA::Long fieldHandlerId);
-  char *                    getFieldRepresentation(CORBA::Long fieldHandlerId);
-  MEDCALC::FieldHandlerList * getFieldHandlerList();
+  MEDCALC_EXPORT CORBA::Long getFieldIdAtTimestamp(CORBA::Long fieldseriesId, double timestamp);
 
-  void                      saveFields(const char * filepath,
+  MEDCALC_EXPORT MEDCALC::FieldHandler *     getFieldHandler(CORBA::Long fieldHandlerId);
+  MEDCALC_EXPORT char *                    getFieldRepresentation(CORBA::Long fieldHandlerId);
+  MEDCALC_EXPORT MEDCALC::FieldHandlerList * getFieldHandlerList();
+
+  MEDCALC_EXPORT void      saveFields(const char * filepath,
                                        const MEDCALC::FieldIdList & fieldIdList);
-  void                      markAsPersistent(CORBA::Long fieldHandlerId, bool persistent);
-  void                      savePersistentFields(const char * filepath);
+  MEDCALC_EXPORT void      markAsPersistent(CORBA::Long fieldHandlerId, bool persistent);
+  MEDCALC_EXPORT void      savePersistentFields(const char * filepath);
 
 
-  void updateFieldMetadata(CORBA::Long  fieldHandlerId,
+  MEDCALC_EXPORT void updateFieldMetadata(CORBA::Long  fieldHandlerId,
                            const char * fieldname,
                            CORBA::Long  iteration,
                            CORBA::Long  order,
                            const char * source);
 
-  void changeUnderlyingMesh(CORBA::Long fieldHandlerId, CORBA::Long meshHandlerId);
-  MEDCALC::FieldHandler* interpolateField(CORBA::Long fieldHandlerId, CORBA::Long meshHandlerId, const MEDCALC::InterpolationParameters& params);
+  MEDCALC_EXPORT void changeUnderlyingMesh(CORBA::Long fieldHandlerId, CORBA::Long meshHandlerId);
+  MEDCALC_EXPORT MEDCALC::FieldHandler* interpolateField(CORBA::Long fieldHandlerId, CORBA::Long meshHandlerId, const MEDCALC::InterpolationParameters& params);
+
+  MEDCALC_EXPORT void   setEventListenerIOR(const char * ior);
+  MEDCALC_EXPORT char * getEventListenerIOR();
 
-  void   setEventListenerIOR(const char * ior);
-  char * getEventListenerIOR();
+  MEDCALC_EXPORT void serverlog();
 
-  void serverlog();
+  MEDCALC_EXPORT void cleanUp();
 
   //
   // ===========================================================
@@ -113,10 +117,10 @@ public:
   // ===========================================================
   //
   static long LONG_UNDEFINED;
-  static MEDDataManager_i * getInstance();
-  MEDCouplingFieldDouble *  getFieldDouble(const MEDCALC::FieldHandler * fieldHandler);
-  MEDCALC::FieldHandler *     addField(MEDCouplingFieldDouble * fieldDouble,
-                                       long meshHandlerId=LONG_UNDEFINED);
+  MEDCALC_EXPORT static MEDDataManager_i * getInstance();
+  MEDCALC_EXPORT MEDCouplingFieldDouble *  getFieldDouble(const MEDCALC::FieldHandler * fieldHandler);
+  MEDCALC_EXPORT MEDCALC::FieldHandler *     addField(MEDCouplingFieldDouble * fieldDouble,
+                                                      long meshHandlerId=LONG_UNDEFINED);
 
 private:
   MEDDataManager_i();
@@ -138,7 +142,7 @@ private:
   MeshMap _meshMap;
   FieldPersistencyMap _fieldPersistencyMap;
 
-  string _medEventListenerIOR;
+  std::string _medEventListenerIOR;
 
   MEDCALC::FieldHandler * newFieldHandler(const char * fieldname,
                                           const char * meshname,
@@ -155,13 +159,16 @@ private:
 
   std::string  file_to_source(const char * filepath);
   std::string  source_to_file(const char * source);
+  bool isSourceInFile(const char * sourceName);
   long getDatasourceId(const char *filepath);
 
   MEDCouplingUMesh * getUMesh(long meshHandlerId);
   long getUMeshId(const MEDCouplingMesh * mesh);
 
+  double getFieldTimestamp(CORBA::Long fieldHandlerId);
+
   INTERP_KERNEL::IntersectionType _getIntersectionType(const char* intersType);
-  ParaMEDMEM::NatureOfField _getNatureOfField(const char* fieldNature);
+  MEDCoupling::NatureOfField _getNatureOfField(const char* fieldNature);
 
 };