<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">Create</PrecompiledHeader>\r
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>\r
</ClCompile>\r
+ <ClCompile Include="util\swf.cpp">\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
+ </ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="flash.h" />\r
<ClInclude Include="producer\FlashAxContainer.h" />\r
<ClInclude Include="producer\flash_producer.h" />\r
<ClInclude Include="StdAfx.h" />\r
+ <ClInclude Include="util\swf.h" />\r
</ItemGroup>\r
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
<ImportGroup Label="ExtensionTargets">\r
<Filter Include="source\interop">\r
<UniqueIdentifier>{bd73f842-a8f5-4d98-92cf-81c623283dde}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="source\util">\r
+ <UniqueIdentifier>{74e59dfb-eba8-4169-ae40-4b6ac7bcbe3d}</UniqueIdentifier>\r
+ </Filter>\r
</ItemGroup>\r
<ItemGroup>\r
<Midl Include="interop\Flash9e.IDL">\r
<ClCompile Include="flash.cpp">\r
<Filter>source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="util\swf.cpp">\r
+ <Filter>source\util</Filter>\r
+ </ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="interop\TimerHelper.h">\r
<ClInclude Include="flash.h">\r
<Filter>source</Filter>\r
</ClInclude>\r
+ <ClInclude Include="util\swf.h">\r
+ <Filter>source\util</Filter>\r
+ </ClInclude>\r
</ItemGroup>\r
</Project>
\ No newline at end of file
#include <core/consumer/output.h>\r
\r
#include <modules/flash/flash.h>\r
+#include <modules/flash/util/swf.h>\r
#include <modules/flash/producer/flash_producer.h>\r
#include <modules/flash/producer/cg_producer.h>\r
\r
\r
bool InfoCommand::DoExecute()\r
{\r
- try\r
- {\r
- std::wstringstream replyString;\r
- if(_parameters.size() >= 1)\r
+ if(_parameters.size() >= 1 && _parameters[0] == L"TEMPLATE")\r
+ { \r
+ try\r
{\r
- int channelIndex = _ttoi(_parameters.at(0).c_str())-1;\r
- replyString << TEXT("201 INFO OK\r\n");\r
- GenerateChannelInfo(channelIndex, channels_.at(channelIndex), replyString);\r
+ // Needs to be extended for any file, not just flash.\r
+\r
+ auto filename = flash::find_template(env::template_folder() + _parameters.at(1));\r
+\r
+ std::wstringstream ss;\r
+ ss << flash::read_swf_meta_info(filename) << L"\r\n";\r
+ ss << L"201 INFO OK\r\n";\r
+\r
+ SetReplyString(ss.str());\r
+ return true;\r
}\r
- else\r
+ catch(...)\r
{\r
- replyString << TEXT("200 INFO OK\r\n");\r
- for(size_t n = 0; n < channels_.size(); ++n)\r
- GenerateChannelInfo(n, channels_[n], replyString);\r
- replyString << TEXT("\r\n");\r
+ SetReplyString(TEXT("403 INFO ERROR\r\n"));\r
+ return false;\r
}\r
- SetReplyString(replyString.str());\r
}\r
- catch(...)\r
+ else // channel\r
{\r
- SetReplyString(TEXT("401 INFO ERROR\r\n"));\r
- return false;\r
+ try\r
+ {\r
+ std::wstringstream replyString;\r
+ if(_parameters.size() >= 1)\r
+ {\r
+ int channelIndex = boost::lexical_cast<int>(_parameters.at(0).c_str())-1;\r
+ replyString << TEXT("201 INFO OK\r\n");\r
+ GenerateChannelInfo(channelIndex, channels_.at(channelIndex), replyString);\r
+ }\r
+ else\r
+ {\r
+ replyString << TEXT("200 INFO OK\r\n");\r
+ for(size_t n = 0; n < channels_.size(); ++n)\r
+ GenerateChannelInfo(n, channels_[n], replyString);\r
+ replyString << TEXT("\r\n");\r
+ }\r
+ SetReplyString(replyString.str());\r
+ return true;\r
+ }\r
+ catch(...)\r
+ {\r
+ SetReplyString(TEXT("403 INFO ERROR\r\n"));\r
+ return false;\r
+ }\r
}\r
-\r
- return true;\r
}\r
\r
bool ClsCommand::DoExecute()\r