112 lines
2.4 KiB
C++
112 lines
2.4 KiB
C++
|
//+-------------------------------------------------------------------
|
||
|
//
|
||
|
// File: advbnd.hxx
|
||
|
//
|
||
|
// Contents: This file contins the advanced binding test class
|
||
|
//
|
||
|
// Classes: CAdvBndCF (class factory)
|
||
|
// CAdvBnd
|
||
|
//
|
||
|
// History: 30-Mar-92 SarahJ Created
|
||
|
//
|
||
|
//---------------------------------------------------------------------
|
||
|
|
||
|
#ifndef __ADVBND_H__
|
||
|
#define __ADVBND_H__
|
||
|
|
||
|
//#include <win4p.hxx>
|
||
|
#include <smartp.hxx>
|
||
|
|
||
|
extern "C" const GUID CLSID_BasicBnd;
|
||
|
extern "C" const GUID CLSID_AdvBnd;
|
||
|
|
||
|
// DefineSmartItfP(IClassFactory)
|
||
|
|
||
|
|
||
|
//+-------------------------------------------------------------------
|
||
|
//
|
||
|
// Class: CBasicBndCF
|
||
|
//
|
||
|
// Synopsis: Class Factory for CBasicBnd
|
||
|
//
|
||
|
// Methods: IUnknown - QueryInterface, AddRef, Release
|
||
|
// IClassFactory - CreateInstance
|
||
|
//
|
||
|
// History: 21-Mar-92 SarahJ Created
|
||
|
//
|
||
|
//--------------------------------------------------------------------
|
||
|
|
||
|
class CAdvBndCF: public IClassFactory
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
// Constructor/Destructor
|
||
|
CAdvBndCF();
|
||
|
~CAdvBndCF();
|
||
|
static IClassFactory FAR * Create();
|
||
|
|
||
|
// IUnknown
|
||
|
STDMETHOD(QueryInterface)(REFIID iid, void FAR * FAR * ppv);
|
||
|
STDMETHOD_(ULONG, AddRef)(void);
|
||
|
STDMETHOD_(ULONG, Release)(void);
|
||
|
|
||
|
// IClassFactory
|
||
|
STDMETHOD(CreateInstance)(IUnknown FAR* pUnkOuter,
|
||
|
REFIID iidInterface,
|
||
|
void FAR* FAR* ppv);
|
||
|
|
||
|
STDMETHOD(LockServer)(BOOL fLock);
|
||
|
|
||
|
private:
|
||
|
|
||
|
IClassFactory *_pCF;
|
||
|
|
||
|
DWORD _dwRegistration;
|
||
|
|
||
|
ULONG _cRefs;
|
||
|
};
|
||
|
|
||
|
//+-------------------------------------------------------------------
|
||
|
//
|
||
|
// Class: CAdvBnd
|
||
|
//
|
||
|
// Synopsis: Test class CBasicBnd
|
||
|
//
|
||
|
// Methods:
|
||
|
//
|
||
|
// History: 21-Mar-92 SarahJ Created
|
||
|
//
|
||
|
//--------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
class CAdvBnd: public IPersistFile
|
||
|
{
|
||
|
public:
|
||
|
CAdvBnd(IClassFactory *pFactory);
|
||
|
~CAdvBnd();
|
||
|
|
||
|
// IUnknown
|
||
|
STDMETHOD(QueryInterface)(REFIID iid, void FAR * FAR * ppv);
|
||
|
STDMETHOD_(ULONG, AddRef)(void);
|
||
|
STDMETHOD_(ULONG, Release)(void);
|
||
|
|
||
|
// IPersitFile
|
||
|
STDMETHOD(GetClassID)(LPCLSID lpClassID);
|
||
|
STDMETHOD(IsDirty)();
|
||
|
STDMETHOD(Load)(LPCOLESTR lpszFileName, DWORD grfMode);
|
||
|
STDMETHOD(Save)(LPCOLESTR lpszFileName, BOOL fRemember);
|
||
|
STDMETHOD(SaveCompleted)(LPCOLESTR lpszFileName);
|
||
|
STDMETHOD(GetCurFile)(LPOLESTR FAR * lpszFileName);
|
||
|
|
||
|
private:
|
||
|
|
||
|
XIUnknown _xiunk;
|
||
|
|
||
|
DWORD _dwRegister;
|
||
|
|
||
|
ULONG _cRefs;
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif // __ADVBND_H__
|