#include <Basics_Utils.hxx>
#endif
+#include "utilities.h"
+
#include <sstream>
#include <fstream>
#include <algorithm>
return ret._retn();
}
+SALOME_ContainerScriptPerfLog::~SALOME_ContainerScriptPerfLog()
+{
+ for(auto execSession : _sessions)
+ {
+ PortableServer::ServantBase *serv = getPOA()->reference_to_servant(execSession);
+ PortableServer::ObjectId_var oid = getPOA()->reference_to_id(execSession);
+ getPOA()->deactivate_object(oid);
+ }
+ _sessions.clear();
+}
+
PortableServer::POA_var SALOME_ContainerScriptExecPerfLog::getPOA()
{
return father()->getPOA();
visitor.leaveContainerScriptPerfLog( *this );
}
+
Engines::ContainerScriptExecPerfLog_ptr SALOME_ContainerScriptPerfLog::addExecutionSession()
{
SALOME_ContainerScriptExecPerfLog *execution = new SALOME_ContainerScriptExecPerfLog(this);
/////
+SALOME_ContainerPerfLog::~SALOME_ContainerPerfLog()
+{
+ for(auto script : _scripts)
+ {
+ PortableServer::ServantBase *serv = getPOA()->reference_to_servant(script);
+ PortableServer::ObjectId_var oid = getPOA()->reference_to_id(script);
+ getPOA()->deactivate_object(oid);
+ }
+ _scripts.clear();
+}
+
PortableServer::POA_var SALOME_ContainerPerfLog::getPOA()
{
return father()->getPOA();
}
}
+SALOME_LogManager::~SALOME_LogManager()
+{
+ this->clear();
+}
+
+void SALOME_LogManager::clear()
+{
+ for(auto cont : _containers)
+ {
+ PortableServer::ServantBase *serv = getPOA()->reference_to_servant(cont);
+ PortableServer::ObjectId_var oid = getPOA()->reference_to_id(cont);
+ getPOA()->deactivate_object(oid);
+ }
+ _containers.clear();
+}
+
Engines::ContainerPerfLog_ptr SALOME_LogManager::declareContainer(const char *contInNS, const char *logfile)
{
SALOME_ContainerPerfLog *cont = new SALOME_ContainerPerfLog(this,contInNS,logfile);