Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
2.8 KiB

  1. //****************************************************************************
  2. // Module: NMCHAT.EXE
  3. // File: CCONF.H
  4. // Content:
  5. //
  6. //
  7. // Copyright (c) Microsoft Corporation 1997
  8. //
  9. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  10. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  11. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  12. // PARTICULAR PURPOSE.
  13. //****************************************************************************
  14. class CMgrNotify : public RefCount, public CNotify, public INmManagerNotify, public IAppSharingNotify
  15. {
  16. public:
  17. CMgrNotify();
  18. ~CMgrNotify();
  19. // IUnknown methods
  20. STDMETHODIMP_(ULONG) AddRef(void);
  21. STDMETHODIMP_(ULONG) Release(void);
  22. STDMETHODIMP QueryInterface(REFIID riid, PVOID *ppvObj);
  23. // ICNotify methods
  24. STDMETHODIMP Connect (IUnknown *pUnk);
  25. STDMETHODIMP Disconnect(void);
  26. // INmManagerNotify
  27. STDMETHODIMP NmUI(CONFN confn);
  28. STDMETHODIMP ConferenceCreated(INmConference *pConference);
  29. STDMETHODIMP CallCreated(INmCall *pNmCall);
  30. // IAppSharingNotify
  31. STDMETHODIMP OnReadyToShare(BOOL fReady);
  32. STDMETHODIMP OnShareStarted();
  33. STDMETHODIMP OnSharingStarted();
  34. STDMETHODIMP OnShareEnded();
  35. STDMETHODIMP OnPersonJoined(IAS_GCC_ID gccID);
  36. STDMETHODIMP OnPersonLeft(IAS_GCC_ID gccID);
  37. STDMETHODIMP OnStartInControl(IAS_GCC_ID gccInControlOf);
  38. STDMETHODIMP OnStopInControl(IAS_GCC_ID gccInControlOf);
  39. STDMETHODIMP OnControllable(BOOL fControllable);
  40. STDMETHODIMP OnStartControlled(IAS_GCC_ID gccControlledBy);
  41. STDMETHODIMP OnStopControlled(IAS_GCC_ID gccControlledBy);
  42. };
  43. class CConfNotify : public RefCount, public CNotify, public INmConferenceNotify
  44. {
  45. public:
  46. CConfNotify();
  47. ~CConfNotify();
  48. // INmConferenceNotify
  49. HRESULT STDMETHODCALLTYPE NmUI(CONFN uNotify);
  50. HRESULT STDMETHODCALLTYPE StateChanged(NM_CONFERENCE_STATE uState);
  51. HRESULT STDMETHODCALLTYPE MemberChanged(NM_MEMBER_NOTIFY uNotify, INmMember *pfMember);
  52. // ICNotify methods
  53. HRESULT STDMETHODCALLTYPE Connect (IUnknown *pUnk);
  54. HRESULT STDMETHODCALLTYPE Disconnect(void);
  55. // IUnknown methods
  56. ULONG STDMETHODCALLTYPE AddRef(void);
  57. ULONG STDMETHODCALLTYPE Release(void);
  58. HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, PVOID *ppvObj);
  59. };
  60. const WM_CREATEDATA = 0x07181975;
  61. // Global Variables
  62. extern INmManager * g_pMgr;
  63. extern INmConference * g_pConference;
  64. extern IAppSharing * g_pAS;
  65. // Global Functions
  66. HRESULT InitConfMgr(void);
  67. VOID FreeConfMgr(void);
  68. VOID FreeConference(void);
  69. HRESULT HookConference(INmConference * pConference);
  70. BOOL ServiceCtrlHandler(DWORD dwCtrlType);
  71. #define IS_NT (g_osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
  72. extern OSVERSIONINFO g_osvi; // The os version info structure global