Leaked source code of windows server 2003
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.

72 lines
2.0 KiB

  1. #ifndef _H323_H_
  2. #define _H323_H_
  3. #include <winerror.h>
  4. #include <appavcap.h>
  5. #include <ih323cc.h>
  6. #include "video.h"
  7. #include "audio.h"
  8. #include <nacguids.h>
  9. #include "capflags.h"
  10. const DWORD H323UDF_ALREADY_IN_T120_CALL = 0x01000001;
  11. const DWORD H323UDF_INVITE = 0x00000001;
  12. const DWORD H323UDF_JOIN = 0x00000002;
  13. const DWORD H323UDF_SECURE = 0x00000004;
  14. const DWORD H323UDF_AUDIO = 0x00000008;
  15. const DWORD H323UDF_VIDEO = 0x00000010;
  16. class CH323ConnEvent
  17. {
  18. public:
  19. virtual CREQ_RESPONSETYPE OnH323IncomingCall(IH323Endpoint* pConnection, P_APP_CALL_SETUP_DATA lpvMNMData) = 0;
  20. };
  21. class CH323UI
  22. {
  23. public:
  24. CH323UI();
  25. ~CH323UI();
  26. // IH323ConfAdvise Methods:
  27. STDMETHODIMP QueryInterface(REFIID riid, LPVOID FAR * ppvObj);
  28. STDMETHOD_(ULONG, AddRef());
  29. STDMETHOD_(ULONG, Release());
  30. STDMETHODIMP GetMediaChannel (GUID *pmediaID,
  31. BOOL bSendDirection, IMediaChannel **ppI);
  32. // Other Methods:
  33. HRESULT Init(HWND hWnd, HINSTANCE m_hInstance, UINT caps,
  34. CH323ConnEvent *pConnEvent, IH323ConfAdvise *pConfAdvise);
  35. IH323CallControl* GetH323CallControl() { return m_pH323CallControl; };
  36. IMediaChannelBuilder* GetStreamProvider();
  37. VOID SetBandwidth(DWORD uBandwidth);
  38. VOID SetUserName(BSTR bstrName);
  39. VOID SetCaptureDevice(DWORD dwCaptureID);
  40. protected:
  41. // Members:
  42. UINT m_uRef;
  43. UINT m_uCaps;
  44. IH323CallControl* m_pH323CallControl;
  45. IMediaChannelBuilder* m_pStreamProvider;
  46. static CH323UI* m_spH323UI;
  47. CH323ConnEvent* m_pConnEvent;
  48. IH323ConfAdvise* m_pConfAdvise;
  49. protected:
  50. // Callbacks:
  51. static CREQ_RESPONSETYPE CALLBACK ConnectionNotify( IH323Endpoint* pConn,
  52. P_APP_CALL_SETUP_DATA lpvMNMData);
  53. CREQ_RESPONSETYPE CALLBACK _ConnectionNotify( IH323Endpoint* pConn,
  54. P_APP_CALL_SETUP_DATA lpvMNMData);
  55. };
  56. // The global instance that is declared in conf.cpp:
  57. extern CH323UI* g_pH323UI;
  58. #endif // _H323_H_