# HG changeset patch # User Sebastien Jodogne # Date 1357573715 -3600 # Node ID 052dede327617cec47965178a5a888e210afb7e3 # Parent 7233461e2f6122590140f4d2bf9df607ccc40fa8 list files in resource directories diff -r 7233461e2f61 -r 052dede32761 Resources/EmbedResources.py --- a/Resources/EmbedResources.py Mon Jan 07 15:33:53 2013 +0100 +++ b/Resources/EmbedResources.py Mon Jan 07 16:48:35 2013 +0100 @@ -123,6 +123,7 @@ #pragma once #include +#include namespace Orthanc { @@ -167,6 +168,8 @@ const void* GetDirectoryResourceBuffer(DirectoryResourceId id, const char* path); size_t GetDirectoryResourceSize(DirectoryResourceId id, const char* path); void GetDirectoryResource(std::string& result, DirectoryResourceId id, const char* path); + + void ListResources(std::list& result, DirectoryResourceId id); } } """) @@ -328,6 +331,35 @@ ##################################################################### +## List the resources in a directory +##################################################################### + +cpp.write(""" + void ListResources(std::list& result, DirectoryResourceId id) + { + result.clear(); + + switch (id) + { +""") + +for name in resources: + if resources[name]['Type'] == 'Directory': + cpp.write(' case %s:\n' % name) + for path in sorted(resources[name]['Files']): + cpp.write(' result.push_back("%s");\n' % path) + cpp.write(' break;\n\n') + +cpp.write(""" default: + throw OrthancException(ErrorCode_ParameterOutOfRange); + } + } +""") + + + + +##################################################################### ## Write the convenience wrappers in .cpp #####################################################################