Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

suifkernel/suifkernel_messages.h

This is the verbatim text of the suifkernel_messages.h include file.
#ifndef SUIFKERNEL__MESSAGES_H
#define SUIFKERNEL__MESSAGES_H

#include "suifkernel_forwarders.h"

#ifndef SUIF_MODULE
#define SUIF_MODULE "Unknown"
#endif




class SuifKernelMessage {
public:
  static SuifKernelMessage& create( const char* file_name,
                   int line_number,
                   const char* module_name );

  void assert_message( const char* format, ... );

  SuifKernelMessage* error( const char* format, ... );
  SuifKernelMessage* warning( const char* format, ... );
  SuifKernelMessage* information( int verbosity_level, const char* format, ... );

  void assert_message_on_object( SuifObject *so, const char* format, ... );
  SuifKernelMessage* error/*_on_object*/( SuifObject *so, const char* format, ... );
  SuifKernelMessage* warning/*_on_object*/( SuifObject *so, const char* format, ... );
  SuifKernelMessage* information/*_on_object*/( SuifObject *so, int verbosity_level, const char* format, ... );

  SuifKernelMessage* error( SuifEnv *env, const char* format, ... );
  SuifKernelMessage* warning( SuifEnv *env, const char* format, ... );
  SuifKernelMessage* information( SuifEnv* env, int verbosity_level, const char* format, ... );
protected:
  SuifKernelMessage( const char* file_name,
                   int line_number,
                   const char* module_name );

   const char* _file_name;
   int _line_number;
   const char* _module_name;

private:
  SuifKernelMessage& operator=(const SuifKernelMessage&);
  SuifKernelMessage(const SuifKernelMessage&);
};






#define suif_assert( expr ) if (expr) ; else SuifKernelMessage::create( __FILE__, __LINE__, SUIF_MODULE ).assert_message("") 



#define suif_assert_message( expr, params ) if (expr) ; else SuifKernelMessage::create( __FILE__, __LINE__, SUIF_MODULE ).assert_message params 



#define suif_assert_on_object( expr, obj ) if (expr) ; else SuifKernelMessage::create( __FILE__, __LINE__, SUIF_MODULE ).assert_message_on_object("", obj) ;



#define suif_assert_message_on_object( expr, params ) if (expr) ; else SuifKernelMessage::create( __FILE__, __LINE__, SUIF_MODULE ).assert_message_on_object params ;





#define suif_error delete SuifKernelMessage::create( __FILE__, __LINE__, SUIF_MODULE ).error



#define suif_warning delete SuifKernelMessage::create( __FILE__, __LINE__, SUIF_MODULE ).warning



#define suif_information delete SuifKernelMessage::create( __FILE__, __LINE__, SUIF_MODULE ).information




#endif

Generated at Mon Nov 22 19:43:48 1999 for NCI SUIF by doxygen  written by Dimitri van Heesch, © 1997-1999