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

66 lines
2.3 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.
*
* -----------------------------------------------------------------------------
*
* defCallbackCollector : This class is used to collect the callbacks from a
* a single cdevDefCollectionRequest. This is an
* implementation class that is only associated with the
* default cdevCollectionObject if the developer's
* service does not provide specific support for
* collections.
*
* The cdevCollectionRequest object will obtain the
* cdevData object from this object and will return it
* to the caller or to an interim
* cdevGrpCollectionRequest object.
*
* Author: Walt Akers
*
* Revision History:
* defCallbackCollector.h,v
* Revision 1.1 1996/11/12 20:32:37 akers
* New collection device source code
*
* -----------------------------------------------------------------------------
*/
#ifndef _DEF_CALLBACK_COLLECTOR_H_
#define _DEF_CALLBACK_COLLECTOR_H_
#include <cdevData.h>
#include <cdevTranObj.h>
#include <cdevCollectionRequest.h>
class defCallbackCollector
{
public:
typedef struct
{
int index;
int processed;
defCallbackCollector * parent;
} Request;
int counter;
cdevData result;
cdevData & format;
cdevTranObj * xobj;
Request * requests;
int nRequests;
defCallbackCollector ( int NRequests, cdevData &Format, cdevTranObj &XObj );
~defCallbackCollector ( void );
int finished ( void );
void processRequest ( int idx, int status, cdevData *data = NULL );
void mergeData ( cdevData &to, cdevData &from, int arraySize, int idx);
void copyItemToArray ( cdevData &to, cdevData &from, int tag, int idx);
void installEmptyArray ( cdevData &data, int tag, cdevDataTypes type, int size);
};
#endif /* _DEF_CALLBACK_COLLECTOR_H_ */