Example #1
0
int main (int argc, char *argv[])
{
  OilFunctionClass *klass;
  int i;
  int n;

  oil_init_no_optimize ();

  print_header ();

  n = oil_class_get_n_classes ();
  for (i=0;i<n; i++ ){
#ifdef __CW32__
    klass = (OilFunctionClass*)oil_class_get_by_index (i);

    printf ("OIL_DECLARE_CLASS(%s);\n", klass->name);
#else
    klass = oil_class_get_by_index (i);

    printf ("OIL_DECLARE_CLASS(%s);\n", klass->name);
#endif
  }

  print_footer ();

  return 0;
}
int main (int argc, char *argv[])
{
  OilFunctionClass *klass;
  OilPrototype *proto;
  int i;
  int n;
  char *string;

  oil_init_no_optimize ();

  print_header ();

  n = oil_class_get_n_classes ();
  for (i=0;i<n; i++ ){
    klass = oil_class_get_by_index (i);

    if(klass->prototype) {
      proto = oil_prototype_from_string (klass->prototype);
      if (proto) {
        string = oil_prototype_to_string (proto);
        if (strlen (string) == 0) {
          free (string);
          string = xstrdup("void");
        }

        printf ("OIL_EXPORT OilFunctionClass *oil_function_class_ptr_%s;\n",
            klass->name);
        printf ("typedef void (*_oil_type_%s)(%s);\n",klass->name,string);
        printf ("#define oil_%s ((_oil_type_%s)(*(void(**)(void))oil_function_class_ptr_%s))\n",
            klass->name, klass->name, klass->name);

        oil_prototype_free (proto);
        free (string);
      } else {
        printf("/* ERROR: could not parse %s(%s) */\n", klass->name, klass->prototype);
      }
    }
  }

  print_footer ();

  return 0;
}