1 // Copyright (c) 1996 James Clark
2 // See the file COPYING for copying permission.
3 #pragma ident	"%Z%%M%	%I%	%E% SMI"
4 
5 #ifdef __GNUG__
6 #pragma implementation
7 #endif
8 #include "splib.h"
9 #include "ErrorCountEventHandler.h"
10 
11 #ifdef SP_NAMESPACE
12 namespace SP_NAMESPACE {
13 #endif
14 
ErrorCountEventHandler(unsigned errorLimit)15 ErrorCountEventHandler::ErrorCountEventHandler(unsigned errorLimit)
16 : errorCount_(0), maxErrors_(errorLimit), cancel_(0)
17 {
18 }
19 
message(MessageEvent * event)20 void ErrorCountEventHandler::message(MessageEvent *event)
21 {
22   noteMessage(event->message());
23   delete event;
24 }
25 
noteMessage(const Message & message)26 void ErrorCountEventHandler::noteMessage(const Message &message)
27 {
28   if (message.isError() && ++errorCount_ == maxErrors_)
29     cancel_ = 1;
30 }
31 
32 #ifdef SP_NAMESPACE
33 }
34 #endif
35