Objection.h
Click here to get the file
Size
1.5 kB
-
File type
text/plain
File contents
/*ident "@(#)Objection:incl/Objection.h 3.1" */
/******************************************************************************
*
* C++ Standard Components, Release 3.0.
*
* Copyright (c) 1991, 1992 AT&T and Unix System Laboratories, Inc.
* Copyright (c) 1988, 1989, 1990 AT&T. All Rights Reserved.
*
* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T and Unix System
* Laboratories, Inc. The copyright notice above does not evidence
* any actual or intended publication of such source code.
*
******************************************************************************/
#ifndef OBJECTXXXH
#define OBJECTXXXH
typedef int Objection_action(const char*);
class Objection{
// The hander associated with this Objection
Objection_action* handler;
// The default action associated with this Objection
Objection_action* default_action;
// Two trivial objection handlers
static int Ignore(const char*);
static int Default(const char*);
public:
Objection():
handler(Objection::Default),
default_action(0)
{ }
Objection(Objection_action* d):
handler(Objection::Default),
default_action(d)
{ }
// Designate a handler
Objection_action* appoint(Objection_action *h = 0){
Objection_action* result = handler;
handler = h ? h : Objection::Default;
return result;
}
Objection_action* ignore(){
return appoint(Objection::Ignore);
}
// Raise the Objection
int raise(const char* s = "");
};
#endif