Personal tools
You are here: Home Projects C++ Cfront releases Release 3.0.3 source incl-master const-headers Objection.h
Document Actions

Objection.h

by Michael L Powell last modified 2007-01-26 03:20

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
« March 2024 »
Su Mo Tu We Th Fr Sa
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: