home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1997 October
/
Chip_1997-10_cd.bin
/
tema
/
sybase
/
powerj
/
hpp.z
/
WOLECFAC.HPP
< prev
next >
Wrap
C/C++ Source or Header
|
1997-01-10
|
4KB
|
117 lines
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Copyright (C) 1994, by WATCOM International Inc. All rights %
% reserved. No part of this software may be reproduced or %
% used in any form or by any means - graphic, electronic or %
% mechanical, including photocopying, recording, taping or %
% information storage and retrieval systems - except with the %
% written permission of WATCOM International Inc. %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
/*************************************************************************
*
* WOleClassManager -- Ole Class Manager
*
*
* Events:
*
*
*************************************************************************/
#ifndef _WOLECFAC_HPP_INCLUDED
#define _WOLECFAC_HPP_INCLUDED
#ifndef _WNO_PRAGMA_PUSH
#pragma pack(push,8);
#pragma enum int;
#endif
#ifndef _WOLETYPE_HPP_INCLUDED
# include "woletype.hpp"
#endif
// forward class declarations
class WApplication;
class WOleClassManager;
class WOleClassManager_IClassFac;
// the following is definitions of WOleClassManager
class WCMCLASS WOleClassManager : public WEventGenerator {
WDeclareSubclass( WOleClassManager, WEventGenerator );
friend class WOleClassManager_IClassFac;
public:
/**********************************************************
* Constructors and Destructors
*********************************************************/
WOleClassManager( WBool isExe );
virtual ~WOleClassManager();
public:
/**************************************************************
* Properties
**************************************************************/
// User Mode
WBool SetUserMode( WBool userMode );
WBool GetUserMode( void ) const;
/**************************************************************
* Methods
**************************************************************/
WULong RegisterServer( WApplication *application );
WULong UnregisterServer( WApplication *application );
WULong CanUnloadNow( void );
WBool CheckUnloadExe( void );
WBool RegisterClassObjects( void );
WBool RevokeClassObjects( void );
static void IncrementObjectCount( void );
static void DecrementObjectCount( void );
/**************************************************************
* Item Properties
**************************************************************/
WULong GetClassObject( const WCLSID & rclsid, const WIID & riid, void **ppv );
protected:
/**************************************************************
* Internal Methods
**************************************************************/
WBool RegisteredListAdd( WULong dwReg );
/**********************************************************
* Data Members
*********************************************************/
protected:
static WULong _lockCount;
static WULong _objCount;
WBool _isExe;
WBool _userMode;
WULong _regCount;
WULong _regSize;
WULong *_regList;
};
#ifndef _WNO_PRAGMA_PUSH
#pragma enum pop;
#pragma pack(pop);
#endif
#endif // _WOLECFAC_HPP_INCLUDED