Update to ARC 4.1.0
[gp-arc-client-c.git] / lib / arc_client_r.rb
index ce5dcf4..b892b6c 100644 (file)
@@ -7,7 +7,7 @@ class ArcClientR
     @wrapper = ArcClientCWrapper.new
   end
   
-  def generic_call(the_args)
+  def generic_call(the_args)#currently not used
     args = the_args.unshift ""##optparser cuts the first arg TODO
     args_pointer = ArcClientCWrapper::string_array_as_pointer(args)
     result, ruby_result = yield(args.size, args_pointer)
@@ -16,37 +16,27 @@ class ArcClientR
     ruby_result
   end
   
+  def generic_value_func(func_name, the_args)
+    args = the_args.unshift ""##optparser cuts the first arg TODO
+    args_pointer = ArcClientCWrapper::string_array_as_pointer(args)
+    result = @wrapper.send func_name, args.size, args_pointer
+    result
+  end
+  
   def submit(the_args)
-    generic_call(the_args) do |args_size, args_pointer|
-      c_result = @wrapper.arc_submit(args_size, args_pointer)
-      result = ArcClientCWrapper::SubmitResult.new(c_result)
-      ruby_result = [result.get_str(:message), result.get_str(:job_id)]
-      [result, ruby_result]
-    end
+    generic_value_func :arc_submit, the_args
   end
   
   def stat(the_args)
-    generic_call(the_args) do |args_size, args_pointer|
-      c_result = @wrapper.arc_stat(args_size, args_pointer)
-      result = ArcClientCWrapper::StatResult.new(c_result)
-      ruby_result = [result.get_str(:message), result.get_str(:stat)]
-      [result, ruby_result]
-    end
+    generic_value_func :arc_stat, the_args
   end
   
   def get(the_args)
-    generic_call(the_args) do |args_size, args_pointer|
-      c_result = @wrapper.arc_get(args_size, args_pointer)
-      result = ArcClientCWrapper::GetResult.new(c_result)
-      ruby_result = [result.get_str(:message), result[:get]]
-      [result, ruby_result]
-    end
+    generic_value_func :arc_get, the_args
   end
   
   def kill(the_args)
-    args = the_args.unshift
-    args_pointer = ArcClientCWrapper::string_array_as_pointer(args)
-    @wrapper.arc_kill(args.size, args_pointer)
+    generic_value_func :arc_kill, the_args
   end
   
 end
\ No newline at end of file