windows-nt/Source/XPSP1/NT/ds/netapi/svcdlls/upssvc/apcsmart/proto.h

72 lines
1.9 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*
* REVISIONS:
* jod30Nov92: Added GCIP object stuff
* jod02Dec92: Fixed Jim's sloppy code
* jod13Jan93: Added eventList to InterpretMessage
* pcy21Apr93: OS2 FE merge
* pcy21May93: PROTOSIZE changed from 2600 to 8000
* cad22Jul93: Fixed up destructor conflicts and omissions
* pcy17Aug93: Removing strtok() requires new arg in InterpretParameters
* rct05Nov93: moved destructor to CXX file
* ajr08Mar94: Increased the size of PROTOSIZE to reflect changes someone
* made in codes.h
*
* pcy08Apr94: Trim size, use static iterators, dead code removal
* cgm04May96: TestResponse now uses BufferSize
*/
#ifndef __PROTOCOL_H
#define __PROTOCOL_H
#include "_defs.h"
#include "apc.h"
//
// Defines
//
_CLASSDEF(Protocol)
//
// Implementation uses
//
#include "err.h"
#include "trans.h"
#include "pollparm.h"
//
// Interface uses
//
_CLASSDEF(List)
_CLASSDEF(Message)
#define PROTOSIZE 10000
class Protocol
{
protected:
PPollParam ProtoList[PROTOSIZE];
static INT currentTransactionId; //mwh changed from int
PTransactionItem theOriginalTransactionItem;
PTransactionGroup theCurrentTransactionGroup;
public:
Protocol();
virtual ~Protocol();
virtual INT BuildTransactionGroupMessages(PTransactionGroup agroup) = 0;
virtual INT BuildPollTransactionGroupMessages(PTransactionGroup
aTransactionGroup) = 0;
virtual INT InterpretMessage(PMessage msg, PList eventList,
PList newmsglist=(PList)NULL) = 0;
virtual PTransactionGroup InterpretTransactionGroup(PCHAR msg) = 0;
virtual INT TestResponse(PMessage msg,PCHAR Buffer,USHORT BufferSize) =0;
VOID SetCurrentTransactionGroup(PTransactionGroup current);
PTransactionGroup GetCurrentTransactionGroup() {return theCurrentTransactionGroup;};
INT IsEventCodePollable(INT aCode);
};
#endif