aboutsummaryrefslogtreecommitdiffstats
path: root/src/base/songloading/songloading_strategy.hpp
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2010-03-29 07:30:52 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2013-01-05 17:17:47 +0100
commit15c0132fd080003f2bf47749e30e1f724b249341 (patch)
tree1d09f54e344d19e99df9e0fc89643f071881c6ae /src/base/songloading/songloading_strategy.hpp
parent0779a60f3e31a31db71614134ddd7eedc5e385d9 (diff)
downloadusdx-15c0132fd080003f2bf47749e30e1f724b249341.tar.gz
usdx-15c0132fd080003f2bf47749e30e1f724b249341.tar.xz
usdx-15c0132fd080003f2bf47749e30e1f724b249341.zip
dynamic registration of songloading_strategies with static template
Diffstat (limited to '')
-rw-r--r--src/base/songloading/songloading_strategy.hpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/base/songloading/songloading_strategy.hpp b/src/base/songloading/songloading_strategy.hpp
index 48e115b7..3178f6ed 100644
--- a/src/base/songloading/songloading_strategy.hpp
+++ b/src/base/songloading/songloading_strategy.hpp
@@ -31,6 +31,15 @@
#include <boost/filesystem.hpp>
#include "song.hpp"
+#define _USDX_JOIN(strategy, line) _USDX_JOIN1(strategy, line)
+#define _USDX_JOIN1(strategy, line) autoregistration__strategy__##line
+
+/* Macros to simplify registration of SongLoadingStrategy */
+#define REGISTER_SONGLOADING_STRATEGY(strategy) \
+ static SongloadingStrategyFactory<strategy> \
+ _USDX_JOIN(strategy, __LINE__)
+
+
namespace usdx
{
class SongloadingStrategy