ZOO-Project
Data Structures | Macros | Functions
service_internal_ruby.h File Reference
#include "service.h"
#include "service_internal.h"
#include <ruby.h>
#include <version.h>
#include <ruby/st.h>

Go to the source code of this file.

Data Structures

struct  my_callback
 The Ruby method pointer. More...
 

Macros

#define RUBY_GLOBAL_SETUP
 
#define MAX_ARGS   3
 

Functions

void ruby_trace_error (maps *)
 Print the Ruby Stack Trace in an ows:ExceptionReport XML Document. More...
 
VALUE FunCallWrap (VALUE)
 Call a ruby function with parameters. More...
 
VALUE LoadWrap (VALUE)
 Load a ruby file. More...
 
VALUE RubyHash_FromMaps (maps *)
 Convert a maps to a Ruby Hash. More...
 
VALUE RubyHash_FromMap (map *)
 Convert a map to a Ruby Hash. More...
 
mapsmapsFromRubyHash (VALUE)
 Convert a Ruby Hash to a maps. More...
 
void createMapsFromRubyHash (maps **, VALUE)
 
mapmapFromRubyHash (VALUE)
 Convert a Ruby Hash to a map. More...
 
int zoo_ruby_support (maps **, map *, service *, maps **, maps **)
 Load a Ruby file then run the function corresponding to the service by passing the conf, inputs and outputs parameters by refernce as Ruby Hash. More...
 
VALUE RubyTranslate (int, VALUE *, VALUE)
 Use the ZOO-Services messages translation function from the Ruby environment (ZOO-API) More...
 
VALUE RubyUpdateStatus (int, VALUE *, VALUE)
 Update the ongoing status of a running service from the Ruby environment (ZOO-API) More...
 

Data Structure Documentation

struct my_callback

The Ruby method pointer.

Data Fields
VALUE args[MAX_ARGS] The arguments values.
ID method_id The method to call.
int nargs The arguments number.
VALUE obj Object used to call a method.

Macro Definition Documentation

#define MAX_ARGS   3
#define RUBY_GLOBAL_SETUP

Function Documentation

void createMapsFromRubyHash ( maps **  ,
VALUE   
)
VALUE FunCallWrap ( VALUE  rdata)

Call a ruby function with parameters.

  • the callback structure
    Returns
    the value returned the called ruby function
VALUE LoadWrap ( VALUE  arg)

Load a ruby file.

  • the file to load
    Returns
    Qnil
map* mapFromRubyHash ( VALUE  t)

Convert a Ruby Hash to a map.

Parameters
tthe Ruby Hash to convert
Returns
a new map
maps* mapsFromRubyHash ( VALUE  t)

Convert a Ruby Hash to a maps.

Parameters
tthe Ruby Hash to convert
Returns
a new maps
void ruby_trace_error ( maps m)

Print the Ruby Stack Trace in an ows:ExceptionReport XML Document.

Parameters
mthe conf maps containing the main.cfg settings
See also
printExceptionReportResponse
VALUE RubyHash_FromMap ( map t)

Convert a map to a Ruby Hash.

Parameters
tthe map to convert
Returns
a new Ruby Hash
VALUE RubyHash_FromMaps ( maps t)

Convert a maps to a Ruby Hash.

Parameters
tthe maps to convert
Returns
a new Ruby Hash
VALUE RubyTranslate ( int  argc,
VALUE *  argv,
VALUE  obj 
)

Use the ZOO-Services messages translation function from the Ruby environment (ZOO-API)

Parameters
argcthe number of parameters
argvthe parameter values given from the Ruby environment
objthe Ruby object on which we run the method
Returns
a new Ruby string containing the translated value
See also
_ss
VALUE RubyUpdateStatus ( int  argc,
VALUE *  argv,
VALUE  obj 
)

Update the ongoing status of a running service from the Ruby environment (ZOO-API)

Parameters
argcthe number of parameters
argvthe parameter values given from the Ruby environment
objthe Ruby object on which we run the method
Returns
a new Ruby string containing the translated value
See also
_updateStatus
int zoo_ruby_support ( maps **  main_conf,
map request,
service s,
maps **  real_inputs,
maps **  real_outputs 
)

Load a Ruby file then run the function corresponding to the service by passing the conf, inputs and outputs parameters by refernce as Ruby Hash.

Parameters
main_confthe conf maps containing the main.cfg settings
requestthe map containing the HTTP request
sthe service structure
real_inputsthe maps containing the inputs
real_outputsthe maps containing the outputs
Returns
SERVICE_SUCCEEDED or SERVICE_FAILED if the service run, -1 if the service failed to load or throw error at runtime.