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.

39 lines
1.1 KiB

  1. #ifndef _MEDIALST_H_
  2. #define _MEDIALST_H_
  3. #include "common.h"
  4. class CMediaList
  5. {
  6. private:
  7. typedef struct _guidlist
  8. {
  9. GUID guid;
  10. struct _guidlist *pnext;
  11. }GUIDLIST, *PGUIDLIST;
  12. RES_PAIR *m_pResolvedFormatIDs;
  13. PGUIDLIST m_pSendMediaList, m_pRecvMediaList;
  14. UINT m_uNumSendMedia, m_uNumRecvMedia;
  15. GUID *m_pSendMediaGuids;
  16. UINT m_uNumResolvedMedia;
  17. VOID AddSendMedia(LPGUID pMediaTypeGuid);
  18. VOID RemoveSendMedia(LPGUID pMediaTypeGuid);
  19. VOID AddRecvMedia(LPGUID pMediaTypeGuid);
  20. VOID RemoveRecvMedia(LPGUID pMediaTypeGuid);
  21. BOOL IsInList(LPGUID pMediaTypeGuid, PGUIDLIST pList);
  22. public:
  23. CMediaList();
  24. ~CMediaList();
  25. HRESULT ResolveSendFormats(IH323Endpoint* pConnection);
  26. BOOL GetSendFormatLocalID(REFGUID guidMedia, MEDIA_FORMAT_ID* pId);
  27. VOID EnableMedia(LPGUID pMediaTypeGuid, BOOL fSendDirection, BOOL fEnabled);
  28. BOOL IsInSendList(LPGUID pMediaTypeGuid) { return IsInList(pMediaTypeGuid, m_pSendMediaList); }
  29. BOOL IsInRecvList(LPGUID pMediaTypeGuid) { return IsInList(pMediaTypeGuid, m_pRecvMediaList); }
  30. VOID Clear();
  31. };
  32. #endif // _MEDIALST_H_