-// Copyright (C) 2011-2016 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2024 CEA, EDF
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include CORBA_SERVER_HEADER(HOMARD_YACS)
#include CORBA_CLIENT_HEADER(SALOMEDS)
#include CORBA_CLIENT_HEADER(SALOMEDS_Attributes)
+#include CORBA_CLIENT_HEADER(SALOME_ModuleCatalog)
+#include CORBA_CLIENT_HEADER(SMESH_Gen)
#include "HOMARD_i.hxx"
#include "HOMARD_Gen.hxx"
#include <string>
#include <map>
-class HOMARDENGINE_EXPORT HOMARD_Gen_i:
- public virtual Engines_Component_i,
- public virtual POA_HOMARD::HOMARD_Gen
+class HOMARDENGINE_EXPORT HOMARD_Gen_i : public Engines_Component_i, public POA_HOMARD::HOMARD_Gen
{
public:
HOMARD_Gen_i( CORBA::ORB_ptr orb,
PortableServer::POA_ptr poa,
PortableServer::ObjectId* contId,
const char* instanceName,
- const char* interfaceName );
+ const char* interfaceName,
+ bool checkNS);
virtual ~HOMARD_Gen_i();
HOMARD::HOMARD_Iteration_ptr LastIteration (const char* nomCas);
// L'etude
- SALOMEDS::Study_ptr GetCurrentStudy();
- void SetCurrentStudy(SALOMEDS::Study_ptr theStudy);
- CORBA::Long GetCurrentStudyID();
+ void UpdateStudy();
void IsValidStudy();
// Liens entre structures
// --> Data publishing
virtual CORBA::Boolean CanPublishInStudy(CORBA::Object_ptr theIOR);
- virtual SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::Study_ptr theStudy,
- SALOMEDS::SObject_ptr theSObject,
+ virtual SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::SObject_ptr theSObject,
CORBA::Object_ptr theObject,
const char* theName);
// virtual void SALOMEException( std::string message );
private:
- void addInStudy(SALOMEDS::Study_ptr theStudy);
- SALOMEDS::SObject_ptr PublishBoundaryInStudy(SALOMEDS::Study_ptr theStudy, SALOMEDS::StudyBuilder_var aStudyBuilder,
+ SALOMEDS::SObject_ptr PublishBoundaryInStudy(SALOMEDS::StudyBuilder_var aStudyBuilder,
HOMARD::HOMARD_Boundary_ptr theObject, const char* theName);
- SALOMEDS::SObject_ptr PublishCaseInStudy(SALOMEDS::Study_ptr theStudy, SALOMEDS::StudyBuilder_var aStudyBuilder,
+ SALOMEDS::SObject_ptr PublishCaseInStudy(SALOMEDS::StudyBuilder_var aStudyBuilder,
HOMARD::HOMARD_Cas_ptr theObject, const char* theName);
- SALOMEDS::SObject_ptr PublishHypotheseInStudy(SALOMEDS::Study_ptr theStudy, SALOMEDS::StudyBuilder_var aStudyBuilder,
+ SALOMEDS::SObject_ptr PublishHypotheseInStudy(SALOMEDS::StudyBuilder_var aStudyBuilder,
HOMARD::HOMARD_Hypothesis_ptr theObject, const char* theName);
- SALOMEDS::SObject_ptr PublishYACSInStudy(SALOMEDS::Study_ptr theStudy, SALOMEDS::StudyBuilder_var aStudyBuilder,
+ SALOMEDS::SObject_ptr PublishYACSInStudy(SALOMEDS::StudyBuilder_var aStudyBuilder,
HOMARD::HOMARD_YACS_ptr theObject, const char* theName);
- SALOMEDS::SObject_ptr PublishZoneInStudy(SALOMEDS::Study_ptr theStudy, SALOMEDS::StudyBuilder_var aStudyBuilder,
+ SALOMEDS::SObject_ptr PublishZoneInStudy(SALOMEDS::StudyBuilder_var aStudyBuilder,
HOMARD::HOMARD_Zone_ptr theObject, const char* theName);
virtual void PublishInStudyAttr(SALOMEDS::StudyBuilder_var aStudyBuilder,
SALOMEDS::SObject_var aResultSO,
HOMARD::HOMARD_Zone_ptr newZone();
- virtual Engines::TMPFile* DumpPython(CORBA::Object_ptr theStudy,
- CORBA::Boolean isPublished,
- CORBA::Boolean isMultiFile,
- CORBA::Boolean& isValidScript);
+ virtual Engines::TMPFile* DumpPython(CORBA::Boolean isPublished,
+ CORBA::Boolean isMultiFile,
+ CORBA::Boolean& isValidScript);
virtual char* getVersion();
std::string GetStringInTexte( const std::string Texte, const std::string String, int option ) ;
-
+ virtual SALOME_ModuleCatalog::ModuleCatalog_var getModuleCatalog() const = 0;
+ virtual SMESH::SMESH_Gen_var retrieveSMESHInst() const = 0;
private:
struct StudyContext
{
std::map<std::string, HOMARD::HOMARD_Zone_var> _mesZones;
std::map<int, PortableServer::ServantBase*> _idmap;
};
- typedef std::map<int, StudyContext> ContextMap;
::HOMARD_Gen* myHomard;
- SALOMEDS::Study_var myCurrentStudy;
- ContextMap myContextMap;
- SALOME_NamingService* _NS;
+ StudyContext myStudyContext;
int _tag_gene ;
int _tag_boun ;
int _YACSMaxNode ;
int _YACSMaxElem ;
int _YACSTypeTest ;
- ;
-
+protected:
+ SALOMEDS::Study_var myStudy;
};
#endif