class SALOME_LogManager;
class SALOME_ContainerPerfLog;
class SALOME_ContainerScriptPerfLog;
+class SALOME_ContainerScriptExecPerfLog;
+
+class SALOMELAUNCHER_EXPORT SALOME_VisitorContainerLog
+{
+public:
+ virtual void enterLogManager(SALOME_LogManager& inst) = 0;
+ virtual void leaveLogManager(SALOME_LogManager& inst) = 0;
+ virtual void enterContainerPerfLog(SALOME_ContainerPerfLog& inst) = 0;
+ virtual void leaveContainerPerfLog(SALOME_ContainerPerfLog& inst) = 0;
+ virtual void enterContainerScriptPerfLog(SALOME_ContainerScriptPerfLog& inst) = 0;
+ virtual void leaveContainerScriptPerfLog(SALOME_ContainerScriptPerfLog& inst) = 0;
+ virtual void visitContainerScriptExecPerfLog(SALOME_ContainerScriptExecPerfLog& inst) = 0;
+};
class SALOMELAUNCHER_EXPORT SALOME_ContainerScriptExecPerfLog : public POA_Engines::ContainerScriptExecPerfLog
{
PortableServer::POA_var getPOA();
void assign(const SALOME::vectorOfByte& value) override;
SALOME::vectorOfByte *getObj() override;
+ const std::vector<char>& data() const { return _data; }
+ void setData(std::vector<char>&& data) { _data = std::move(data); }
+public:
+ void accept(SALOME_VisitorContainerLog &visitor);
public:
void start();
AutoPyRef end();
Engines::ListOfContainerScriptExecPerfLog *listOfExecs() override;
char *getCode() override;
char *getName() override;
+ const std::string& name() const { return _name; }
+ const std::string& code() const { return _code; }
+ void setName(const std::string& name) { _name = name; }
+ void setCode(const std::string& code) { _code = code; }
+ std::size_t getNumberOfSessions() const { return _sessions.size(); }
+public:
+ void accept(SALOME_VisitorContainerLog &visitor);
private:
AutoPyRef _pyScriptLog;
SALOME_ContainerPerfLog *_father = nullptr;
char *getContainerEntryInNS() override;
Engines::ContainerScriptPerfLog_ptr addScript(const char *name, const char *code) override;
Engines::ListOfContainerScriptPerfLog *listOfScripts() override;
+ const std::string& nameInNS() const { return _name_in_ns; }
+ const std::string& logFile() const { return _log_file; }
+ void setNameInNS(const std::string& name) { _name_in_ns = name; }
+ void setLogFile(const std::string& logFile) { _log_file = logFile; }
+ std::size_t getNumberOfScripts() const { return _scripts.size(); }
+public:
+ void accept(SALOME_VisitorContainerLog &visitor);
private:
AutoPyRef _pyContLog;
SALOME_LogManager *_father = nullptr;
virtual ~SALOME_LogManager() = default;
Engines::ContainerPerfLog_ptr declareContainer(const char *contInNS, const char *logfile) override;
Engines::ListOfContainerPerfLog *listOfContainerLogs() override;
+ SALOME::vectorOfByte *getAllStruct() override;
+ std::size_t getNumberOfContainers() const { return _containers.size(); }
+ public:
+ void accept(SALOME_VisitorContainerLog &visitor);
+ private:
+ std::vector<char> dumpCppInternalFrmt();
private:
PyObject *_pyLogManager = nullptr;
std::unique_ptr<SALOME_NamingService_Abstract> _NS;