2025-04-27 07:49:33 -04:00

112 lines
1.8 KiB
C++

/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
cfeed.cpp
Abstract:
This module contains definition for the CFeed base class
Author:
Carl Kadie (CarlK) 01-Oct-1995
Revision History:
--*/
#include "tigris.hxx"
//
//If some of these look very simple, make them inline!!!!
//
CPool CFeed::gFeedPool(FEED_SIGNATURE) ;
//
// Largest possible CInFeed derived object
//
#define MAX_FEED_SIZE max( sizeof( CFeed ), \
max( sizeof( COutFeed ), \
max( sizeof( CInFeed ), \
max( sizeof( CFromPeerFeed ), \
max( sizeof( CFromMasterFeed ), \
sizeof( CFromClientFeed ) \
) ) ) ) )
const unsigned cbMAX_FEED_SIZE = MAX_FEED_SIZE ;
BOOL
CFeed::InitClass()
/*++
Routine Description:
Preallocates CPOOL memory for articles
Arguments:
None.
Return Value:
TRUE, if successful. FALSE, otherwise.
--*/
{
return gFeedPool.ReserveMemory( MAX_FEEDS, cbMAX_FEED_SIZE ) ;
}
BOOL
CFeed::TermClass(
void
)
/*++
Routine Description:
Called when done with CPOOL.
Arguments:
None.
Return Value:
TRUE, if successful. FALSE, otherwise.
--*/
{
_ASSERT( gFeedPool.GetAllocCount() == 0 ) ;
return gFeedPool.ReleaseMemory() ;
}
void
CFeed::LogFeedEvent( DWORD messageId, LPSTR lpstrMessageId, DWORD dwInstanceId ) {
return ;
}
void* CFeed::operator new( size_t size )
{
Assert( size <= MAX_FEED_SIZE ) ;
return gFeedPool.Alloc() ;
}
void CFeed::operator delete( void* pv )
{
gFeedPool.Free( pv ) ;
}