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.

84 lines
3.0 KiB

  1. /////////////////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1997 Active Voice Corporation. All Rights Reserved.
  4. //
  5. // Active Agent(r) and Unified Communications(tm) are trademarks of Active Voice Corporation.
  6. //
  7. // Other brand and product names used herein are trademarks of their respective owners.
  8. //
  9. // The entire program and user interface including the structure, sequence, selection,
  10. // and arrangement of the dialog, the exclusively "yes" and "no" choices represented
  11. // by "1" and "2," and each dialog message are protected by copyrights registered in
  12. // the United States and by international treaties.
  13. //
  14. // Protected by one or more of the following United States patents: 5,070,526, 5,488,650,
  15. // 5,434,906, 5,581,604, 5,533,102, 5,568,540, 5,625,676, 5,651,054.
  16. //
  17. // Active Voice Corporation
  18. // Seattle, Washington
  19. // USA
  20. //
  21. /////////////////////////////////////////////////////////////////////////////////////////
  22. // VideoFeed.h : Declaration of the CVideoFeed
  23. #ifndef __VIDEOFEED_H_
  24. #define __VIDEOFEED_H_
  25. #include "resource.h" // main symbols
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CVideoFeed
  28. class ATL_NO_VTABLE CVideoFeed :
  29. public CComObjectRootEx<CComMultiThreadModel>,
  30. public CComCoClass<CVideoFeed, &CLSID_VideoFeed>,
  31. public IVideoFeed
  32. {
  33. // Construction
  34. public:
  35. CVideoFeed();
  36. void FinalRelease();
  37. // Members
  38. public:
  39. IVideoWindow *m_pVideo;
  40. RECT m_rc;
  41. VARIANT_BOOL m_bPreview;
  42. VARIANT_BOOL m_bRequestQOS;
  43. BSTR m_bstrName;
  44. protected:
  45. ITParticipant *m_pITParticipant;
  46. DECLARE_NOT_AGGREGATABLE(CVideoFeed)
  47. BEGIN_COM_MAP(CVideoFeed)
  48. COM_INTERFACE_ENTRY(IVideoFeed)
  49. END_COM_MAP()
  50. // Operations
  51. public:
  52. static HRESULT GetNameFromParticipant(ITParticipant *pParticipant, BSTR * pbstrName, BSTR *pbstrInfo );
  53. // IVideoFeed
  54. public:
  55. STDMETHOD(MapToParticipant)(ITParticipant *pParticipant);
  56. STDMETHOD(get_ITSubStream)(/*[out, retval]*/ ITSubStream * *pVal);
  57. STDMETHOD(GetNameFromVideo)(IUnknown *pVideo, BSTR *pbstrName, BSTR *pbstrInfo, VARIANT_BOOL bAllowNull, VARIANT_BOOL bPreview);
  58. STDMETHOD(IsVideoStreaming)(VARIANT_BOOL bIncludePreview);
  59. STDMETHOD(UpdateName)();
  60. STDMETHOD(get_bRequestQOS)(/*[out, retval]*/ VARIANT_BOOL *pVal);
  61. STDMETHOD(put_bRequestQOS)(/*[in]*/ VARIANT_BOOL newVal);
  62. STDMETHOD(get_bPreview)(/*[out, retval]*/ VARIANT_BOOL *pVal);
  63. STDMETHOD(put_bPreview)(/*[in]*/ VARIANT_BOOL newVal);
  64. STDMETHOD(get_ITParticipant)(/*[out, retval]*/ ITParticipant **ppVal);
  65. STDMETHOD(put_ITParticipant)(/*[in]*/ ITParticipant *pVal);
  66. STDMETHOD(get_rc)(/*[out, retval]*/ RECT *pVal);
  67. STDMETHOD(put_rc)(/*[in]*/ RECT newVal);
  68. STDMETHOD(Paint)(ULONG_PTR hDC, HWND hWndSource);
  69. STDMETHOD(get_IVideoWindow)(/*[out, retval]*/ IUnknown * *pVal);
  70. STDMETHOD(put_IVideoWindow)(/*[in]*/ IUnknown * newVal);
  71. STDMETHOD(get_bstrName)(/*[out, retval]*/ BSTR *pVal);
  72. };
  73. #endif //__VIDEOFEED_H_