[avida-cvs] avida(kaben) CVS commits: /current/CMakeModules FixFindQt.cmake /current/source/qt-viewer/exp/exp_cleanup2 CMakeLists.txt avd_dbg_msgs.hh avd_message_closure.cc avd_message_closure.hh avd_message_closure_t.cc avd_message_display.cc avd_message_display.hh avd_message_display_t.cc avd_message_set_tracker.cc avd_message_set_tracker.hh avd_message_type_set.hh demo_base_t.cc

kaben avida-cvs at alife.org
Wed Dec 17 04:02:53 PST 2003


kaben		Tue Dec 16 20:02:53 2003 EDT

  Modified files:              (Branch: kaben)
    /avida/current/CMakeModules	FixFindQt.cmake 
    /avida/current/source/qt-viewer/exp/exp_cleanup2	CMakeLists.txt 
                                                    	avd_dbg_msgs.hh 
                                                    	avd_message_closure.cc 
                                                    	avd_message_closure.hh 
                                                    	avd_message_closure_t.cc 
                                                    	avd_message_display.cc 
                                                    	avd_message_display.hh 
                                                    	avd_message_display_t.cc 
                                                    	avd_message_set_tracker.cc 
                                                    	avd_message_set_tracker.hh 
                                                    	avd_message_type_set.hh 
                                                    	demo_base_t.cc 
  Log:
  
  CREATE_QT_EXECUTABLE macro definition in CMakeModules/FixFindQt.cmake
  was missing parameter "INSTALL_PREFIX", which I added back.
  
  
  
  
-------------- next part --------------
Index: avida/current/CMakeModules/FixFindQt.cmake
diff -u avida/current/CMakeModules/FixFindQt.cmake:1.1.2.1 avida/current/CMakeModules/FixFindQt.cmake:1.1.2.2
--- avida/current/CMakeModules/FixFindQt.cmake:1.1.2.1	Mon Dec 15 10:05:43 2003
+++ avida/current/CMakeModules/FixFindQt.cmake	Tue Dec 16 20:02:52 2003
@@ -67,6 +67,7 @@
     NAME
     SOURCES
     LIBRARIES
+    INSTALL_PREFIX
   )
     ADD_EXECUTABLE(${NAME} ${${SOURCES}})
     TARGET_LINK_LIBRARIES(${NAME} ${${LIBRARIES}})
Index: avida/current/source/qt-viewer/exp/exp_cleanup2/CMakeLists.txt
diff -u avida/current/source/qt-viewer/exp/exp_cleanup2/CMakeLists.txt:1.1.2.1 avida/current/source/qt-viewer/exp/exp_cleanup2/CMakeLists.txt:1.1.2.2
--- avida/current/source/qt-viewer/exp/exp_cleanup2/CMakeLists.txt:1.1.2.1	Mon Dec 15 10:05:48 2003
+++ avida/current/source/qt-viewer/exp/exp_cleanup2/CMakeLists.txt	Tue Dec 16 20:02:52 2003
@@ -69,9 +69,13 @@
 #    threaded_driver/avd_avida_driver.cc
 #    threaded_driver/avd_driver_creator.cc
 #    threaded_driver/avd_orig_driver_controller.cc
+    avd_dbg_msgs.cc
+    avd_message_class.cc
     avd_message_closure.cc
     avd_message_display.cc
     avd_message_set_tracker.cc
+    avd_message_type.cc
+    avd_verifiable.cc
 #    user_msg/avd_qstr_message_display.cc
 #    user_msg/avd_user_msg_ctrl.cc
 #    user_msg/avd_user_msg_gui.cc
@@ -266,10 +270,12 @@
 
   SET(QT_TESTSUITES
   	template_t
-  	template2_t
+#  	template2_t
   ) 
   STRING(REGEX REPLACE _t _t.hh\; TESTSUITE_MOCSRCS ${QT_TESTSUITES})
   SET(libxqtunittest_a_SOURCES
+#    avd_message_closure_m.cc
+#    avd_message_display_m.cc
     xqt_test_case.cc
   )
   SET(libxqtunittest_moc_a_MOC_SOURCES
@@ -292,6 +298,7 @@
       event
       main
       tools
+      trio
       mockpp
       yaktest
       xqtviewer_moc
@@ -305,8 +312,12 @@
 
   SET(TESTSUITES
     demo_base_t
-    avd_message_display_t
-    avd_message_closure_t
+#    avd_message_display_t
+#    avd_message_class_t
+#    avd_message_type_t
+#    avd_message_closure_t
+#    avd_dbg_msgs_t
+    avd_verifiable_t
   ) 
   FOREACH(TESTSUITE ${TESTSUITES})
     ADD_EXECUTABLE(${TESTSUITE} ${TESTSUITE}.cc)
@@ -317,6 +328,8 @@
       event
       main
       tools
+      trio
+      mockpp
       yaktest
     )
     ADD_TEST(${TESTSUITE} ${TESTSUITE})
