home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / activedocument / framer / iclisite.cpp < prev    next >
C/C++ Source or Header  |  1997-08-12  |  2KB  |  128 lines

  1. /*
  2.  * ICLISITE.CPP
  3.  * IOleClientSite for Document Objects CSite class
  4.  *
  5.  * Copyright (c)1995-1997 Microsoft Corporation, All Rights Reserved
  6.  */
  7.  
  8.  
  9. #include "framer.h"
  10.  
  11.  
  12. /*
  13.  * CImpIOleClientSite::CImpIOleClientSite
  14.  * CImpIOleClientSite::~CImpIOleClientSite
  15.  *
  16.  * Parameters (Constructor):
  17.  *  pSite           PCSite of the site we're in.
  18.  *  pUnkOuter       LPUNKNOWN to which we delegate.
  19.  */
  20.  
  21. CImpIOleClientSite::CImpIOleClientSite(PCSite pSite
  22.     , LPUNKNOWN pUnkOuter)
  23.     {
  24.     m_cRef=0;
  25.     m_pSite=pSite;
  26.     m_pUnkOuter=pUnkOuter;
  27.     return;
  28.     }
  29.  
  30. CImpIOleClientSite::~CImpIOleClientSite(void)
  31.     {
  32.     return;
  33.     }
  34.  
  35.  
  36.  
  37.  
  38. /*
  39.  * CImpIOleClientSite::QueryInterface
  40.  * CImpIOleClientSite::AddRef
  41.  * CImpIOleClientSite::Release
  42.  *
  43.  * Purpose:
  44.  *  IUnknown members for CImpIOleClientSite object.
  45.  */
  46.  
  47. STDMETHODIMP CImpIOleClientSite::QueryInterface(REFIID riid
  48.     , void **ppv)
  49.     {
  50.     return m_pUnkOuter->QueryInterface(riid, ppv);
  51.     }
  52.  
  53.  
  54. STDMETHODIMP_(ULONG) CImpIOleClientSite::AddRef(void)
  55.     {
  56.     ++m_cRef;
  57.     return m_pUnkOuter->AddRef();
  58.     }
  59.  
  60. STDMETHODIMP_(ULONG) CImpIOleClientSite::Release(void)
  61.     {
  62.     --m_cRef;
  63.     return m_pUnkOuter->Release();
  64.     }
  65.  
  66.  
  67.  
  68.  
  69. /*
  70.  * CImpIOleClientSite::SaveObject
  71.  *
  72.  * Purpose:
  73.  *  Requests that the container call OleSave for the object that
  74.  *  lives here.  Typically this happens on server shutdown.
  75.  *
  76.  * Parameters:
  77.  *  None
  78.  *
  79.  * Return Value:
  80.  *  HRESULT         Standard.
  81.  */
  82.  
  83. STDMETHODIMP CImpIOleClientSite::SaveObject(void)
  84.     {
  85.     m_pSite->Update();
  86.     return NOERROR;
  87.     }
  88.  
  89.  
  90.  
  91.  
  92. /*
  93.  * Unimplemented/trivial members
  94.  *  GetMoniker
  95.  *  GetContainer
  96.  *  RequestNewObjectLayout
  97.  *  OnShowWindow
  98.  *  ShowObject
  99.  */
  100.  
  101. STDMETHODIMP CImpIOleClientSite::GetMoniker(DWORD dwAssign
  102.     , DWORD dwWhich, LPMONIKER *ppmk)
  103.     {
  104.     return E_NOTIMPL;
  105.     }
  106.  
  107. STDMETHODIMP CImpIOleClientSite::GetContainer(LPOLECONTAINER
  108.     * ppContainer)
  109.     {
  110.         *ppContainer=NULL;
  111.         return E_NOINTERFACE;
  112.     }
  113.  
  114. STDMETHODIMP CImpIOleClientSite::RequestNewObjectLayout(void)
  115.     {
  116.     return E_NOTIMPL;
  117.     }
  118.  
  119. STDMETHODIMP CImpIOleClientSite::OnShowWindow(BOOL fShow)
  120.     {
  121.     return NOERROR;
  122.     }
  123.  
  124. STDMETHODIMP CImpIOleClientSite::ShowObject(void)
  125.     {
  126.     return NOERROR;
  127.     }
  128.