#ifndef _COWSITE_H_
#define _COWSITE_H_

// this is a virtual class
// (since pretty much everyone overrides SetSite)

class CObjectWithSite : public IObjectWithSite
{
public:
    //*** IUnknown ****
    // (client must provide!)

    //*** IObjectWithSite ***
    virtual STDMETHODIMP SetSite(IUnknown *punkSite) = 0;
    virtual STDMETHODIMP GetSite(REFIID riid, void **ppvSite);

protected:
    IUnknown*   _punkSite;
};

#endif
