Salome HOME
Merging from V4_1_0_maintainance for porting on Win32 Platform
[modules/kernel.git] / src / Logger / SALOME_Trace.hxx
index 0ba300e681aacc517e99c0b2feb891c9bb17bc90..f5f9ea6bee07068283fcd030427407d00166f30d 100644 (file)
@@ -1,19 +1,22 @@
-//=============================================================================
-// File      : SALOME_Trace.cxx
-// Created   : nov 18 10:28:17 2002
-// Author    : Vasily Rusyaev
-// Project   : SALOME/PRO
-//=============================================================================
-
-// SALOME_Trace.hxx: interface for the SALOME_Trace class.
+//  SALOME Logger : CORBA server managing trace output
 //
-//////////////////////////////////////////////////////////////////////
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//  File   : SALOME_Trace.cxx
+//  Author : Vasily Rusyaev
+//  Module : SALOME
 
 #if !defined(AFX_LOGGER_H__96F2A3AB_F6F8_11D6_BFA6_000476A0958C__INCLUDED_)
 #define AFX_LOGGER_H__96F2A3AB_F6F8_11D6_BFA6_000476A0958C__INCLUDED_
 
+#include <strstream>
+#include <SALOMEconfig.h>
+#include "Logger.hh"
+
 //these declarations for files don't using OCC includes (for example HDF)
-# ifdef WNT
+# ifdef WIN32
 
 #  ifndef Standard_EXPORT
 #   define Standard_EXPORT __declspec( dllexport )
@@ -27,7 +30,7 @@
 #   define Standard_IMPORTC extern "C" __declspec( dllimport )
 #  endif  /* Standard_IMPORT */
 
-# else  /* WNT */
+# else  /* WIN32 */
 
 #  ifndef Standard_EXPORT
 #   define Standard_EXPORT
 #   define Standard_IMPORTC extern "C"
 #  endif  /* Standard_IMPORT */
 
-# endif  /* WNT */
-
-#include <strstream.h>
-#include "Logger.hh"
+# endif  /* WIN32 */
 
-class SALOME_Trace : public ostrstream  
+class SALOME_Trace : public std::ostrstream  
 {
 public:
        virtual ~SALOME_Trace();
         static Standard_EXPORT SALOME_Trace& Instance();
-       Standard_EXPORT void putMessage(ostream& msg);
+       // initializes Logger (if USE_LOGGER variable is set) and returns true, in case success
+       int Initialize(CORBA::ORB_ptr theOrb);
+       Standard_EXPORT void putMessage(std::ostream& msg);
 protected:
        //disable creation of instances. It's necessary to use static SALOME_Logger& Instance()
        SALOME_Trace();
        SALOME_Logger::Logger_var m_pInterfaceLogger;// object reference on Logger server.
+       int isInitialized;
 };
 
 #define GLogger SALOME_Trace::Instance()