Index: avida/current/source/qt-viewer/exp/exp_cleanup2/avd_dbg_msgs.hh
diff -u avida/current/source/qt-viewer/exp/exp_cleanup2/avd_dbg_msgs.hh:1.1.2.1 avida/current/source/qt-viewer/exp/exp_cleanup2/avd_dbg_msgs.hh:1.1.2.2
--- avida/current/source/qt-viewer/exp/exp_cleanup2/avd_dbg_msgs.hh:1.1.2.1	Mon Dec 15 10:05:48 2003
+++ avida/current/source/qt-viewer/exp/exp_cleanup2/avd_dbg_msgs.hh	Tue Dec 16 20:02:52 2003
@@ -1,19 +1,23 @@
 #ifndef AVD_DBG_MSGS_HH
 #define AVD_DBG_MSGS_HH
 
-#ifndef AVD_MESSAGE_DISPLAY_HH
-#include "avd_message_display.hh"
+#ifndef AVD_MESSAGE_CLOSURE_HH
+#include "avd_message_closure.hh"
 #endif
+#ifndef AVD_MESSAGE_TYPE_BASE_HH
+#include "avd_message_type_base.hh"
+#endif
+
+extern const avdMessageTypeBase             &Info_GEN_avdMsg;
+extern const avdMessageTypeBase            &Debug_GEN_avdMsg;
+extern const avdMessageTypeBase            &Error_GEN_avdMsg;
+extern const avdMessageTypeBase            &Fatal_GEN_avdMsg;
+#define avdInfo   AVD_INFO_MSG(avdMessageClosure, GEN)
+#define avdDebug AVD_DEBUG_MSG(avdMessageClosure, GEN)
+#define avdError AVD_ERROR_MSG(avdMessageClosure, GEN)
+#define avdFatal AVD_FATAL_MSG(avdMessageClosure, GEN)
 
-extern avdMessageType     Info_GEN_avdMsg;
-extern avdMessageType    Debug_GEN_avdMsg;
-extern avdMessageType    Error_GEN_avdMsg;
-extern avdMessageType    Fatal_GEN_avdMsg;
-#define avdInfo   AVD_INFO_MSG(GEN)
-#define avdDebug AVD_DEBUG_MSG(GEN)
-#define avdError AVD_ERROR_MSG(GEN)
-#define avdFatal AVD_FATAL_MSG(GEN)
-extern avdMessageType Plain_avdMsg;
-#define Message AVD_PLAIN_MSG(Plain)
+extern const avdMessageTypeBase &Plain_avdMsg;
+#define Message AVD_PLAIN_MSG(avdMessageClosure, Plain)
 
 #endif
Index: avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_closure.cc
diff -u avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_closure.cc:1.1.2.1 avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_closure.cc:1.1.2.2
--- avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_closure.cc:1.1.2.1	Mon Dec 15 10:05:48 2003
+++ avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_closure.cc	Tue Dec 16 20:02:52 2003
@@ -2,8 +2,17 @@
 #include "avd_message_closure.hh"
 #endif
 
-#ifndef AVD_MESSAGE_DISPLAY_HH
-#include "avd_message_display.hh"
+#ifndef AVD_MESSAGE_CLASS_BASE_HH
+#include "avd_message_class_base.hh"
+#endif 
+#ifndef AVD_MESSAGE_CLOSURE_BASE_HH
+#include "avd_message_closure_base.hh"
+#endif
+#ifndef AVD_MESSAGE_DISPLAY_BASE_HH
+#include "avd_message_display_base.hh"
+#endif
+#ifndef AVD_MESSAGE_TYPE_BASE_HH
+#include "avd_message_type_base.hh"
 #endif
 
 #ifndef TRIO_TRIO_H
@@ -16,51 +25,24 @@
 
 using namespace std;
 
