* Allow inlining functions in commands with parantheses, e.g:

print = (convert.time,(system.time))
  schedule2 = test_print_2,2,2,((print,"current ",((convert.time,((system.time))))))

  Multiple parantheses need to be used in schedule to ensure the command doesn't get evaluated at the time of calling schedule.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1191 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
rakshasa
2011-02-12 12:20:09 +00:00
parent 5691233bf1
commit 7b2fae35d5
12 changed files with 198 additions and 24 deletions
+4
View File
@@ -62,6 +62,8 @@ typedef std::pair<torrent::Object, const char*> parse_command_type;
parse_command_type parse_command(target_type target, const char* first, const char* last);
torrent::Object parse_command_multiple(target_type target, const char* first, const char* last);
void parse_command_execute(target_type target, torrent::Object* object);
// Make this take care of lists too.
parse_command_type parse_command_object(target_type target, const torrent::Object& object);
@@ -130,6 +132,8 @@ call_command_d_range(const char* key, core::Download* download, torrent::Object:
const torrent::Object
command_function_call(const torrent::raw_string& cmd, target_type target, const torrent::Object& args);
const torrent::Object
command_function_call_object(const torrent::Object& cmd, target_type target, const torrent::Object& args);
const torrent::Object
command_function_multi_call(const torrent::Object::map_type& cmd, target_type target, const torrent::Object& args);
inline const torrent::Object