#ifndef _ABSTRACTLISTACTION_H_ #define _ABSTRACTLISTACTION_H_ #include "oaiaction.h" #include "resumptiontoken.h" class abstractlistaction : public oaiaction { public: abstractlistaction(const text_t &name) : oaiaction(name) {this->prevDocSeen = false;} virtual bool output_document(ostream &output, recptproto *protocol, const text_t &collection, const text_t &OID, const text_t &metadataPrefix) = 0; virtual bool output_content(ostream &output, recptproto *protocol, oaiargs ¶ms); virtual void output_content_for_all(ostream &output, recptproto *protocol, oaiargs ¶ms); virtual void output_content_for_col(ostream &output, recptproto *protocol, text_t &gsdlCollect, ColInfoResponse_t &cinfo, comerror_t &err, oaiargs ¶ms); virtual void recurse_set(ostream &output, recptproto *protocol, const text_t &collection, const text_t &classifier, oaiargs ¶ms, ResumptionToken *resumptionToken); protected: bool prevDocSeen; int outputDocs; ResumptionToken *replyToken; bool check_classifier(recptproto *protocol, const text_t &collection, const text_t &classifier); }; #endif