40 lines
1.1 KiB
C++
40 lines
1.1 KiB
C++
#ifndef _MEDIALST_H_
|
|
#define _MEDIALST_H_
|
|
|
|
#include "common.h"
|
|
|
|
class CMediaList
|
|
{
|
|
private:
|
|
typedef struct _guidlist
|
|
{
|
|
GUID guid;
|
|
struct _guidlist *pnext;
|
|
}GUIDLIST, *PGUIDLIST;
|
|
|
|
RES_PAIR *m_pResolvedFormatIDs;
|
|
PGUIDLIST m_pSendMediaList, m_pRecvMediaList;
|
|
UINT m_uNumSendMedia, m_uNumRecvMedia;
|
|
GUID *m_pSendMediaGuids;
|
|
UINT m_uNumResolvedMedia;
|
|
|
|
VOID AddSendMedia(LPGUID pMediaTypeGuid);
|
|
VOID RemoveSendMedia(LPGUID pMediaTypeGuid);
|
|
VOID AddRecvMedia(LPGUID pMediaTypeGuid);
|
|
VOID RemoveRecvMedia(LPGUID pMediaTypeGuid);
|
|
BOOL IsInList(LPGUID pMediaTypeGuid, PGUIDLIST pList);
|
|
|
|
public:
|
|
CMediaList();
|
|
~CMediaList();
|
|
|
|
HRESULT ResolveSendFormats(IH323Endpoint* pConnection);
|
|
BOOL GetSendFormatLocalID(REFGUID guidMedia, MEDIA_FORMAT_ID* pId);
|
|
VOID EnableMedia(LPGUID pMediaTypeGuid, BOOL fSendDirection, BOOL fEnabled);
|
|
BOOL IsInSendList(LPGUID pMediaTypeGuid) { return IsInList(pMediaTypeGuid, m_pSendMediaList); }
|
|
BOOL IsInRecvList(LPGUID pMediaTypeGuid) { return IsInList(pMediaTypeGuid, m_pRecvMediaList); }
|
|
VOID Clear();
|
|
};
|
|
|
|
#endif // _MEDIALST_H_
|