Version

menu_open

include/AK/SoundEngine/Common/AkSoundEngineExport.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 // AkSoundEngineExport.h
00029 
00030 /// \file 
00031 /// Export/calling convention definitions.
00032 
00033 #ifndef _AK_SOUNDENGINE_EXPORT_H_
00034 #define _AK_SOUNDENGINE_EXPORT_H_
00035 
00036 #include <AK/AkPlatforms.h>
00037 
00038 #ifndef AK_DLLEXPORT
00039 #define AK_DLLEXPORT
00040 #endif
00041 
00042 #ifndef AK_DLLIMPORT
00043 #define AK_DLLIMPORT
00044 #endif
00045 
00046 #ifdef AKSOUNDENGINE_DLL
00047     #ifdef AKSOUNDENGINE_EXPORTS
00048     /// Sound Engine API import/export definition
00049     #define AKSOUNDENGINE_API AK_DLLEXPORT
00050     #else
00051     /// Sound Engine API import/export definition       
00052     #define AKSOUNDENGINE_API AK_DLLIMPORT
00053     #endif // Export
00054 #else
00055     #define AKSOUNDENGINE_API   
00056 #endif
00057 
00058 #ifndef AKSOUNDENGINE_CALL
00059     #define AKSOUNDENGINE_CALL  
00060 #endif
00061 
00062 /// Declare a function
00063 /// \param __TYPE__ Return type of the function
00064 /// \param __NAME__ Name of the function
00065 /// \remarks This must be followed by the parentheses containing the function arguments declaration
00066 #define AK_FUNC( __TYPE__, __NAME__ ) __TYPE__ AKSOUNDENGINE_CALL __NAME__
00067 
00068 /// Declare an extern function
00069 /// \param __TYPE__ Return type of the function
00070 /// \param __NAME__ Name of the function
00071 /// \remarks This must be followed by the parentheses containing the function arguments declaration
00072 #define AK_EXTERNFUNC( __TYPE__, __NAME__ ) extern __TYPE__ AKSOUNDENGINE_CALL __NAME__
00073 
00074 /// Declare an extern function that is exported/imported
00075 /// \param __TYPE__ Return type of the function
00076 /// \param __NAME__ Name of the function
00077 /// \remarks This must be followed by the parentheses containing the function arguments declaration
00078 #define AK_EXTERNAPIFUNC( __TYPE__, __NAME__ ) extern AKSOUNDENGINE_API __TYPE__ AKSOUNDENGINE_CALL __NAME__
00079 
00080 /// Declare a callback function type
00081 /// \param __TYPE__ Return type of the function
00082 /// \param __NAME__ Name of the function
00083 /// \remarks This must be followed by the parentheses containing the function arguments declaration
00084 #define AK_CALLBACK( __TYPE__, __NAME__ ) typedef __TYPE__ ( AKSOUNDENGINE_CALL *__NAME__ )
00085 
00086 #endif  //_AK_SOUNDENGINE_EXPORT_H_

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise