KOALA.H

/* 
* KOALA.H
* Koala Object Independent of DLL/EXE Servers, Chapter 5
*
* Classes that implement the Koala object independent of
* whether we live in a DLL or EXE.
*
* Copyright (c)1993-1995 Microsoft Corporation, All Right Reserved
*
* Kraig Brockschmidt, Microsoft
* Internet : kraigb@microsoft.com
* Compuserve: >INTERNET:kraigb@microsoft.com
*/


#ifndef _KOALA_H_
#define _KOALA_H_

#define CHAPTER5
#include <inole.h>

//KOALA.CPP

class CKoala : public IUnknown
{
protected:
ULONG m_cRef; //Object reference count
LPUNKNOWN m_pUnkOuter; //Controlling unknown

PFNDESTROYED m_pfnDestroy; //To call on closure

public:
CKoala(LPUNKNOWN, PFNDESTROYED);
~CKoala(void);

BOOL Init(void);

//Non-delegating object IUnknown
STDMETHODIMP QueryInterface(REFIID, PPVOID);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
};

typedef CKoala *PCKoala;

#endif //_KOALA_H_