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

51 lines
1.5 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:
// RSVC Callback Class for Client
//
// Author: Jie Chen
//
//
//
#ifndef _RSVC_CALLBACK_H
#define _RSVC_CALLBACK_H
#include <stdio.h>
#include <string.h>
#include <rsvcData.h>
typedef void (*rsvcCbkFunc) (int status, void* arg, rsvcData* data);
class RSVC_CLASS_SPEC rsvcCallback
{
public:
// constructor
rsvcCallback (void);
rsvcCallback (rsvcCbkFunc func, void* arg);
rsvcCallback (const rsvcCallback& cbk);
rsvcCallback& operator = (const rsvcCallback& cbk);
// destructor
~rsvcCallback (void);
int operator == (const rsvcCallback& cbk);
int operator != (const rsvcCallback& cbk);
virtual rsvcCbkFunc cbkFunc (void) const;
virtual void* userarg (void) const;
// return whether this callback is empty
int empty (void);
private:
rsvcCbkFunc cbk_;
void* arg_;
};
#endif