ZOO-Project
Functions
service_internal_mono.h File Reference
#include "service.h"
#include "service_internal.h"
#include <mono/jit/jit.h>
#include <mono/metadata/mono-config.h>
#include <mono/metadata/assembly.h>
#include <string.h>

Go to the source code of this file.

Functions

int zoo_mono_support (maps **, map *, service *, maps **, maps **)
 Load a Mono dll then run the static public method corresponding to the service by passing the conf, inputs and outputs parameters. More...
 
MonoObject * ZMapsFromMaps (MonoDomain *, MonoClass **, MonoMethod **, MonoObject **, maps *)
 Create ZMaps from maps. More...
 
MonoObject * ZMapFromMap (MonoDomain *, MonoClass *, MonoMethod **, MonoObject **, map *)
 Create ZMap from map. More...
 
mapsmapsFromZMaps (MonoDomain *, MonoClass **, MonoMethod **, MonoObject *)
 Create maps from ZMaps. More...
 
mapmapFromZMap (MonoDomain *, MonoClass **, MonoMethod **, MonoObject *)
 Create map from ZMap. More...
 
static MonoString * MonoTranslate (MonoString *)
 
static void MonoUpdateStatus (MonoObject *, MonoString *, int)
 

Function Documentation

map* mapFromZMap ( MonoDomain *  domain,
MonoClass **  classes,
MonoMethod **  methods,
MonoObject *  m 
)

Create map from ZMap.

Parameters
domainthe Mono Domain
classesthe Mono classes required (_ZMapsClass,ZMapsClass,ZMapClass,KeysList)
methodsthe Mono methods required (ZMapsGetMaps,ZMapsGetKeysCount,ZMapsGetKey,ZMapGetMap,ZMapGetKeysCount,ZMapGetKey,_ZMapsGetContent,_ZMapsGetChild,ZMapGetSize)
mthe ZMap to use as source to create a new map
Returns
MonoObject* to a new ZMap
maps* mapsFromZMaps ( MonoDomain *  domain,
MonoClass **  classes,
MonoMethod **  methods,
MonoObject *  m 
)

Create maps from ZMaps.

Parameters
domainthe Mono Domain
classesthe Mono classes required to create (_ZMapsClass,ZMapsClass,ZMapClass,KeysList)
methodsthe Mono methods required (ZMapsGetMaps,ZMapsGetKeysCount,ZMapsGetKey,ZMapGetMap,ZMapGetKeysCount,ZMapGetKey,_ZMapsGetContent,_ZMapsGetChild)
mthe ZMaps to use as source to create a new maps
Returns
MonoObject* to a new ZMaps
static MonoString* MonoTranslate ( MonoString *  )
static
static void MonoUpdateStatus ( MonoObject *  ,
MonoString *  ,
int   
)
static
MonoObject* ZMapFromMap ( MonoDomain *  domain,
MonoClass *  ZMapClass,
MonoMethod **  methods,
MonoObject **  exc,
map m 
)

Create ZMap from map.

Parameters
domainthe Mono Domain
classesthe Mono classes required to create (_ZMaps,ZMaps and ZMap)
methodsthe Mono methods required (ZMapsAdd, _ZMapsSetContent, _ZMapsSetChild, ZMapAdd and ZMapDisplay)
excthe Mono exception object
mthe map to use as source to create a new ZMap
Returns
MonoObject* to a new ZMap
MonoObject* ZMapsFromMaps ( MonoDomain *  domain,
MonoClass **  classes,
MonoMethod **  methods,
MonoObject **  exc,
maps m 
)

Create ZMaps from maps.

Parameters
domainthe Mono Domain
classesthe Mono classes required to create (_ZMaps,ZMaps and ZMap)
methodsthe Mono methods required (ZMapsAdd, _ZMapsSetContent, _ZMapsSetChild, ZMapAdd and ZMapDisplay)
mthe maps to use as source to create the corresponding ZMaps
Returns
MonoObject* to a new ZMap
int zoo_mono_support ( maps **  main_conf,
map request,
service s,
maps **  real_inputs,
maps **  real_outputs 
)

Load a Mono dll then run the static public method corresponding to the service by passing the conf, inputs and outputs parameters.

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