버전
menu_open
link

include/AK/Tools/Common/AkSyncCaller.h

Go to the documentation of this file.
00001 
00002 //
00003 // Copyright (c) 2006 Audiokinetic Inc. / All Rights Reserved
00004 //
00006 
00007 // AkSyncLoader.h
00008 
00011 
00012 #ifndef _AK_SYNC_CALLER_H_
00013 #define _AK_SYNC_CALLER_H_
00014 
00015 #include <AK/Tools/Common/AkPlatformFuncs.h>
00016 
00017 namespace AK
00018 {
00019     namespace SoundEngine
00020     {
00023         class AkSyncCaller
00024         {
00025         public:
00027             AKRESULT Init()
00028             {
00029                 if ( AKPLATFORM::AkCreateEvent( m_hEvent ) != AK_Success )
00030                 {
00031                     AKASSERT( !"Could not create synchronization event" );
00032                     return AK_Fail;
00033                 }
00034                 return AK_Success;
00035             }
00036 
00038             AKRESULT Wait( AKRESULT in_eResult )
00039             {
00040                 if ( in_eResult != AK_Success )
00041                 {
00042                     AKPLATFORM::AkDestroyEvent( m_hEvent );
00043                     return in_eResult;
00044                 }
00045 
00046                 // Task queueing successful. Block until completion.
00047                 AKPLATFORM::AkWaitForEvent( m_hEvent );
00048                 AKPLATFORM::AkDestroyEvent( m_hEvent );
00049 
00050                 return m_eResult;
00051             }
00052 
00054             inline void Done() { AKPLATFORM::AkSignalEvent( m_hEvent ); }
00055 
00056             AKRESULT    m_eResult;  
00057 
00058         private:
00059             AkEvent     m_hEvent;   
00060         };
00061     }
00062 }
00063 
00064 #endif // _AK_SYNC_CALLER_H_

이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요