-void avdMessageClass::configure(avdMessageType *message_type){
-  if(!message_type){
-    cerr << "* Error in message display system in method *" << endl;
-    cerr << "* void avdMessageClass::configure(avdMessageType *) *" << endl;
-    cerr << endl;
-    cerr << "Trying to configure a message type, but the pointer" << endl;
-    cerr << "I was given to the message type doesn't point anywhere." << endl;
-  } else {
-    message_type->m_is_active = true;
-    message_type->m_show_where = true;
-    message_type->m_show_function = true;
-  }
-}
-avdMessageClass   avdMCInfo("Info:",  &s_avd_info_display, false, false, false);
-avdMessageClass avdMCDebug("Debug:", &s_avd_debug_display, false, false, false);
-avdMessageClass avdMCError("Error:", &s_avd_error_display, false, true, false);
-avdMessageClass avdMCFatal("Fatal:", &s_avd_fatal_display, true, true, false);
-avdMessageClass avdMCPlain("Plain:", &s_avd_plain_display, false, true, true);
-
-avdMessageType::avdMessageType(
-  const char *type_name,
-  avdMessageClass &message_class
-):m_type_name(type_name),
-  m_message_class(message_class)
-{ message_class.configure(this); }
-avdMessageType  Info_GEN_avdMsg("General", avdMCInfo);
-avdMessageType Debug_GEN_avdMsg("General", avdMCDebug);
-avdMessageType Error_GEN_avdMsg("General", avdMCError);
-avdMessageType Fatal_GEN_avdMsg("General", avdMCFatal);
-avdMessageType     Plain_avdMsg("General", avdMCPlain);
+// stub.
+avdMessageClosureBase &avdMessageClosure::operator<<(const QString &s)
+{ prefix(); return *this; }
 
 avdMessageClosure::avdMessageClosure(
-  avdMessageType &type,
+  const avdMessageTypeBase &type,
   const char *function_name,
   const char *file_name,
   int line_number
-):m_type(type),
-  m_function(function_name),
-  m_file(file_name),
-  m_line(line_number),
-  m_error(INT_MAX),
-  m_op_count(0)
+):m_type(type)
+, m_function(function_name)
+, m_file(file_name)
+, m_line(line_number)
+, m_error(INT_MAX)
+, m_op_count(0)
 {}
 avdMessageClosure::~avdMessageClosure(void){
-  if(!m_type.m_message_class.m_msg_display){
+  if(!m_type.messageDisplay()){
     cerr << "* Error in message display system *" << endl;
     cerr << "* in class avdMessageClosure destructor *" << endl;
     cerr << endl;
@@ -71,32 +53,32 @@
     cerr << endl;
     cerr << m_msg << endl;
     cerr << endl;
-    if(m_type.m_message_class.m_is_fatal) abort();
+    if(m_type.isFatal()) abort();
   } else {
-    (*m_type.m_message_class.m_msg_display)->out(m_msg);
-    if(m_type.m_message_class.m_is_fatal) (*m_type.m_message_class.m_msg_display)->abort();
+    (*m_type.messageDisplay())->out(m_msg);
+    if(m_type.isFatal()) (*m_type.messageDisplay())->abort();
   }
 }
 void avdMessageClosure::prefix(void){
-  if(m_op_count++ == 0 && !m_type.m_message_class.m_no_prefix){
-    if(m_type.m_message_class.m_is_prefix){
-      m_msg += m_type.m_type_name;
+  if(m_op_count++ == 0 && !m_type.noPrefix()){
+    if(m_type.isPrefix()){
+      m_msg += m_type.typeName();
       m_msg += '-';
     }
-    m_msg += m_type.m_message_class.m_class_name;
-    if(!m_type.m_message_class.m_is_prefix
-      ||m_type.m_show_function
-      ||m_type.m_show_where
+    m_msg += m_type.className();
+    if(!m_type.isPrefix()
+      ||m_type.showFunction()
+      ||m_type.showWhere()
     ){
       bool colon = false;
-      if(!m_type.m_message_class.m_is_prefix){
-        m_msg += m_type.m_type_name;
+      if(!m_type.isPrefix()){
+        m_msg += m_type.typeName();
         m_msg += ": ";
       }
-      if(m_type.m_show_function || m_type.m_show_where){
+      if(m_type.showFunction() || m_type.showWhere()){
         m_msg += "<";
       }
-      if(m_type.m_show_function){
+      if(m_type.showFunction()){
         if(!m_function){
           cerr << "* Error in message display system in *" << endl;
           cerr << "* void avdMessageClosure::prefix() *" << endl;
@@ -109,7 +91,7 @@
         } else { m_msg += m_function; }
         colon = true;
       }
-      if(m_type.m_show_where){
+      if(m_type.showWhere()){
         if(colon){m_msg += ':';}
         if(!m_file){
           cerr << "* Error in message display system in *" << endl;
@@ -143,7 +125,7 @@
           }
         }
       }
-      if(m_type.m_show_function || m_type.m_show_where){
+      if(m_type.showFunction() || m_type.showWhere()){
         m_msg += ">";
       }
       m_msg += ' ';
@@ -152,44 +134,44 @@
     }
   }
 }
-avdMessageClosure &avdMessageClosure::operator<<(char c)
+avdMessageClosureBase &avdMessageClosure::operator<<(char c)
 { prefix(); m_msg += c; return *this; }
-avdMessageClosure &avdMessageClosure::operator<<(unsigned char c)
+avdMessageClosureBase &avdMessageClosure::operator<<(unsigned char c)
 { prefix(); m_msg += c; return *this; }
-avdMessageClosure &avdMessageClosure::operator<<(const char *s)
+avdMessageClosureBase &avdMessageClosure::operator<<(const char *s)
 { prefix(); m_msg += s; return *this; }
 
-//avdMessageClosure &avdMessageClosure::operator<<(int i)
+//avdMessageClosureBase &avdMessageClosure::operator<<(int i)
 //{ return va("%d", i); }
-//avdMessageClosure &avdMessageClosure::operator<<(unsigned int i)
+//avdMessageClosureBase &avdMessageClosure::operator<<(unsigned int i)
 //{ return va("%u", i); }
-//avdMessageClosure &avdMessageClosure::operator<<(long i)
+//avdMessageClosureBase &avdMessageClosure::operator<<(long i)
 //{ return va("%ld", i); }
-//avdMessageClosure &avdMessageClosure::operator<<(unsigned long i)
+//avdMessageClosureBase &avdMessageClosure::operator<<(unsigned long i)
 //{ return va("%lu", i); }
-//avdMessageClosure &avdMessageClosure::operator<<(float f)
+//avdMessageClosureBase &avdMessageClosure::operator<<(float f)
 //{ return va("%g", f); }
-//avdMessageClosure &avdMessageClosure::operator<<(double f)
+//avdMessageClosureBase &avdMessageClosure::operator<<(double f)
 //{ return va("%g", f); }
-//avdMessageClosure &avdMessageClosure::operator<<(const void *p)
+//avdMessageClosureBase &avdMessageClosure::operator<<(const void *p)
 //{ return va("%p", p); }
 
-avdMessageClosure &avdMessageClosure::operator<<(int i)
+avdMessageClosureBase &avdMessageClosure::operator<<(int i)
 { char buf[32]; trio_snprintf(buf, 32, "%d", i); m_msg += buf; return *this; }
-avdMessageClosure &avdMessageClosure::operator<<(unsigned int i)
+avdMessageClosureBase &avdMessageClosure::operator<<(unsigned int i)
 { char buf[32]; trio_snprintf(buf, 32, "%u", i); m_msg += buf; return *this; }
-avdMessageClosure &avdMessageClosure::operator<<(long i)
+avdMessageClosureBase &avdMessageClosure::operator<<(long i)
 { char buf[32]; trio_snprintf(buf, 32, "%ld", i); m_msg += buf; return *this; }
-avdMessageClosure &avdMessageClosure::operator<<(unsigned long i)
+avdMessageClosureBase &avdMessageClosure::operator<<(unsigned long i)
 { char buf[32]; trio_snprintf(buf, 32, "%lu", i); m_msg += buf; return *this; }
-avdMessageClosure &avdMessageClosure::operator<<(float f)
+avdMessageClosureBase &avdMessageClosure::operator<<(float f)
 { char buf[32]; trio_snprintf(buf, 32, "%g", f); m_msg += buf; return *this; }
-avdMessageClosure &avdMessageClosure::operator<<(double f)
+avdMessageClosureBase &avdMessageClosure::operator<<(double f)
 { char buf[32]; trio_snprintf(buf, 32, "%g", f); m_msg += buf; return *this; }
-avdMessageClosure &avdMessageClosure::operator<<(const void *p)
+avdMessageClosureBase &avdMessageClosure::operator<<(const void *p)
 { char buf[32]; trio_snprintf(buf, 32, "%p", p); m_msg += buf; return *this; }
 
-avdMessageClosure &avdMessageClosure::va(const char *fmt, ...)
+avdMessageClosureBase &avdMessageClosure::va(const char *fmt, ...)
 {
   if(!fmt){
     cerr << "* Error in message display system in *" << endl;
Index: avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_closure.hh
diff -u avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_closure.hh:1.1.2.1 avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_closure.hh:1.1.2.2
--- avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_closure.hh:1.1.2.1	Mon Dec 15 10:05:48 2003
+++ avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_closure.hh	Tue Dec 16 20:02:52 2003
@@ -1,56 +1,19 @@
 #ifndef AVD_MESSAGE_CLOSURE_HH
 #define AVD_MESSAGE_CLOSURE_HH
 
-#ifndef _CPP_IOSTREAM
-#include <iostream>
+#ifndef AVD_MESSAGE_CLOSURE_BASE_HH
+#include "avd_message_closure_base.hh"
 #endif
+
 #ifndef STRING_HH
-#include "tools/string.hh"
+#include "string.hh"
 #endif
 
 class QString;
-class avdMessageDisplay;
-class avdMessageType;
-
-class avdMessageClass{
-public:
-  avdMessageClass(
-    const char *class_name,
-    avdMessageDisplay **msg_display,
-    bool is_fatal,
-    bool is_prefix,
-    bool no_prefix
-  ):m_class_name(class_name), m_msg_display(msg_display),
-  m_is_fatal(is_fatal), m_is_prefix(is_prefix), m_no_prefix(no_prefix){}
-public:
-  void configure(avdMessageType *message_type);
-public:
-  const char *const m_class_name;
-  avdMessageDisplay **m_msg_display;
-  bool const m_is_fatal;
-  bool const m_is_prefix;
-  bool const m_no_prefix;
-};
-extern avdMessageClass avdMCInfo;
-extern avdMessageClass avdMCDebug;
-extern avdMessageClass avdMCError;
-extern avdMessageClass avdMCFatal;
-extern avdMessageClass avdMCPlain;
-
-class avdMessageType{
-public:
-  avdMessageType(const char *type_name, avdMessageClass &message_class);
-public:
-  const char *m_type_name;
-  const avdMessageClass &m_message_class;
-  bool m_is_active;
-  bool m_show_where;
-  bool m_show_function;
-};
-
-class avdMessageClosure{
+class avdMessageTypeBase;
+class avdMessageClosure : public avdMessageClosureBase{
 protected:
-  avdMessageType &m_type;
+  const avdMessageTypeBase &m_type;
   const char *m_function;
   const char *m_file;
   int m_line;
@@ -59,67 +22,27 @@
   cString m_msg;
 public:
   avdMessageClosure(
-    avdMessageType &type,
+    const avdMessageTypeBase &type,
     const char *function_name,
     const char *file_name,
     int line_number
   );
   ~avdMessageClosure(void);
 public:
-  avdMessageClosure &operator<<(char c);
-  avdMessageClosure &operator<<(unsigned char c);
-  avdMessageClosure &operator<<(const char *s);
-  avdMessageClosure &operator<<(int i);
-  avdMessageClosure &operator<<(unsigned int i);
-  avdMessageClosure &operator<<(long i);
-  avdMessageClosure &operator<<(unsigned long i);
-  avdMessageClosure &operator<<(float f);
-  avdMessageClosure &operator<<(double f);
-  avdMessageClosure &operator<<(const void *p);
-  avdMessageClosure &operator<<(const QString &s);
-
-  avdMessageClosure &operator()(char c){ return operator<<(c); }
-  avdMessageClosure &operator()(unsigned char c){ return operator<<(c); }
-  avdMessageClosure &operator()(const char *s){ return operator<<(s); }
-  avdMessageClosure &operator()(int i){ return operator<<(i); }
-  avdMessageClosure &operator()(unsigned int i){ return operator<<(i); }
-  avdMessageClosure &operator()(long i){ return operator<<(i); }
-  avdMessageClosure &operator()(unsigned long i){ return operator<<(i); }
-  avdMessageClosure &operator()(float f){ return operator<<(f); }
-  avdMessageClosure &operator()(double f){ return operator<<(f); }
-  avdMessageClosure &operator()(const void *p){ return operator<<(p); }
-  avdMessageClosure &operator()(const QString &s){ return operator<<(s); }
+  virtual avdMessageClosureBase &operator<<(char c);
+  virtual avdMessageClosureBase &operator<<(unsigned char c);
+  virtual avdMessageClosureBase &operator<<(const char *s);
+  virtual avdMessageClosureBase &operator<<(int i);
+  virtual avdMessageClosureBase &operator<<(unsigned int i);
+  virtual avdMessageClosureBase &operator<<(long i);
+  virtual avdMessageClosureBase &operator<<(unsigned long i);
+  virtual avdMessageClosureBase &operator<<(float f);
+  virtual avdMessageClosureBase &operator<<(double f);
+  virtual avdMessageClosureBase &operator<<(const void *p);
+  virtual avdMessageClosureBase &operator<<(const QString &s);
 
-  avdMessageClosure &va(const char *fmt, ...);
-  void prefix(void);
+  virtual avdMessageClosureBase &va(const char *fmt, ...);
+  virtual void prefix(void);
 };
-
-#define AVD_MSG_CLOSURE_FL(x)\
-  avdMessageClosure(\
-    x,\
-    __PRETTY_FUNCTION__,\
-    __FILE__,\
-    __LINE__\
-  )
-
-#define AVD_INFO_MSG(type)\
-  if (Info_ ## type ## _avdMsg.m_is_active)\
-    AVD_MSG_CLOSURE_FL(Info_ ## type ## _avdMsg)
-
-#define AVD_DEBUG_MSG(type)\
-  if (Debug_ ## type ## _avdMsg.m_is_active)\
-    AVD_MSG_CLOSURE_FL(Debug_ ## type ## _avdMsg)
-
-#define AVD_ERROR_MSG(type)\
-  if (Error_ ## type ## _avdMsg.m_is_active)\
-    AVD_MSG_CLOSURE_FL(Error_ ## type ## _avdMsg)
-
-#define AVD_FATAL_MSG(type)\
-  if (Fatal_ ## type ## _avdMsg.m_is_active)\
-    AVD_MSG_CLOSURE_FL(Fatal_ ## type ## _avdMsg)
-
-#define AVD_PLAIN_MSG(type)\
-  if (type ## _avdMsg.m_is_active)\
-    AVD_MSG_CLOSURE_FL(type ## _avdMsg)
 
 #endif
Index: avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_closure_t.cc
diff -u avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_closure_t.cc:1.1.2.1 avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_closure_t.cc:1.1.2.2
--- avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_closure_t.cc:1.1.2.1	Mon Dec 15 10:05:48 2003
+++ avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_closure_t.cc	Tue Dec 16 20:02:52 2003
@@ -1,6 +1,13 @@
 #ifndef AVD_MESSAGE_CLOSURE_HH
 #include "avd_message_closure.hh"
 #endif
+#ifndef AVD_MESSAGE_CLOSURE_M_HH
+#include "avd_message_closure_m.hh"
+#endif
+
+#ifndef AVD_MESSAGE_DISPLAY_HH
+#include "avd_message_display.hh"
+#endif
 
 #ifndef TEST_CASE_H
 #include "third-party/yaktest/test_case.h"
@@ -16,14 +23,26 @@
 
 using namespace std;
 
-class cTemplateTest : public test_case {
+class cMessageClassTest : public test_case {
+public: virtual void test() {
+  test_is_true(true);
+} };
+
+class cMessageTypeTest : public test_case {
+public: virtual void test() {
+  test_is_true(true);
+} };
+
+class cMessageClosureTest : public test_case {
 public: virtual void test() {
   test_is_true(true);
 } };
 
 class cTestSuite : public test_case {
 public: cTestSuite() : test_case() {
-  adopt_test_case(new cTemplateTest); 
+  adopt_test_case(new cMessageClassTest); 
+  adopt_test_case(new cMessageTypeTest); 
+  adopt_test_case(new cMessageClosureTest); 
 } };
 
 int main(int argc, char *argv[]){
Index: avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_display.cc
diff -u avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_display.cc:1.1.2.1 avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_display.cc:1.1.2.2
--- avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_display.cc:1.1.2.1	Mon Dec 15 10:05:48 2003
+++ avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_display.cc	Tue Dec 16 20:02:52 2003
@@ -2,6 +2,10 @@
 #include "avd_message_display.hh"
 #endif
 
+#ifndef AVD_MESSAGE_DISPLAY_BASE_HH
+#include "avd_message_display_base.hh"
+#endif
+
 #ifndef STRING_HH
 #include "string.hh"
 #endif
@@ -12,23 +16,23 @@
 
 using namespace std;
 
-avdMessageDisplay *s_avd_info_display(&s_avd_info_msg_out);
-avdMessageDisplay *s_avd_debug_display(&s_avd_debug_msg_out);
-avdMessageDisplay *s_avd_error_display(&s_avd_error_msg_out);
-avdMessageDisplay *s_avd_fatal_display(&s_avd_fatal_msg_out);
-avdMessageDisplay *s_avd_plain_display(&s_avd_plain_msg_out);
-void setAvdInfoDisplay(avdMessageDisplay &md) { s_avd_info_display = &md; }
-void setAvdDebugDisplay(avdMessageDisplay &md) { s_avd_debug_display = &md; }
-void setAvdErrorDisplay(avdMessageDisplay &md) { s_avd_error_display = &md; }
-void setAvdFatalDisplay(avdMessageDisplay &md) { s_avd_fatal_display = &md; }
-void setAvdPlainDisplay(avdMessageDisplay &md) { s_avd_plain_display = &md; }
+avdMessageDisplayBase *s_avd_info_display(&s_avd_info_msg_out);
+avdMessageDisplayBase *s_avd_debug_display(&s_avd_debug_msg_out);
+avdMessageDisplayBase *s_avd_error_display(&s_avd_error_msg_out);
+avdMessageDisplayBase *s_avd_fatal_display(&s_avd_fatal_msg_out);
+avdMessageDisplayBase *s_avd_plain_display(&s_avd_plain_msg_out);
+void setAvdInfoDisplay(avdMessageDisplayBase &md) { s_avd_info_display = &md; }
+void setAvdDebugDisplay(avdMessageDisplayBase &md) { s_avd_debug_display = &md; }
+void setAvdErrorDisplay(avdMessageDisplayBase &md) { s_avd_error_display = &md; }
+void setAvdFatalDisplay(avdMessageDisplayBase &md) { s_avd_fatal_display = &md; }
+void setAvdPlainDisplay(avdMessageDisplayBase &md) { s_avd_plain_display = &md; }
 
-void avdDefaultMessageDisplay::out(const cString &final_msg){
+void avdMessageDisplay::out(const cString &final_msg) const {
   if(m_out){
     *m_out << final_msg ; m_out->flush();
   } else {
     cerr << "* Error in message display system in method *" << endl;
-    cerr << "* \"void avdDefaultMessageDisplay::out(const cString &)\" *" << endl;
+    cerr << "* \"void avdMessageDisplay::out(const cString &)\" *" << endl;
     cerr << endl;
     cerr << "Trying to display a message to the user, but my pointer to" << endl;
     cerr << "the default output device doesn't point anywhere.  So I'm" << endl;
@@ -39,8 +43,8 @@
     cerr << endl;
   }
 }
-avdDefaultMessageDisplay s_avd_info_msg_out(&cout);
-avdDefaultMessageDisplay s_avd_debug_msg_out(&cout);
-avdDefaultMessageDisplay s_avd_error_msg_out(&cerr);
-avdDefaultMessageDisplay s_avd_fatal_msg_out(&cerr);
-avdDefaultMessageDisplay s_avd_plain_msg_out(&cout);
+avdMessageDisplay s_avd_info_msg_out(&cout);
+avdMessageDisplay s_avd_debug_msg_out(&cout);
+avdMessageDisplay s_avd_error_msg_out(&cerr);
+avdMessageDisplay s_avd_fatal_msg_out(&cerr);
+avdMessageDisplay s_avd_plain_msg_out(&cout);
Index: avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_display.hh
diff -u avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_display.hh:1.1.2.1 avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_display.hh:1.1.2.2
--- avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_display.hh:1.1.2.1	Mon Dec 15 10:05:48 2003
+++ avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_display.hh	Tue Dec 16 20:02:52 2003
@@ -5,34 +5,22 @@
 #include <iostream>
 #endif
 
-class cString;
-class avdMessageDisplay{
-public:
-  virtual void out(const cString &){}
-  virtual void abort(){ abort(); }
-};
-extern avdMessageDisplay *s_avd_info_display;
-extern avdMessageDisplay *s_avd_debug_display;
-extern avdMessageDisplay *s_avd_error_display;
-extern avdMessageDisplay *s_avd_fatal_display;
-extern avdMessageDisplay *s_avd_plain_display;
-void setAvdInfoDisplay(avdMessageDisplay &info);
-void setAvdDebugDisplay(avdMessageDisplay &md);
-void setAvdErrorDisplay(avdMessageDisplay &md);
-void setAvdFatalDisplay(avdMessageDisplay &md);
-void setAvdPlainDisplay(avdMessageDisplay &md);
+#ifndef AVD_MESSAGE_DISPLAY_BASE_HH
+#include "avd_message_display_base.hh"
+#endif
 
-class avdDefaultMessageDisplay : public avdMessageDisplay {
+class cString;
+class avdMessageDisplay : public avdMessageDisplayBase {
 protected:
   std::ostream *m_out;
 public:
-  avdDefaultMessageDisplay(std::ostream *stream):m_out(stream){}
-  void out(const cString &final_msg);
+  avdMessageDisplay(std::ostream *stream):m_out(stream){}
+  void out(const cString &final_msg) const;
 };
-extern avdDefaultMessageDisplay s_avd_info_msg_out;
-extern avdDefaultMessageDisplay s_avd_debug_msg_out;
-extern avdDefaultMessageDisplay s_avd_error_msg_out;
-extern avdDefaultMessageDisplay s_avd_fatal_msg_out;
-extern avdDefaultMessageDisplay s_avd_plain_msg_out;
+extern avdMessageDisplay s_avd_info_msg_out;
+extern avdMessageDisplay s_avd_debug_msg_out;
+extern avdMessageDisplay s_avd_error_msg_out;
+extern avdMessageDisplay s_avd_fatal_msg_out;
+extern avdMessageDisplay s_avd_plain_msg_out;
 
 #endif
Index: avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_display_t.cc
diff -u avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_display_t.cc:1.1.2.1 avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_display_t.cc:1.1.2.2
--- avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_display_t.cc:1.1.2.1	Mon Dec 15 10:05:48 2003
+++ avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_display_t.cc	Tue Dec 16 20:02:52 2003
@@ -1,6 +1,9 @@
 #ifndef AVD_MESSAGE_DISPLAY_HH
 #include "avd_message_display.hh"
 #endif
+#ifndef AVD_MESSAGE_DISPLAY_M_HH
+#include "avd_message_display_m.hh"
+#endif
 
 #ifndef STRING_HH
 #include "string.hh"
@@ -28,30 +31,39 @@
 char outbuf[5120];
 char errbuf[5120];
 
+class cMockCoutTest : public test_case {
+public: virtual void test() {
+  mockMessageDisplay md;
+  md.out("test\n");
+  md.out("fubar\n");
+  md.abort();
+} };
+
 class cCoutTest : public test_case {
 public: virtual void test() {
-  avdDefaultMessageDisplay dmd(&cout);
+  avdMessageDisplay md(&cout);
   cout.flush();
-  dmd.out("test\n");
+  md.out("test\n");
   test_is_true(strncmp(outbuf, "test\n", 5) == 0);
   cout.flush();
-  dmd.out("fubar\n");
+  md.out("fubar\n");
   test_is_true(strncmp(outbuf, "fubar\n", 6) == 0);
 } };
 
 class cCerrTest : public test_case {
 public: virtual void test() {
-  avdDefaultMessageDisplay dmd(&cerr);
+  avdMessageDisplay md(&cerr);
   cerr.flush();
-  dmd.out("test\n");
+  md.out("test\n");
   test_is_true(strncmp(errbuf, "test\n", 5) == 0);
-  dmd.out("fubar\n");
+  md.out("fubar\n");
   cerr.flush();
   test_is_true(strncmp(errbuf, "fubar\n", 6) == 0);
 } };
 
 class cTestSuite : public test_case {
 public: cTestSuite() : test_case() {
+  adopt_test_case(new cMockCoutTest); 
   adopt_test_case(new cCoutTest); 
   adopt_test_case(new cCerrTest); 
 } };
@@ -69,7 +81,7 @@
   
   cout << endl 
   << "----------------------------------------" << endl
-  << "Testing avdDefaultMessageDisplay and avdMessageDisplay." << endl;
+  << "Testing avdMessageDisplay and avdMessageDisplay." << endl;
   cTestSuite t;
   t.run_test();
   cout << text_test_interpreter().interpretation(t.last_result());
Index: avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_set_tracker.cc
diff -u avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_set_tracker.cc:1.1.2.1 avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_set_tracker.cc:1.1.2.2
--- avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_set_tracker.cc:1.1.2.1	Mon Dec 15 10:05:48 2003
+++ avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_set_tracker.cc	Tue Dec 16 20:02:52 2003
@@ -5,8 +5,8 @@
 #ifndef AVD_DBG_MSGS_HH
 #include "avd_dbg_msgs.hh"
 #endif
-#ifndef AVD_MESSAGE_CLOSURE_HH
-#include "avd_message_closure.hh"
+#ifndef AVD_MESSAGE_TYPE_BASE_HH
+#include "avd_message_type_base.hh"
 #endif
 
 #include <iostream>
Index: avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_set_tracker.hh
diff -u avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_set_tracker.hh:1.1.2.1 avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_set_tracker.hh:1.1.2.2
--- avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_set_tracker.hh:1.1.2.1	Mon Dec 15 10:05:48 2003
+++ avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_set_tracker.hh	Tue Dec 16 20:02:52 2003
@@ -14,14 +14,11 @@
 #include "third-party/Loki/Singleton.h"
 #endif
 
-#ifndef AVD_MESSAGE_CLOSURE_HH
-#include "avd_message_closure.hh"
-#endif
 #ifndef AVD_MESSAGE_TYPE_SET_HH
 #include "avd_message_type_set.hh"
 #endif
 
-
+class avdMessageTypeBase;
 class _avdMessageSetTracker{
 public:
   bool Register(const std::string &id, avdMessageTypeSet *ts)
@@ -44,7 +41,7 @@
   typedef Loki::AssocVector<std::string, avdMessageTypeSet *>::iterator Iterator;
   IdToTSMap m_associations;
 };
-typedef Loki::AssocVector<std::string, avdMessageType *>::iterator
+typedef Loki::AssocVector<std::string, avdMessageTypeBase *>::iterator
   avdMessageTypeIterator;
 typedef Loki::SingletonHolder<_avdMessageSetTracker> avdMessageSetTracker;
 typedef Loki::AssocVector<std::string, avdMessageTypeSet *>::iterator
Index: avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_type_set.hh
diff -u avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_type_set.hh:1.1.2.1 avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_type_set.hh:1.1.2.2
--- avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_type_set.hh:1.1.2.1	Mon Dec 15 10:05:48 2003
+++ avida/current/source/qt-viewer/exp/exp_cleanup2/avd_message_type_set.hh	Tue Dec 16 20:02:52 2003
@@ -14,30 +14,30 @@
 #include "third-party/Loki/Singleton.h"
 #endif
 
-#ifndef AVD_MESSAGE_CLOSURE_HH
-#include "avd_message_closure.hh"
+#ifndef AVD_MESSAGE_TYPE_BASE_HH
+#include "avd_message_type_base.hh"
 #endif
 
 class avdMessageTypeSet{
 public:
-  bool Register(const std::string &id, avdMessageType *mt)
+  bool Register(const std::string &id, const avdMessageTypeBase *mt)
   { return m_associations.insert(IdToMTMap::value_type(id, mt)).second; }
   bool Unregister(const std::string &id)
   { return m_associations.erase(id) == 1; }
-  avdMessageType *GetTypeTracker(const std::string &id){
+  const avdMessageTypeBase *GetTypeTracker(const std::string &id){
     IdToMTMap::iterator i = m_associations.find(id);
     if (i != m_associations.end()) return i->second;
     return 0;
   }
-  Loki::AssocVector<std::string, avdMessageType *>::iterator begin()
+  Loki::AssocVector<std::string, const avdMessageTypeBase *>::iterator begin()
   { return m_associations.begin(); }
-  Loki::AssocVector<std::string, avdMessageType *>::iterator end()
+  Loki::AssocVector<std::string, const avdMessageTypeBase *>::iterator end()
   { return m_associations.end(); }
-  Loki::AssocVector<std::string, avdMessageType *>::size_type size()
+  Loki::AssocVector<std::string, const avdMessageTypeBase *>::size_type size()
   { return m_associations.size(); }
 protected:
-  typedef Loki::AssocVector<std::string, avdMessageType *> IdToMTMap;
-  typedef Loki::AssocVector<std::string, avdMessageType *>::iterator Iterator;
+  typedef Loki::AssocVector<std::string, const avdMessageTypeBase *> IdToMTMap;
+  typedef Loki::AssocVector<std::string, const avdMessageTypeBase *>::iterator Iterator;
   IdToMTMap m_associations;
 };
 
Index: avida/current/source/qt-viewer/exp/exp_cleanup2/demo_base_t.cc
diff -u avida/current/source/qt-viewer/exp/exp_cleanup2/demo_base_t.cc:1.1.2.1 avida/current/source/qt-viewer/exp/exp_cleanup2/demo_base_t.cc:1.1.2.2
--- avida/current/source/qt-viewer/exp/exp_cleanup2/demo_base_t.cc:1.1.2.1	Mon Dec 15 10:05:48 2003
+++ avida/current/source/qt-viewer/exp/exp_cleanup2/demo_base_t.cc	Tue Dec 16 20:02:52 2003
@@ -12,21 +12,23 @@
 
 using namespace std;
 
-class cTemplateTest : public test_case {
-public: virtual void test() {
-  test_is_true(true);
-} };
-
-class cTestSuite : public test_case {
-public: cTestSuite() : test_case() {
-  adopt_test_case(new cTemplateTest); 
-} };
+namespace demo_base_t {
+  class cTemplateTest : public test_case {
+  public: virtual void test() {
+    test_is_true(true);
+  } };
+  
+  class cTestSuite : public test_case {
+  public: cTestSuite() : test_case() {
+    adopt_test_case(new cTemplateTest); 
+  } };
+}
 
 int main(int argc, char *argv[]){
   cout << endl 
   << "----------------------------------------" << endl
-  << "Testing Template." << endl;
-  cTestSuite t;
+  << "Demonstration of basic testing." << endl;
+  demo_base_t::cTestSuite t;
   t.run_test();
   cout << text_test_interpreter().interpretation(t.last_result());
   return(t.last_result().success_count() != t.last_result().total_test_count());


More information about the Avida-cvs mailing list