PageRenderTime 35ms CodeModel.GetById 9ms RepoModel.GetById 0ms app.codeStats 0ms

/Visual Studio 2008/CppOfficeManagedCOMAddInShim/ConnectProxy.h

#
C Header | 55 lines | 39 code | 13 blank | 3 comment | 0 complexity | c4b4940408bbac8b78c6a4318b55a258 MD5 | raw file
  1. // ConnectProxy.h
  2. #pragma once
  3. #include "resource.h"
  4. #include "CppOfficeManagedCOMAddInShim.h"
  5. using namespace AddInDesignerObjects;
  6. class ATL_NO_VTABLE CConnectProxy :
  7. public CComObjectRootEx<CComSingleThreadModel>,
  8. public CComCoClass<CConnectProxy, &CLSID_ConnectProxy>,
  9. public IDispatchImpl<_IDTExtensibility2,
  10. &IID__IDTExtensibility2,
  11. &LIBID_AddInDesignerObjects, 1, 0>,
  12. public IComAggregator
  13. {
  14. public:
  15. CConnectProxy();
  16. DECLARE_REGISTRY_RESOURCEID(IDR_CONNECTPROXY)
  17. DECLARE_PROTECT_FINAL_CONSTRUCT()
  18. BEGIN_COM_MAP(CConnectProxy)
  19. COM_INTERFACE_ENTRY(IDTExtensibility2)
  20. COM_INTERFACE_ENTRY(IComAggregator)
  21. COM_INTERFACE_ENTRY_AGGREGATE_BLIND(m_pUnknownInner)
  22. END_COM_MAP()
  23. HRESULT FinalConstruct();
  24. void FinalRelease();
  25. public:
  26. //IDTExtensibility2.
  27. STDMETHOD(OnConnection)(
  28. IDispatch * Application, ext_ConnectMode ConnectMode,
  29. IDispatch *AddInInst, SAFEARRAY **custom);
  30. STDMETHOD(OnAddInsUpdate)(SAFEARRAY **custom);
  31. STDMETHOD(OnStartupComplete)(SAFEARRAY **custom);
  32. STDMETHOD(OnBeginShutdown)(SAFEARRAY **custom);
  33. STDMETHOD(OnDisconnection)(
  34. ext_DisconnectMode RemoveMode, SAFEARRAY **custom);
  35. // IComAggregator.
  36. STDMETHOD(SetInnerPointer)(IUnknown* pUnkInner);
  37. private:
  38. IDTExtensibility2 *m_pConnect;
  39. CCLRLoader *m_pCLRLoader;
  40. IUnknown *m_pUnknownInner;
  41. };
  42. OBJECT_ENTRY_AUTO(__uuidof(ConnectProxy), CConnectProxy)