impress/vendor/gems/RocketAMF-1.0.0/ext/rocketamf_ext/rocketamf_ext.c
Emi Matchu b1f06029f8 Moderize RocketAMF C types to fix build error
I'm not sure if this is a Mac-only problem or what, but we were getting incompatible-function-pointer errors when trying to build the RocketAMF C extensions. This fixes that! (Maybe it's like, Mac-only but as of Ruby 3.4 in specific? We're running RocketAMF in production on Ruby 3.4 right now without this. Shrug.)
2025-10-30 02:45:56 +00:00

38 lines
No EOL
1.1 KiB
C

#include <ruby.h>
VALUE mRocketAMF;
VALUE mRocketAMFExt;
VALUE cDeserializer;
VALUE cSerializer;
VALUE cStringIO;
VALUE cDate;
VALUE cDateTime;
VALUE sym_class_name;
VALUE sym_members;
VALUE sym_externalizable;
VALUE sym_dynamic;
void Init_rocket_amf_deserializer();
void Init_rocket_amf_serializer();
void Init_rocket_amf_fast_class_mapping();
void Init_rocket_amf_remoting();
void Init_rocketamf_ext() {
mRocketAMF = rb_define_module("RocketAMF");
mRocketAMFExt = rb_define_module_under(mRocketAMF, "Ext");
// Set up classes
Init_rocket_amf_deserializer();
Init_rocket_amf_serializer();
Init_rocket_amf_fast_class_mapping();
Init_rocket_amf_remoting();
// Get refs to commonly used symbols and ids
cStringIO = rb_const_get(rb_cObject, rb_intern("StringIO"));
cDate = rb_const_get(rb_cObject, rb_intern("Date"));
cDateTime = rb_const_get(rb_cObject, rb_intern("DateTime"));
sym_class_name = ID2SYM(rb_intern("class_name"));
sym_members = ID2SYM(rb_intern("members"));
sym_externalizable = ID2SYM(rb_intern("externalizable"));
sym_dynamic = ID2SYM(rb_intern("dynamic"));
}