chxavthread.cpp
上传用户:dangjiwu
上传日期:2013-07-19
资源大小:42019k
文件大小:1k
源码类别:

Symbian

开发平台:

Visual C++

  1. /*============================================================================*
  2.  *
  3.  * (c) 1995-2002 RealNetworks, Inc. Patents pending. All rights reserved.
  4.  *
  5.  *============================================================================*/
  6.  
  7. /*
  8.     Helpers for 'pumping' active object requests
  9. */
  10. // Symbian includes...
  11. #include <e32base.h>
  12. #include <e32std.h>
  13. // Helix includes...
  14. #include "hxassert.h"
  15. // Other includes...
  16. #include "chxavthread.h"
  17. ////////////////////////////////////////////
  18. //
  19. // service next active object request for this thread,
  20. // blocking if necessary
  21. //
  22. void CHXAvThread::WaitAndProcessNextRequest()
  23. {
  24.     User::WaitForAnyRequest();
  25.     TInt errorIgnored;
  26.     TBool bAtLeastOne = CActiveScheduler::RunIfReady(errorIgnored, 0);
  27. }
  28. ////////////////////////////////////////////
  29. //
  30. // service outstanding active object requests
  31. // for this thread; do not block
  32. //
  33. void CHXAvThread::ProcessPendingRequests()
  34. {
  35.     //
  36.     // make sure there are outstanding requests before
  37.     // we wait so we are guarenteed not to block
  38.     //
  39.     while( 0 != RThread().RequestCount() )
  40.     {
  41. WaitAndProcessNextRequest();
  42.     }
  43. }