Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1994-1999 Microsoft Corporation
Module Name :
scache.h
Abstract:
IIS Server cache definitions
Author:
Ronald Meijer (ronaldm)
Project:
Internet Services Manager
Revision History:
--*/
#ifndef __SCACHE_H__
#define __SCACHE_H__
class CIISMachine;
class CIISServerCache : public CPtrList /*++
Class Description:
Server cache. Server cache will be maintained in sorted order.
Public Interface:
CIISServerCache : Constructor ~CIISServerCache : Destructor
IsDirty : TRUE if the cache is dirty SetDirty : Set the dirty bit Add : Add machine object to cache Remove : Remove machine object from cache GetFirst : Get first machine object in cache GetNext : Get next machine object in cache. GetFirst must have been called first. GetLast : Get last machine object in cache GetPrev : Get previous machine object in cache GetLast must have been called first.
--*/ { public: CIISServerCache() : m_pos(NULL), m_fDirty(FALSE) {}; ~CIISServerCache() {};
public: BOOL IsDirty() const { return m_fDirty; } void SetDirty(BOOL fDirty = TRUE) { m_fDirty = fDirty; } BOOL Add(CIISMachine * pMachine); BOOL Remove(CIISMachine * pMachine); CIISMachine * GetNext() { return m_pos ? (CIISMachine *)CPtrList::GetNext(m_pos) : NULL; } CIISMachine * GetFirst() { m_pos = GetHeadPosition(); return GetNext(); } CIISMachine * GetPrev() { return m_pos ? (CIISMachine *)CPtrList::GetPrev(m_pos) : NULL; } CIISMachine * GetLast() { m_pos = GetTailPosition(); return GetPrev(); }
private: POSITION m_pos; BOOL m_fDirty; };
#endif // __SCACHE_H__
|