VACoreFactory.h 1.47 KB
Newer Older
Jonas Stienen's avatar
Jonas Stienen committed
1
/*
2
 *  --------------------------------------------------------------------------------------------
Jonas Stienen's avatar
Jonas Stienen committed
3
 *
4
5
6
7
8
9
 *    VVV        VVV A           Virtual Acoustics (VA) | http://www.virtualacoustics.org
 *     VVV      VVV AAA          Licensed under the Apache License, Version 2.0
 *      VVV    VVV   AAA
 *       VVV  VVV     AAA        Copyright 2015-2017
 *        VVVVVV       AAA       Institute of Technical Acoustics (ITA)
 *         VVVV         AAA      RWTH Aachen University
Jonas Stienen's avatar
Jonas Stienen committed
10
 *
11
 *  --------------------------------------------------------------------------------------------
Jonas Stienen's avatar
Jonas Stienen committed
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