/* RIGSCore.h - Ruby Interface to GNUStep - main module $Id: RIGSCore.h,v 1.2 2001/09/24 11:24:46 ljulliar Exp $ Copyright (C) 2001 Free Software Foundation, Inc. Written by: Laurent Julliard Date: July 2001 This file is part of the GNUstep RubyInterface Library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ #ifndef __RIGSCore_h_GNUSTEP_RUBY_INCLUDE #define __RIGSCore_h_GNUSTEP_RUBY_INCLUDE #include // After inclusion of ruby.h undefine the "_" macro because // it is also defined in Foundation/NSBundle.h #include "ruby.h" #undef _ char **ourargv; int ourargc; void rb_objc_release(id objc_object); void rb_objc_mark(VALUE rb_object); VALUE rb_objc_new(int rb_argc, VALUE *rb_argv, VALUE rb_class); BOOL rb_objc_convert_to_objc(VALUE rb_val, void *data, int offset, const char *type); BOOL rb_objc_convert_to_rb(void *data, int offset, const char *type, VALUE *rb_val_ptr); VALUE rb_objc_send(char *method, int rb_argc, VALUE *rb_argv, VALUE rb_self); VALUE rb_objc_send_with_selector(SEL sel, int rb_argc, VALUE *rb_argv, VALUE rb_self); VALUE rb_objc_handler(int rb_argc, VALUE *rb_argv, VALUE rb_self); VALUE rb_objc_invoke(int rb_argc, VALUE *rb_argv, VALUE rb_self); NSArray* class_method_selectors_for_class(Class class, BOOL use_super); NSArray* instance_method_selectors_for_class(Class class, BOOL use_super); NSArray* method_selectors_for_class(Class class, BOOL use_super); int rb_objc_register_instance_methods(Class objc_class, VALUE rb_class); int rb_objc_register_class_methods(Class objc_class, VALUE rb_class); VALUE rb_objc_register_class_from_objc (Class objc_class); VALUE rb_objc_register_class_from_ruby(VALUE rb_self, VALUE rb_name); VALUE rb_objc_get_ruby_value_from_string(char * classname); void rb_objc_raise_exception(NSException *exception); void _rb_objc_rebuild_main_bundle(); void _rb_objc_rebuild_argc_argv(VALUE rb_argc, VALUE rb_argv); void _rb_objc_initialize_process_context(VALUE rb_argc, VALUE rb_argv); void Init_librigs(); void Init_librigs_d(); #endif