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.

76 lines
1.6 KiB

  1. /*******************************************************************************
  2. Module Name:
  3. bgitem.h
  4. Abstract:
  5. Defines CBridgeItem and CBridgeItemList for storing info for bridge objects
  6. Author:
  7. Qianbo Huai (qhuai) Jan 27 2000
  8. *******************************************************************************/
  9. #ifndef _BGITEM_H
  10. #define _BGITEM_H
  11. class CBridgeItem
  12. {
  13. public:
  14. CBridgeItem ();
  15. ~CBridgeItem ();
  16. // forward link
  17. CBridgeItem *next;
  18. // backward link
  19. CBridgeItem *prev;
  20. // caller identity
  21. BSTR bstrID;
  22. BSTR bstrName;
  23. // call controls
  24. ITBasicCallControl *pCallH323;
  25. ITBasicCallControl *pCallSDP;
  26. // terminals
  27. ITTerminal *pTermHSAud;
  28. ITTerminal *pTermHSVid;
  29. ITTerminal *pTermSHAud;
  30. ITTerminal *pTermSHVid;
  31. // h323 side streams
  32. ITStream *pStreamHAudCap;
  33. ITStream *pStreamHAudRen;
  34. ITStream *pStreamHVidCap;
  35. ITStream *pStreamHVidRen;
  36. // sdp side streams
  37. ITStream *pStreamSAudCap;
  38. ITStream *pStreamSAudRen;
  39. ITStream *pStreamSVidCap;
  40. ITStream *pStreamSVidRen;
  41. };
  42. class CBridgeItemList
  43. {
  44. public:
  45. CBridgeItemList ();
  46. ~CBridgeItemList ();
  47. CBridgeItem *FindByH323 (IUnknown *pIUnknown);
  48. CBridgeItem *FindBySDP (IUnknown *pIUnknown);
  49. void TakeOut (CBridgeItem *pItem);
  50. CBridgeItem *DeleteFirst ();
  51. void Append (CBridgeItem *pItem);
  52. BOOL GetAllItems (CBridgeItem ***pItemArray, int *pNum);
  53. BOOL IsEmpty ();
  54. private:
  55. CBridgeItem *Find (int flag, IUnknown *pIUnknown);
  56. CBridgeItem *m_pHead;
  57. };
  58. #endif