home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1997 October
/
Chip_1997-10_cd.bin
/
tema
/
sybase
/
powerj
/
hpp.z
/
WOLEDISP.HPP
< prev
next >
Wrap
C/C++ Source or Header
|
1997-01-15
|
4KB
|
122 lines
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Copyright (C) 1996, 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. %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
#ifndef _WOLEDISP_HPP_INCLUDED
#define _WOLEDISP_HPP_INCLUDED
#ifndef _WNO_PRAGMA_PUSH
#pragma pack(push,8);
#pragma enum int;
#endif
#ifndef _WOLETYPE_HPP_INCLUDED
# include "woletype.hpp"
#endif
#ifndef _WOLEIFAM_HPP_INCLUDED
# include "woleifam.hpp"
#endif
struct WOleAutomationObjectRegistryDataBlock {
const WCLSID *_typeLib;
WInt _toolboxBitmap32;
};
class WCMCLASS WOleAutomationObjectRegistryData : public WOleInterfaceFamilyRegistryData
{
public:
WOleAutomationObjectRegistryData( const WCLSID & clsid, void * );
~WOleAutomationObjectRegistryData( void );
// Properties
WBool SetRegistryDataBlock( WOleAutomationObjectRegistryDataBlock * );
WOleAutomationObjectRegistryDataBlock *GetRegistryDataBlock( void ) const;
// Self Registration
virtual WBool Register( WApplication *application );
virtual WBool Unregister( WApplication *application );
};
#define WOleDefineAutomationObject( n, c, c_id, rdb ) \
static WOleAutomationObjectRegistryData n ## _WOleAutoRegistryData( c_id, &rdb );
/*************************************************************************
*
* WOleAutomationObject -- Ole Automation interface family
*
*
* Events:
*
*
*************************************************************************/
class WOleISupportErrorInfo;
class WOleIProvideClassInfo2;
class WCMCLASS WOleAutomationObject : public WOleInterfaceFamily
{
WDeclareSubclass( WOleAutomationObject, WOleInterfaceFamily );
public:
/**********************************************************
* Constructors and Destructors
*********************************************************/
WOleAutomationObject( WOleServerObject *serverObject );
virtual ~WOleAutomationObject();
/**************************************************************
* Properties
**************************************************************/
// Dispatch Interface
WBool SetDispatchInterface( WPIDispatch dispatchInterface );
WPIDispatch GetDispatchInterface( void ) const;
// IID
WBool SetIID( const WIID & guid );
WIID GetIID( void ) const;
// IsIDispatch
WBool SetIsIDispatch( WBool );
WBool GetIsIDispatch( void );
/**************************************************************
* Methods
**************************************************************/
// overrides
virtual WBool QueryInterface( const WCLSID & clsid, void **iface );
/**********************************************************
* Operators
*********************************************************/
/**********************************************************
* Data Members
*********************************************************/
protected:
WBool _isIDispatch;
WPIDispatch _dispatchInterface;
WOleISupportErrorInfo *_iSuppErr;
WOleIProvideClassInfo2 *_pIProvideClassInfo2;
WIID _iid;
};
#ifndef _WNO_PRAGMA_PUSH
#pragma enum pop;
#pragma pack(pop);
#endif
#endif // _WOLEDISP_HPP_INCLUDED