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) 1996 Microsoft Corporation
Module Name:
expinfo.h
Abstract:
Defines the CExpirationPolicy class that maintains all properties about an expiration policy.
Author:
Magnus Hedlund (MagnusH) --
Revision History:
--*/
#ifndef _EXPINFO_INCLUDED_
#define _EXPINFO_INCLUDED_
// Dependencies:
#include "cmultisz.h"
typedef struct _NNTP_EXPIRE_INFO NNTP_EXPIRE_INFO, * LPNNTP_EXPIRE_INFO;
//
// Changed flags:
//
#define CHNG_EXPIRE_SIZE 0x00000001
#define CHNG_EXPIRE_TIME 0x00000002
#define CHNG_EXPIRE_NEWSGROUPS 0x00000004
#define CHNG_EXPIRE_ID 0x00000008
#define CHNG_EXPIRE_POLICY_NAME 0x00000010
/////////////////////////////////////////////////////////////////////////////
// Defaults:
#define DEFAULT_EXPIRE_SIZE ( 500 ) // 500 megabytes
#define DEFAULT_EXPIRE_TIME ( 24 * 7 ) // One week
#define DEFAULT_EXPIRE_NEWSGROUPS ( _T ("\0") ) // Empty list
#define DEFAULT_EXPIRE_POLICY_NAME ( _T ("") ) // No name
DWORD GetExpireId ( const LPWSTR wszKey ); BOOL IsKeyValidExpire ( const LPWSTR wszKey );
//$-------------------------------------------------------------------
//
// Class:
//
// CExpirationPolicy
//
// Description:
//
// Maintains properties about a expire & communicates with the metabase.
//
// Interface:
//
//
//
//--------------------------------------------------------------------
class CExpirationPolicy { public: CExpirationPolicy ( ); ~CExpirationPolicy ( );
void Destroy ();
const CExpirationPolicy & operator= ( const CExpirationPolicy & Expire ); inline const CExpirationPolicy & operator= ( const NNTP_EXPIRE_INFO & Expire ) { FromExpireInfo ( &Expire ); return *this; }
BOOL CheckValid ();
HRESULT ToExpireInfo ( LPNNTP_EXPIRE_INFO pExpireInfo ); void FromExpireInfo ( const NNTP_EXPIRE_INFO * pExpireInfo );
HRESULT Add ( LPCWSTR strServer, DWORD dwInstance); HRESULT Set ( LPCWSTR strServer, DWORD dwInstance); // HRESULT Get ( LPCWSTR strServer, DWORD dwInstance);
HRESULT Remove ( LPCWSTR strServer, DWORD dwInstance);
// expire Properties:
public: DWORD m_dwExpireId;
CComBSTR m_strPolicyName; DWORD m_dwSize; DWORD m_dwTime; CMultiSz m_mszNewsgroups;
private: // Don't call the copy constructor:
CExpirationPolicy ( const CExpirationPolicy & ); };
#endif // _EXPINFO_INCLUDED_
|