comparison Resources/EmbedResources.py @ 323:052dede32761

list files in resource directories
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 07 Jan 2013 16:48:35 +0100
parents f1aeec53795b
children 71d30b9ce801
comparison
equal deleted inserted replaced
322:7233461e2f61 323:052dede32761
121 121
122 header.write(""" 122 header.write("""
123 #pragma once 123 #pragma once
124 124
125 #include <string> 125 #include <string>
126 #include <list>
126 127
127 namespace Orthanc 128 namespace Orthanc
128 { 129 {
129 namespace EmbeddedResources 130 namespace EmbeddedResources
130 { 131 {
165 void GetFileResource(std::string& result, FileResourceId id); 166 void GetFileResource(std::string& result, FileResourceId id);
166 167
167 const void* GetDirectoryResourceBuffer(DirectoryResourceId id, const char* path); 168 const void* GetDirectoryResourceBuffer(DirectoryResourceId id, const char* path);
168 size_t GetDirectoryResourceSize(DirectoryResourceId id, const char* path); 169 size_t GetDirectoryResourceSize(DirectoryResourceId id, const char* path);
169 void GetDirectoryResource(std::string& result, DirectoryResourceId id, const char* path); 170 void GetDirectoryResource(std::string& result, DirectoryResourceId id, const char* path);
171
172 void ListResources(std::list<std::string>& result, DirectoryResourceId id);
170 } 173 }
171 } 174 }
172 """) 175 """)
173 header.close() 176 header.close()
174 177
326 329
327 330
328 331
329 332
330 ##################################################################### 333 #####################################################################
334 ## List the resources in a directory
335 #####################################################################
336
337 cpp.write("""
338 void ListResources(std::list<std::string>& result, DirectoryResourceId id)
339 {
340 result.clear();
341
342 switch (id)
343 {
344 """)
345
346 for name in resources:
347 if resources[name]['Type'] == 'Directory':
348 cpp.write(' case %s:\n' % name)
349 for path in sorted(resources[name]['Files']):
350 cpp.write(' result.push_back("%s");\n' % path)
351 cpp.write(' break;\n\n')
352
353 cpp.write(""" default:
354 throw OrthancException(ErrorCode_ParameterOutOfRange);
355 }
356 }
357 """)
358
359
360
361
362 #####################################################################
331 ## Write the convenience wrappers in .cpp 363 ## Write the convenience wrappers in .cpp
332 ##################################################################### 364 #####################################################################
333 365
334 cpp.write(""" 366 cpp.write("""
335 void GetFileResource(std::string& result, FileResourceId id) 367 void GetFileResource(std::string& result, FileResourceId id)