Files
cdev-1.7.2n/include/cdevSystemBase.h
2022-12-13 12:44:04 +01:00

57 lines
1.6 KiB
C++

//-----------------------------------------------------------------------------
// Copyright (c) 1994,1995 Southeastern Universities Research Association,
// Continuous Electron Beam Accelerator Facility
//
// This software was developed under a United States Government license
// described in the NOTICE file included as part of this distribution.
//
//-----------------------------------------------------------------------------
//
// Description:
// cdevSystemBase class (abstract class)
//
// Author: Jie Chen & Chip Watson
//
// Revision History:
// cdevSystemBase.h,v
// Revision 1.2 1996/05/28 13:00:12 chen
// minor changes
//
// Revision 1.1.1.1 1995/06/16 17:14:08 epics
// initial import of cdev
//
//
#ifndef _CDEV_SYSTEM_BASE
#define _CDEV_SYSTEM_BASE
#include "cdevError.h"
#include "cdevSync.h"
class CDEV_CLASS_SPEC cdevSystemBase: public cdevSync, public cdevError
{
public:
virtual ~cdevSystemBase (void);
// PURPOSE: destructor for cdevSystemBase
// REQUIRE: nothing
// PROMISE: it will be gone
virtual char *name (void) const = 0;
// PURPOSE: pure virtual function
// REQUIRE: derived class provides real implementation
// PROMISE: nothing
virtual int getRequestObject (char *deviceName,
char *msg,
cdevRequestObject* &req) = 0;
// PURPOSE: pure virtual function
// REQUIRE: callers provide pointer to cdevRequestObject only, no memory
// PROMISE: nothing
virtual const char *className (void) const {return "cdevSystemBase";}
protected:
//constructor, deny direct instantiation
cdevSystemBase (void);
};
#endif