82 lines
1.6 KiB
C
82 lines
1.6 KiB
C
|
/*++
|
|||
|
|
|||
|
<EFBFBD> 1998 Seagate Software, Inc. All rights reserved.
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
wsbvar.h
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
This class is a wrapper for the VARIANT structure, providing
|
|||
|
conversion and cleanup automatically. Current supported types
|
|||
|
for conversion are OLECHAR * (BSTR), IUnknown / IDispatch, and
|
|||
|
GUID. GUIDs are represented internally as strings.
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
Rohde Wakefield [rohde] 21-Jan-1997
|
|||
|
|
|||
|
Revision History:
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
#ifndef _WSBVAR_
|
|||
|
#define _WSBVAR_
|
|||
|
|
|||
|
class WSB_EXPORT CWsbVariant : public tagVARIANT
|
|||
|
{
|
|||
|
public:
|
|||
|
CWsbVariant ( ) { Init ( ); }
|
|||
|
~CWsbVariant ( ) { Clear ( ); }
|
|||
|
|
|||
|
HRESULT Clear ( ) { return ( VariantClear ( this ) ); }
|
|||
|
void Init ( ) { VariantInit ( this ); }
|
|||
|
|
|||
|
BOOL IsEmpty ( )
|
|||
|
{
|
|||
|
return ( VT_EMPTY == vt );
|
|||
|
}
|
|||
|
|
|||
|
CWsbVariant & operator = ( const VARIANT & variant )
|
|||
|
{
|
|||
|
VariantCopy ( this, (VARIANT *)&variant );
|
|||
|
return ( *this );
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
BOOL IsBstr ( )
|
|||
|
{
|
|||
|
return ( VT_BSTR == vt );
|
|||
|
}
|
|||
|
|
|||
|
CWsbVariant ( const OLECHAR * string );
|
|||
|
CWsbVariant & operator = ( const OLECHAR * string );
|
|||
|
operator OLECHAR * ( );
|
|||
|
|
|||
|
|
|||
|
BOOL IsInterface ( )
|
|||
|
{
|
|||
|
return ( ( VT_UNKNOWN == vt ) || ( VT_DISPATCH == vt ) );
|
|||
|
}
|
|||
|
|
|||
|
BOOL IsDispatch ( )
|
|||
|
{
|
|||
|
return ( ( VT_DISPATCH == vt ) );
|
|||
|
}
|
|||
|
|
|||
|
CWsbVariant ( IUnknown * );
|
|||
|
CWsbVariant ( IDispatch * );
|
|||
|
operator IUnknown * ( );
|
|||
|
operator IDispatch * ( );
|
|||
|
CWsbVariant & operator = ( IUnknown * pUnk );
|
|||
|
CWsbVariant & operator = ( IDispatch * pDisp );
|
|||
|
|
|||
|
CWsbVariant ( REFGUID rguid );
|
|||
|
CWsbVariant & operator = ( REFGUID rguid );
|
|||
|
operator GUID ();
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
#endif
|