windows-nt/Source/XPSP1/NT/inetsrv/query/h/ocursor.hxx
2020-09-26 16:20:57 +08:00

71 lines
1.7 KiB
C++

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1991 - 1992.
//
// File: ocursor.hxx
//
// Contents: Occurrence Cursor Class
//
// Classes: COccCursor
//
// History: 19-Feb-92 AmyA Created.
//
//----------------------------------------------------------------------------
#pragma once
#include <cursor.hxx>
const RANK_MULTIPLIER = 16; // Rank is scaled by this number
//+---------------------------------------------------------------------------
//
// Class: COccCursor
//
// Purpose: The root class for all occurrence cursors and CKeyCursor
//
// Interface:
//
// History: 19-Feb-92 AmyA Created.
// 14-Apr-92 AmyA Added Rank().
// 23-Jun-94 SitaramR Added _widMax and MaxWorkId().
//
//----------------------------------------------------------------------------
class COccCursor : public CCursor
{
public:
COccCursor ( INDEXID iid, WORKID widMax )
: CCursor(iid), _widMax(widMax) {}
COccCursor (WORKID widMax) : _widMax(widMax) {}
COccCursor () : _widMax(0) {}
virtual OCCURRENCE Occurrence() = 0;
virtual OCCURRENCE NextOccurrence() = 0;
virtual ULONG OccurrenceCount() = 0;
virtual OCCURRENCE MaxOccurrence() = 0;
virtual LONG Rank() { return MAX_QUERY_RANK; }
virtual BOOL IsEmpty() { return Occurrence() == OCC_INVALID; }
virtual WORKID MaxWorkId() { return _widMax; }
#ifdef CIEXTMODE
void CiExtDump(void *ciExtSelf);
#endif
protected:
WORKID _widMax;
};