menu
 
버전
2016.2.6.6153

2024.1.4.8780

2023.1.12.8706

2022.1.18.8567

2021.1.14.8108

2019.2.15.7667

2019.1.11.7296

2018.1.11.6987

2017.2.10.6745

2017.1.9.6501

2016.2.6.6153

2015.1.9.5624


menu_open

include/AK/Tools/Common/AkSyncCaller.h

Go to the documentation of this file.
00001 /*******************************************************************************
00002 The content of this file includes portions of the AUDIOKINETIC Wwise Technology
00003 released in source code form as part of the SDK installer package.
00004 
00005 Commercial License Usage
00006 
00007 Licensees holding valid commercial licenses to the AUDIOKINETIC Wwise Technology
00008 may use this file in accordance with the end user license agreement provided 
00009 with the software or, alternatively, in accordance with the terms contained in a
00010 written agreement between you and Audiokinetic Inc.
00011 
00012 Apache License Usage
00013 
00014 Alternatively, this file may be used under the Apache License, Version 2.0 (the 
00015 "Apache License"); you may not use this file except in compliance with the 
00016 Apache License. You may obtain a copy of the Apache License at 
00017 http://www.apache.org/licenses/LICENSE-2.0.
00018 
00019 Unless required by applicable law or agreed to in writing, software distributed
00020 under the Apache License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
00021 OR CONDITIONS OF ANY KIND, either express or implied. See the Apache License for
00022 the specific language governing permissions and limitations under the License.
00023 
00024   Version: <VERSION>  Build: <BUILDNUMBER>
00025   Copyright (c) <COPYRIGHTYEAR> Audiokinetic Inc.
00026 *******************************************************************************/
00027 
00028 // AkSyncLoader.h
00029 
00032 
00033 #ifndef _AK_SYNC_CALLER_H_
00034 #define _AK_SYNC_CALLER_H_
00035 
00036 #include <AK/Tools/Common/AkPlatformFuncs.h>
00037 
00038 namespace AK
00039 {
00040     namespace SoundEngine
00041     {
00044         class AkSyncCaller
00045         {
00046         public:
00048             AKRESULT Init()
00049             {
00050                 if ( AKPLATFORM::AkCreateEvent( m_hEvent ) != AK_Success )
00051                 {
00052                     AKASSERT( !"Could not create synchronization event" );
00053                     return AK_Fail;
00054                 }
00055                 return AK_Success;
00056             }
00057 
00059             AKRESULT Wait( AKRESULT in_eResult )
00060             {
00061                 if ( in_eResult != AK_Success )
00062                 {
00063                     AKPLATFORM::AkDestroyEvent( m_hEvent );
00064                     return in_eResult;
00065                 }
00066 
00067                 // Task queueing successful. Block until completion.
00068                 AKPLATFORM::AkWaitForEvent( m_hEvent );
00069                 AKPLATFORM::AkDestroyEvent( m_hEvent );
00070 
00071                 return m_eResult;
00072             }
00073 
00075             inline void Done() { AKPLATFORM::AkSignalEvent( m_hEvent ); }
00076 
00077             AKRESULT    m_eResult;  
00078 
00079         private:
00080             AkEvent     m_hEvent;   
00081         };
00082     }
00083 }
00084 
00085 #endif // _AK_SYNC_CALLER_H_

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

지원이 필요하신가요?

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

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

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

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

Wwise를 시작해 보세요