rpm  5.4.4
ruby/rpm-rb.c
Go to the documentation of this file.
00001 
00013 #include "system.h"
00014 #include "debug.h"
00015 
00016 #include "rpm-rb.h"
00017 
00018 #include "rpmts-rb.h"
00019 #include "spec-rb.h"
00020 #include "package-rb.h"
00021 #include "rpmds-rb.h"
00022 #include "rpmmc-rb.h"
00023 
00024 #include <rpmrc.h>
00025 #include <rpmcb.h>
00026 
00027 #include <mire.h>
00028 
00029 #ifndef _GNU_SOURCE
00030 #define _GNU_SOURCE
00031 #endif
00032 #include <stdio.h>
00033 
00034 
00035 VALUE rpmModule;
00036 
00037 
00038 void Init_rpm(void)
00039 {
00040     if(rpmReadConfigFiles(NULL, NULL) != 0)
00041         rpm_rb_raise(1, "Reading config files failed");
00042 
00043     rpmModule = rb_define_module("RPM");
00044 
00045     Init_rpmts();
00046     Init_spec();
00047     Init_Package();
00048     Init_rpmmc();
00049     Init_rpmds();
00050 }
00051 
00052 
00053 void rpm_rb_raise(rpmRC error, char *message)
00054 {
00055     rb_require("rpmexceptions");
00056     char *rb;
00057     int i = asprintf(&rb, "raise RPM::Error.new(%i), '%s'", error, message);
00058     if(i) rb_eval_string(rb);
00059 }