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.

55 lines
1.4 KiB

  1. #include "stdafx.h"
  2. #include "rcbdyctl.h"
  3. #include "IMSession.h"
  4. #include "utils.h"
  5. /////////////////////////////////////////////////////////////////////////
  6. // CSessionEvent
  7. void __stdcall CSessionEvent::OnContextData(BSTR pBlob)
  8. {
  9. TraceSpewW(L"Funct OnContextData %s", pBlob?pBlob:L"NULL");
  10. if (m_pIMSession)
  11. m_pIMSession->ProcessContext(pBlob);
  12. return;
  13. }
  14. void __stdcall CSessionEvent::OnAccepted(BSTR bstrAppData)
  15. {
  16. // OK Recipient accepts it. Wait for his public key.
  17. if (m_pIMSession)
  18. m_pIMSession->DoSessionStatus(RA_IM_ACCEPTED);
  19. }
  20. void __stdcall CSessionEvent::OnDeclined(BSTR bstrAppData)
  21. {
  22. // Hum, he declined. Do nothing.
  23. if (m_pIMSession)
  24. m_pIMSession->DoSessionStatus(RA_IM_DECLINED);
  25. }
  26. void __stdcall CSessionEvent::OnAppNotPresent(BSTR bstrAppName, BSTR bstrAppURL)
  27. {
  28. // Do nothing.
  29. if (m_pIMSession)
  30. m_pIMSession->DoSessionStatus(RA_IM_NOAPP);
  31. }
  32. void __stdcall CSessionEvent::OnTermination(long hr, BSTR bstrAppData)
  33. {
  34. // Do nothing
  35. if (m_pIMSession)
  36. m_pIMSession->DoSessionStatus(RA_IM_TERMINATED);
  37. }
  38. void __stdcall CSessionEvent::OnReadyToLaunch()
  39. {
  40. // Do nothing
  41. DEBUG_MSG(TEXT("OnReadyToLaunch"));
  42. }
  43. void __stdcall CSessionEvent::OnCancelled(BSTR bstrAppData)
  44. {
  45. if (m_pIMSession)
  46. m_pIMSession->DoSessionStatus(RA_IM_CANCELLED);
  47. }