68 lines
1.6 KiB
C++
68 lines
1.6 KiB
C++
/*
|
|
*
|
|
* NOTES:
|
|
*
|
|
* REVISIONS:
|
|
* ker13NOV92 Initial OS/2 Revision
|
|
* pcy07Dec92: DeepGet no longer needs aCode
|
|
* pcy11Dec92: Rework
|
|
* cad31Aug93: removing compiler warnings (some anyway)
|
|
* pcy08Apr94: Trim size, use static iterators, dead code removal
|
|
* awm27Oct97: Added performance monitor offset to sensor class
|
|
* awm14Jan98: Removed performance monitor offset -- this exists in own class now
|
|
* clk11Feb98: Added DeepGetWithoutUpdate function
|
|
*/
|
|
|
|
#ifndef __SENSOR_H
|
|
#define __SENSOR_H
|
|
|
|
#include "cdefine.h"
|
|
#include "_defs.h"
|
|
#include "codes.h"
|
|
#include "err.h"
|
|
#include "apc.h"
|
|
#include "update.h"
|
|
|
|
|
|
_CLASSDEF(CommController)
|
|
_CLASSDEF(Device)
|
|
_CLASSDEF(Event)
|
|
_CLASSDEF(Sensor)
|
|
|
|
#define NO_SENSOR_CODE 666
|
|
|
|
enum ACCESSTYPE { AREAD_ONLY, AREAD_WRITE };
|
|
|
|
class Sensor : public UpdateObj {
|
|
protected:
|
|
PDevice theDevice;
|
|
PCommController theCommController;
|
|
INT theSensorCode;
|
|
ACCESSTYPE readOnly;
|
|
PCHAR theValue;
|
|
virtual INT storeValue(const PCHAR aValue);
|
|
PCHAR lookupSensorName(INT anIsaCode);
|
|
|
|
|
|
public:
|
|
Sensor( PDevice aParent, PCommController aCommController, INT aSensorCode, ACCESSTYPE aReadOnly = AREAD_ONLY);
|
|
virtual ~Sensor();
|
|
|
|
//overidden interfaces
|
|
|
|
virtual INT Update(PEvent anEvent);
|
|
|
|
//additional public interfaces
|
|
|
|
virtual INT Get(PCHAR);
|
|
virtual INT Get(INT, PCHAR);
|
|
virtual INT DeepGet(PCHAR = (PCHAR)NULL);
|
|
virtual INT DeepGetWithoutUpdate(PCHAR = NULL);
|
|
virtual INT Set(const PCHAR);
|
|
virtual INT Set(INT, const PCHAR);
|
|
virtual INT Validate(INT, const PCHAR) { return ErrNO_ERROR; } ;
|
|
};
|
|
|
|
#endif
|
|
|