ds_generator.anubis 1.42 KB
/*
 * Created by PyramIDE.
 * User: フランスのトトロ aka (David RENÉ) 
 * Date: 22/01/2017
 * Time: 21:50
 * © Calexium 
 */


read tools/basis.anubis
transmit types/densaku.anubis

public type DS_Generator_API:
  ds_api(
    ((List(DS_Type_File), List(DS_Message), String) -> Maybe(One)) generate_type_files).
    
public define Maybe(DS_Generator_API)
  load_ds_generator
  =
   with file_name = "ds_gen.adm", 
   if (LoadAdm(DS_Generator_API))load_adm(file_name) is 
   {
     file_not_found               then print("File '"+file_name+"' not found.\n\n");failure, 
     read_error                   then print("Error reading file '"+file_name+"'.\n\n");failure, 
     timeout                      then print("Timeout when loading '"+file_name+"'.\n\n");failure, 
     file_damaged                 then print("File '"+file_name+"' is damaged.\n\n");failure, 
     bad_version(expected,found)  then print("Secondary module '"+file_name+"' doesn't have the same\n"+
                                             "  version ("+found+") as primary module ("+expected+").\n\n");failure, 
     wrong_type(expected,found)   then print("Secondary module '"+file_name+"' has type:\n"+
                                             found+" while primary module expected:\n"+
                                             expected+"\n\n");failure, 
     ok(ds_gen_api)               then println("Densaku generator loaded ");success(ds_gen_api)
   }.