112 lines
1.8 KiB
C++
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 ) ;
|
|
}
|
|
|