diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2010-03-29 07:30:52 +0200 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2013-01-05 17:17:47 +0100 |
commit | 15c0132fd080003f2bf47749e30e1f724b249341 (patch) | |
tree | 1d09f54e344d19e99df9e0fc89643f071881c6ae /src/base/songloading/songloading_strategy_txt.hpp | |
parent | 0779a60f3e31a31db71614134ddd7eedc5e385d9 (diff) | |
download | usdx-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_txt.hpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/base/songloading/songloading_strategy_txt.hpp b/src/base/songloading/songloading_strategy_txt.hpp index 13851e6e..6177a5d3 100644 --- a/src/base/songloading/songloading_strategy_txt.hpp +++ b/src/base/songloading/songloading_strategy_txt.hpp @@ -31,7 +31,8 @@ #include <boost/filesystem.hpp> #include <log4cxx/logger.h> #include "songloading_strategy.hpp" -#include "utils/file.hpp" +#include "songloading_strategy_factory.hpp" +#include "utils/unicode_file.hpp" namespace usdx { @@ -45,19 +46,22 @@ namespace usdx */ std::pair<std::wstring, std::wstring> split_header_field(std::wstring &line); - bool parse_line(Song* song, File& file, const int line_number); + bool parse_line(Song* song, UnicodeFile& file, const int line_number); void parse_newline(Song* song, std::wistringstream& linestream, const int line_number); void parse_bpm(Song* song, std::wistringstream& linestream, const int line_number); void parse_note(Song* song, wchar_t type, std::wistringstream& linestream, const int line_number); - public: SongloadingStrategyTxt(); virtual ~SongloadingStrategyTxt(); virtual Song* load_song(Song* song); virtual Song* load_header(const boost::filesystem::wpath& filename); + + static std::wstring get_fileextension(void) { return L".txt"; }; }; + + REGISTER_SONGLOADING_STRATEGY(SongloadingStrategyTxt); }; #endif |