/* Web Polygraph http://www.web-polygraph.org/ * (C) 2003-2006 The Measurement Factory * Licensed under the Apache License, Version 2.0 */ #ifndef POLYGRAPH__CLIENT_SINGLECXM_H #define POLYGRAPH__CLIENT_SINGLECXM_H #include "client/CltXactMgr.h" class CltXact; class Connection; // a manager of a single CltXact that does not share the connection // with other client transactions class SingleCxm: public CltXactMgr { public: SingleCxm(CltXact &aXact); virtual void reset(); virtual bool idle() const; void releaseReadControl(CltXact *x); virtual void control(CltXact *x); virtual void rewind(CltXact *x); virtual void noteAbort(CltXact *x); virtual void noteDone(CltXact *x); virtual void noteLastXaction(CltXact *x); virtual void noteReadReady(int fd); virtual void noteWriteReady(int fd); virtual Connection *conn(); private: CltXact &theXact; Size theFillSize; }; #endif