VACoreFactory.h 1.43 KB
Newer Older
Jonas Stienen's avatar
Jonas Stienen committed
1
/*
2
 *  ---------------------------------------------------------------------------------
Jonas Stienen's avatar
Jonas Stienen committed
3
4
 *
 *    VVV        VVV A
5
 *     VVV      VVV AAA        Virtual Acoustics (VA)
Jonas Stienen's avatar
Jonas Stienen committed
6
7
 *      VVV    VVV   AAA       Real-time auralisation for virtual reality    
 *       VVV  VVV     AAA
8
9
 *        VVVVVV       AAA     (c) Copyright Institut of Technical Acoustics (ITA)
 *         VVVV         AAA        RWTH Aachen University (http://www.akustik.rwth-aachen.de)
Jonas Stienen's avatar
Jonas Stienen committed
10
11
12
13
 *
 *  ---------------------------------------------------------------------------------
 */

14
15
#ifndef IW_VACORE_CORE_FACTORY
#define IW_VACORE_CORE_FACTORY
Jonas Stienen's avatar
Jonas Stienen committed
16
17
18
19

#include <VACoreDefinitions.h>
#include <VAStruct.h>

20
21
22
#ifndef VACORE_DEFAULT_CONFIGFILE
#define VACORE_DEFAULT_CONFIGFILE "\"VACore.ini\""
#endif // VACORE_DEFAULT_CONFIGFILE
23

Jonas Stienen's avatar
Jonas Stienen committed
24
25
26
// Foward declarations
class IVACore;

27
28
29
namespace VACore
{
	//! Factory method - creates a VACore instance
30
31
32
33
	/** 
	  * @input oArgs Arguments with configuration for the core
	  * @output Pointer to the core instance (VA interface API from VABase)
	  */
34
	VACORE_API IVACore* CreateCoreInstance( const CVAStruct& oArgs );
Jonas Stienen's avatar
Jonas Stienen committed
35

36
	//! Factore method - create a VACore instance with configuration file
37
	VACORE_API IVACore* CreateCoreInstance( const std::string& sConfigFile = VACORE_DEFAULT_CONFIGFILE );
Jonas Stienen's avatar
Jonas Stienen committed
38

39
	//! Returns the filesystem path of the VACore shared lib (e.g. VACore.dll)
40
	VACORE_API std::string GetCoreLibFilePath();
Jonas Stienen's avatar
Jonas Stienen committed
41
42
43

} // End of namespace "VACore"

44
#endif // IW_VACORE_CORE_FACTORY