#include "wrap.h" #include #include template class saga_object_registry { private: std::vector reg_; public: saga_object_registry (void) { }; ~saga_object_registry (void) { }; T get (int i) { return (reg_[i]); } int add (T o) { reg_.push_back (o); return (reg_.size () - 1); } }; static saga_object_registry file_registry_; static saga_object_registry task_registry_; saga_file saga_file_create (const char* url) { saga::file f (url); return (file_registry_.add (f)); } off_t saga_file_get_size (saga_file f) { saga::file ff = file_registry_.get (f); return (ff.get_size ()); } saga_task saga_file_task_get_size (saga_file f, off_t & size) { saga::file ff = file_registry_.get (f); saga::task t = ff.get_size (size); return (task_registry_.add (t)); } void saga_file_destroy (saga_file f) { // del } void saga_task_wait (saga_task t) { saga::task tt = task_registry_.get (t); tt.wait (); } void saga_task_destroy (saga_task) { }