Listing 1: Logger service IDL declaration

module LoggerService
{
   enum MessageLevel { LOW, MEDIUM, HIGH };

   typedef sequence<string> StringSequence;

   interface Logger
      {
      void logMessage(in MessageLevel level,in string message);
      void logMessageAndFile(in MessageLevel level,
                             in string fileName,
                             in long lineNumber,
                             in string message);
      void logMessageAndMethod(in MessageLevel level,
                               in string className,
                               in string methodName,
                               in string message);
      StringSequence messagesByLevel(in MessageLevel level);
      oneway void shutdown();
      };
};
— End of Listing —