Listing 2: Logger implementation

class Logger : 
   public CORBAImplementation<LoggerService_Logger_ptr,
                              LoggerService_Logger_var,
                              Logger>
{
   ...
   // behavior methods
   virtual void run(CORBA_ULong timeout);
   virtual void logMessage(LoggerService_MessageLevel level,
                           const char* message,
                           CORBA_Environment& env);
   virtual void 
   logMessageAndFile(LoggerService_MessageLevel level,
                     const char* fileName,
                     CORBA_Long lineNumber,
                     const char* message,
                     CORBA_Environment& env);
   virtual void 
   logMessageAndMethod(LoggerService_MessageLevel level,
                       const char* className,
                       const char* methodName,
                       const char* message,
                       CORBA_Environment& env);
   virtual LoggerService_StringSequence*
   messagesByLevel(LoggerService_MessageLevel level,
                   CORBA_Environment& env);
   virtual void shutdown(CORBA_Environment& env);
};
— End of Listing —