本文整理汇总了C++中rb_define_class_under函数的典型用法代码示例。如果您正苦于以下问题:C++ rb_define_class_under函数的具体用法?C++ rb_define_class_under怎么用?C++ rb_define_class_under使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了rb_define_class_under函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: Init_grpc_call
void Init_grpc_call() {
/* CallError inherits from Exception to signal that it is non-recoverable */
grpc_rb_eCallError =
rb_define_class_under(grpc_rb_mGrpcCore, "CallError", rb_eException);
grpc_rb_eOutOfTime =
rb_define_class_under(grpc_rb_mGrpcCore, "OutOfTime", rb_eException);
grpc_rb_cCall = rb_define_class_under(grpc_rb_mGrpcCore, "Call", rb_cObject);
grpc_rb_cMdAry =
rb_define_class_under(grpc_rb_mGrpcCore, "MetadataArray", rb_cObject);
/* Prevent allocation or inialization of the Call class */
rb_define_alloc_func(grpc_rb_cCall, grpc_rb_cannot_alloc);
rb_define_method(grpc_rb_cCall, "initialize", grpc_rb_cannot_init, 0);
rb_define_method(grpc_rb_cCall, "initialize_copy", grpc_rb_cannot_init_copy,
1);
/* Add ruby analogues of the Call methods. */
rb_define_method(grpc_rb_cCall, "run_batch", grpc_rb_call_run_batch, 4);
rb_define_method(grpc_rb_cCall, "cancel", grpc_rb_call_cancel, 0);
rb_define_method(grpc_rb_cCall, "peer", grpc_rb_call_get_peer, 0);
rb_define_method(grpc_rb_cCall, "peer_cert", grpc_rb_call_get_peer_cert, 0);
rb_define_method(grpc_rb_cCall, "status", grpc_rb_call_get_status, 0);
rb_define_method(grpc_rb_cCall, "status=", grpc_rb_call_set_status, 1);
rb_define_method(grpc_rb_cCall, "metadata", grpc_rb_call_get_metadata, 0);
rb_define_method(grpc_rb_cCall, "metadata=", grpc_rb_call_set_metadata, 1);
rb_define_method(grpc_rb_cCall, "write_flag", grpc_rb_call_get_write_flag, 0);
rb_define_method(grpc_rb_cCall, "write_flag=", grpc_rb_call_set_write_flag,
1);
rb_define_method(grpc_rb_cCall, "set_credentials!",
grpc_rb_call_set_credentials, 1);
/* Ids used to support call attributes */
id_metadata = rb_intern("metadata");
id_status = rb_intern("status");
id_write_flag = rb_intern("write_flag");
/* Ids used by the c wrapping internals. */
id_cq = rb_intern("__cq");
id_flags = rb_intern("__flags");
id_input_md = rb_intern("__input_md");
id_credentials = rb_intern("__credentials");
/* Ids used in constructing the batch result. */
sym_send_message = ID2SYM(rb_intern("send_message"));
sym_send_metadata = ID2SYM(rb_intern("send_metadata"));
sym_send_close = ID2SYM(rb_intern("send_close"));
sym_send_status = ID2SYM(rb_intern("send_status"));
sym_message = ID2SYM(rb_intern("message"));
sym_status = ID2SYM(rb_intern("status"));
sym_cancelled = ID2SYM(rb_intern("cancelled"));
/* The Struct used to return the run_batch result. */
grpc_rb_sBatchResult = rb_struct_define(
"BatchResult", "send_message", "send_metadata", "send_close",
"send_status", "message", "metadata", "status", "cancelled", NULL);
/* The hash for reference counting calls, to ensure they can't be destroyed
* more than once */
hash_all_calls = rb_hash_new();
rb_define_const(grpc_rb_cCall, "INTERNAL_ALL_CALLs", hash_all_calls);
Init_grpc_error_codes();
Init_grpc_op_codes();
Init_grpc_write_flags();
}
开发者ID:201528013359030,项目名称:grpc,代码行数:65,代码来源:rb_call.c
示例2: nst_s_new
/*
Foo = NArray::Struct.new {
int8 :byte
float64 :float, [2,2]
dcomplex :compl
}
*/
static VALUE
nst_s_new(int argc, VALUE *argv, VALUE klass)
{
VALUE name=Qnil, rest, size;
VALUE st, members;
ID id;
rb_scan_args(argc, argv, "0*", &rest);
if (RARRAY_LEN(rest)>0) {
name = RARRAY_PTR(rest)[0];
if (!NIL_P(name)) {
VALUE tmp = rb_check_string_type(name);
if (!NIL_P(tmp)) {
rb_ary_shift(rest);
} else {
name = Qnil;
}
}
}
if (NIL_P(name)) {
st = rb_class_new(klass);
rb_make_metaclass(st, RBASIC(klass)->klass);
rb_class_inherited(klass, st);
}
else {
char *cname = StringValuePtr(name);
id = rb_intern(cname);
if (!rb_is_const_id(id)) {
rb_name_error(id, "identifier %s needs to be constant", cname);
}
if (rb_const_defined_at(klass, id)) {
rb_warn("redefining constant Struct::%s", cname);
rb_mod_remove_const(klass, ID2SYM(id));
}
st = rb_define_class_under(klass, rb_id2name(id), klass);
}
rb_iv_set(st, "__members__", rb_ary_new());
rb_iv_set(st, "__offset__", INT2FIX(0));
if (rb_block_given_p()) {
rb_mod_module_eval(0, 0, st);
}
size = rb_iv_get(st, "__offset__");
members = rb_iv_get(st, "__members__");
//printf("size=%d\n",NUM2INT(size));
rb_define_const(st, CONTIGUOUS_STRIDE, size);
rb_define_const(st, ELEMENT_BYTE_SIZE, size);
rb_define_const(st, ELEMENT_BIT_SIZE, rb_funcall(size,'*',1,INT2FIX(8)));
OBJ_FREEZE(members);
rb_define_const(st, "DEFINITIONS", members);
rb_define_singleton_method(st, "new", rb_class_new_instance, -1);
//rb_define_singleton_method(st, "[]", rb_class_new_instance, -1);
rb_define_method(st, "allocate", nst_allocate, 0);
return st;
}
开发者ID:Enucatl,项目名称:narray-devel,代码行数:68,代码来源:struct.c
示例3: Init_rugged_diff_delta
void Init_rugged_diff_delta(void)
{
rb_cRuggedDiffDelta = rb_define_class_under(rb_cRuggedDiff, "Delta", rb_cObject);
}
开发者ID:GordonDiggs,项目名称:codeclimate_test,代码行数:4,代码来源:rugged_diff_delta.c
示例4: Init_openssl
//.........这里部分代码省略.........
/*
* Init all digests, ciphers
*/
/* CRYPTO_malloc_init(); */
/* ENGINE_load_builtin_engines(); */
OpenSSL_add_ssl_algorithms();
OpenSSL_add_all_algorithms();
ERR_load_crypto_strings();
SSL_load_error_strings();
/*
* FIXME:
* On unload do:
*/
#if 0
CONF_modules_unload(1);
destroy_ui_method();
EVP_cleanup();
ENGINE_cleanup();
CRYPTO_cleanup_all_ex_data();
ERR_remove_state(0);
ERR_free_strings();
#endif
/*
* Init main module
*/
mOSSL = rb_define_module("OpenSSL");
/*
* OpenSSL ruby extension version
*/
rb_define_const(mOSSL, "VERSION", rb_str_new2(OSSL_VERSION));
/*
* Version of OpenSSL the ruby OpenSSL extension was built with
*/
rb_define_const(mOSSL, "OPENSSL_VERSION", rb_str_new2(OPENSSL_VERSION_TEXT));
/*
* Version number of OpenSSL the ruby OpenSSL extension was built with
* (base 16)
*/
rb_define_const(mOSSL, "OPENSSL_VERSION_NUMBER", INT2NUM(OPENSSL_VERSION_NUMBER));
/*
* Boolean indicating whether OpenSSL is FIPS-enabled or not
*/
#ifdef HAVE_OPENSSL_FIPS
rb_define_const(mOSSL, "OPENSSL_FIPS", Qtrue);
#else
rb_define_const(mOSSL, "OPENSSL_FIPS", Qfalse);
#endif
rb_define_module_function(mOSSL, "fips_mode=", ossl_fips_mode_set, 1);
/*
* Generic error,
* common for all classes under OpenSSL module
*/
eOSSLError = rb_define_class_under(mOSSL,"OpenSSLError",rb_eStandardError);
/*
* Verify callback Proc index for ext-data
*/
if ((ossl_verify_cb_idx = X509_STORE_CTX_get_ex_new_index(0, (void *)"ossl_verify_cb_idx", 0, 0, 0)) < 0)
ossl_raise(eOSSLError, "X509_STORE_CTX_get_ex_new_index");
/*
* Init debug core
*/
dOSSL = Qfalse;
rb_define_module_function(mOSSL, "debug", ossl_debug_get, 0);
rb_define_module_function(mOSSL, "debug=", ossl_debug_set, 1);
rb_define_module_function(mOSSL, "errors", ossl_get_errors, 0);
/*
* Get ID of to_der
*/
ossl_s_to_der = rb_intern("to_der");
/*
* Init components
*/
Init_ossl_bn();
Init_ossl_cipher();
Init_ossl_config();
Init_ossl_digest();
Init_ossl_hmac();
Init_ossl_ns_spki();
Init_ossl_pkcs12();
Init_ossl_pkcs7();
Init_ossl_pkcs5();
Init_ossl_pkey();
Init_ossl_rand();
Init_ossl_ssl();
Init_ossl_x509();
Init_ossl_ocsp();
Init_ossl_engine();
Init_ossl_asn1();
}
开发者ID:Chatto,项目名称:VGdesk,代码行数:101,代码来源:ossl.c
示例5: Init_oci8_lob
void Init_oci8_lob(VALUE cOCI8)
{
id_plus = rb_intern("+");
id_dir_alias = rb_intern("@dir_alias");
id_filename = rb_intern("@filename");
seek_set = rb_eval_string("::IO::SEEK_SET");
seek_cur = rb_eval_string("::IO::SEEK_CUR");
seek_end = rb_eval_string("::IO::SEEK_END");
#if 0
/* for yard */
cOCIHandle = rb_define_class("OCIHandle", rb_cObject);
cOCI8 = rb_define_class("OCI8", cOCIHandle);
cOCI8LOB = rb_define_class_under(cOCI8, "LOB", cOCIHandle);
cOCI8CLOB = rb_define_class_under(cOCI8, "CLOB", cOCI8LOB);
cOCI8NCLOB = rb_define_class_under(cOCI8, "NCLOB", cOCI8LOB);
cOCI8BLOB = rb_define_class_under(cOCI8, "BLOB", cOCI8LOB);
cOCI8BFILE = rb_define_class_under(cOCI8, "BFILE", cOCI8LOB);
#endif
cOCI8LOB = oci8_define_class_under(cOCI8, "LOB", &oci8_lob_data_type, oci8_lob_alloc);
cOCI8CLOB = oci8_define_class_under(cOCI8, "CLOB", &oci8_clob_data_type, oci8_clob_alloc);
cOCI8NCLOB = oci8_define_class_under(cOCI8, "NCLOB", &oci8_nclob_data_type, oci8_nclob_alloc);
cOCI8BLOB = oci8_define_class_under(cOCI8, "BLOB", &oci8_blob_data_type, oci8_blob_alloc);
cOCI8BFILE = oci8_define_class_under(cOCI8, "BFILE", &oci8_bfile_data_type, oci8_bfile_alloc);
rb_define_method(cOCI8CLOB, "initialize", oci8_clob_initialize, -1);
rb_define_method(cOCI8NCLOB, "initialize", oci8_nclob_initialize, -1);
rb_define_method(cOCI8BLOB, "initialize", oci8_blob_initialize, -1);
rb_define_method(cOCI8LOB, "available?", oci8_lob_available_p, 0);
rb_define_method(cOCI8LOB, "size", oci8_lob_get_size, 0);
rb_define_method(cOCI8LOB, "pos", oci8_lob_get_pos, 0);
rb_define_alias(cOCI8LOB, "tell", "pos");
rb_define_method(cOCI8LOB, "eof?", oci8_lob_eof_p, 0);
rb_define_method(cOCI8LOB, "seek", oci8_lob_seek, -1);
rb_define_method(cOCI8LOB, "rewind", oci8_lob_rewind, 0);
rb_define_method(cOCI8LOB, "truncate", oci8_lob_truncate, 1);
rb_define_method(cOCI8LOB, "size=", oci8_lob_set_size, 1);
rb_define_method(cOCI8LOB, "read", oci8_lob_read, -1);
rb_define_method(cOCI8LOB, "write", oci8_lob_write, 1);
rb_define_method(cOCI8LOB, "close", oci8_lob_close, 0);
rb_define_method(cOCI8LOB, "sync", oci8_lob_get_sync, 0);
rb_define_method(cOCI8LOB, "sync=", oci8_lob_set_sync, 1);
rb_define_method(cOCI8LOB, "flush", oci8_lob_flush, 0);
rb_define_method(cOCI8LOB, "chunk_size", oci8_lob_get_chunk_size, 0);
rb_define_method(cOCI8BFILE, "initialize", oci8_bfile_initialize, -1);
rb_define_method(cOCI8BFILE, "dir_alias", oci8_bfile_get_dir_alias, 0);
rb_define_method(cOCI8BFILE, "filename", oci8_bfile_get_filename, 0);
rb_define_method(cOCI8BFILE, "dir_alias=", oci8_bfile_set_dir_alias, 1);
rb_define_method(cOCI8BFILE, "filename=", oci8_bfile_set_filename, 1);
rb_define_method(cOCI8BFILE, "exists?", oci8_bfile_exists_p, 0);
rb_define_method(cOCI8BFILE, "truncate", oci8_bfile_error, 1);
rb_define_method(cOCI8BFILE, "size=", oci8_bfile_error, 1);
rb_define_method(cOCI8BFILE, "write", oci8_bfile_error, 1);
oci8_define_bind_class("CLOB", &bind_clob_data_type.bind, bind_clob_alloc);
oci8_define_bind_class("NCLOB", &bind_nclob_data_type.bind, bind_nclob_alloc);
oci8_define_bind_class("BLOB", &bind_blob_data_type.bind, bind_blob_alloc);
oci8_define_bind_class("BFILE", &bind_bfile_data_type.bind, bind_bfile_alloc);
}
开发者ID:Captnwalker1,项目名称:ruby-oci8,代码行数:61,代码来源:lob.c
示例6: Init_cairo_context
void
Init_cairo_context (void)
{
cr_id_surface = rb_intern ("surface");
cr_id_source = rb_intern ("source");
cr_id_plus = rb_intern ("+");
cr_id_minus = rb_intern ("-");
cr_id_multi = rb_intern ("*");
cr_id_div = rb_intern ("/");
rb_cCairo_Context =
rb_define_class_under (rb_mCairo, "Context", rb_cObject);
rb_define_alloc_func (rb_cCairo_Context, cr_allocate);
rb_cairo__initialize_gc_guard_holder_class (rb_cCairo_Context);
rb_set_end_proc(cr_destroy_all_guarded_contexts_at_end, Qnil);
/* Functions for manipulating state objects */
rb_define_method (rb_cCairo_Context, "initialize", cr_initialize, 1);
rb_define_method (rb_cCairo_Context, "destroy", cr_destroy, 0);
rb_define_method (rb_cCairo_Context, "save", cr_save, 0);
rb_define_method (rb_cCairo_Context, "restore", cr_restore, 0);
rb_define_method (rb_cCairo_Context, "push_group", cr_push_group, -1);
rb_define_method (rb_cCairo_Context, "pop_group", cr_pop_group_generic, -1);
rb_define_method (rb_cCairo_Context, "pop_group_to_source",
cr_pop_group_to_source, 0);
/* Modify state */
rb_define_method (rb_cCairo_Context, "set_operator", cr_set_operator, 1);
rb_define_method (rb_cCairo_Context, "set_source", cr_set_source_generic, -1);
rb_define_method (rb_cCairo_Context, "set_source_rgb",
cr_set_source_rgb, -1);
rb_define_method (rb_cCairo_Context, "set_source_rgba",
cr_set_source_rgba, -1);
rb_define_method (rb_cCairo_Context, "set_tolerance", cr_set_tolerance, 1);
rb_define_method (rb_cCairo_Context, "set_antialias", cr_set_antialias, 1);
rb_define_method (rb_cCairo_Context, "set_fill_rule", cr_set_fill_rule, 1);
rb_define_method (rb_cCairo_Context, "set_line_width", cr_set_line_width, 1);
rb_define_method (rb_cCairo_Context, "set_line_cap", cr_set_line_cap, 1);
rb_define_method (rb_cCairo_Context, "set_line_join", cr_set_line_join, 1);
rb_define_method (rb_cCairo_Context, "set_dash", cr_set_dash, -1);
rb_define_method (rb_cCairo_Context, "set_miter_limit",
cr_set_miter_limit, 1);
rb_define_method (rb_cCairo_Context, "translate", cr_translate, 2);
rb_define_method (rb_cCairo_Context, "scale", cr_scale, 2);
rb_define_method (rb_cCairo_Context, "rotate", cr_rotate, 1);
rb_define_method (rb_cCairo_Context, "transform", cr_transform, 1);
rb_define_method (rb_cCairo_Context, "set_matrix", cr_set_matrix, 1);
rb_define_method (rb_cCairo_Context, "identity_matrix",
cr_identity_matrix, 0);
rb_define_method (rb_cCairo_Context, "user_to_device", cr_user_to_device, 2);
rb_define_method (rb_cCairo_Context, "user_to_device_distance",
cr_user_to_device_distance, 2);
rb_define_method (rb_cCairo_Context, "device_to_user", cr_device_to_user, 2);
rb_define_method (rb_cCairo_Context, "device_to_user_distance",
cr_device_to_user_distance, 2);
/* Path creation functions */
rb_define_method (rb_cCairo_Context, "new_path", cr_new_path, 0);
rb_define_method (rb_cCairo_Context, "move_to", cr_move_to, 2);
rb_define_method (rb_cCairo_Context, "new_sub_path", cr_new_sub_path, 0);
rb_define_method (rb_cCairo_Context, "line_to", cr_line_to, 2);
rb_define_method (rb_cCairo_Context, "curve_to", cr_curve_to_generic, -1);
rb_define_method (rb_cCairo_Context, "arc", cr_arc, 5);
rb_define_method (rb_cCairo_Context, "arc_negative", cr_arc_negative, 5);
rb_define_method (rb_cCairo_Context, "rel_move_to", cr_rel_move_to, 2);
rb_define_method (rb_cCairo_Context, "rel_line_to", cr_rel_line_to, 2);
rb_define_method (rb_cCairo_Context, "rel_curve_to",
cr_rel_curve_to_generic, -1);
rb_define_method (rb_cCairo_Context, "rectangle", cr_rectangle, 4);
rb_define_method (rb_cCairo_Context, "close_path", cr_close_path, 0);
#if CAIRO_CHECK_VERSION(1, 5, 8)
rb_define_method (rb_cCairo_Context, "path_extents", cr_path_extents, 0);
#endif
/* Painting functions */
rb_define_method (rb_cCairo_Context, "paint", cr_paint_generic, -1);
rb_define_method (rb_cCairo_Context, "mask", cr_mask_generic, -1);
rb_define_method (rb_cCairo_Context, "stroke", cr_stroke, -1);
rb_define_method (rb_cCairo_Context, "fill", cr_fill, -1);
rb_define_method (rb_cCairo_Context, "copy_page", cr_copy_page, 0);
rb_define_method (rb_cCairo_Context, "show_page", cr_show_page, 0);
/* Insideness testing */
rb_define_method (rb_cCairo_Context, "in_stroke?", cr_in_stroke, 2);
rb_define_method (rb_cCairo_Context, "in_fill?", cr_in_fill, 2);
#if CAIRO_CHECK_VERSION(1, 10, 0)
rb_define_method (rb_cCairo_Context, "in_clip?", cr_in_clip, 2);
#endif
/* Rectangular extents */
rb_define_method (rb_cCairo_Context, "stroke_extents", cr_stroke_extents, 0);
rb_define_method (rb_cCairo_Context, "fill_extents", cr_fill_extents, 0);
/* Clipping */
//.........这里部分代码省略.........
开发者ID:joshuawatson,项目名称:rcairo,代码行数:101,代码来源:rb_cairo_context.c
示例7: Init_dl
void
Init_dl(void)
{
void Init_dlhandle(void);
void Init_dlcfunc(void);
void Init_dlptr(void);
rbdl_id_cdecl = rb_intern_const("cdecl");
rbdl_id_stdcall = rb_intern_const("stdcall");
/* Document-module: DL
*
* A bridge to the dlopen() or dynamic library linker function.
*
* == Example
*
* bash $> cat > sum.c <<EOF
* double sum(double *arry, int len)
* {
* double ret = 0;
* int i;
* for(i = 0; i < len; i++){
* ret = ret + arry[i];
* }
* return ret;
* }
*
* double split(double num)
* {
* double ret = 0;
* ret = num / 2;
* return ret;
* }
* EOF
* bash $> gcc -o libsum.so -shared sum.c
* bash $> cat > sum.rb <<EOF
* require 'dl'
* require 'dl/import'
*
* module LibSum
* extend DL::Importer
* dlload './libsum.so'
* extern 'double sum(double*, int)'
* extern 'double split(double)'
* end
*
* a = [2.0, 3.0, 4.0]
*
* sum = LibSum.sum(a.pack("d*"), a.count)
* p LibSum.split(sum)
* EOF
* bash $> ruby sum.rb
* 4.5
*
* WIN! :-)
*/
rb_mDL = rb_define_module("DL");
/*
* Document-class: DL::DLError
*
* standard dynamic load exception
*/
rb_eDLError = rb_define_class_under(rb_mDL, "DLError", rb_eStandardError);
/*
* Document-class: DL::DLTypeError
*
* dynamic load incorrect type exception
*/
rb_eDLTypeError = rb_define_class_under(rb_mDL, "DLTypeError", rb_eDLError);
/* Document-const: MAX_CALLBACK
*
* Maximum number of callbacks
*/
rb_define_const(rb_mDL, "MAX_CALLBACK", INT2NUM(MAX_CALLBACK));
/* Document-const: DLSTACK_SIZE
*
* Dynamic linker stack size
*/
rb_define_const(rb_mDL, "DLSTACK_SIZE", INT2NUM(DLSTACK_SIZE));
rb_dl_init_callbacks(rb_mDL);
/* Document-const: RTLD_GLOBAL
*
* rtld DL::Handle flag.
*
* The symbols defined by this library will be made available for symbol
* resolution of subsequently loaded libraries.
*/
rb_define_const(rb_mDL, "RTLD_GLOBAL", INT2NUM(RTLD_GLOBAL));
/* Document-const: RTLD_LAZY
*
* rtld DL::Handle flag.
*
* Perform lazy binding. Only resolve symbols as the code that references
//.........这里部分代码省略.........
开发者ID:AeonSaber,项目名称:first_app,代码行数:101,代码来源:dl.c
示例8: Init_rsvg2
void
Init_rsvg2(void)
{
VALUE mRSVG = rb_define_module("RSVG");
#if LIBRSVG_CHECK_VERSION(2, 9, 0)
rsvg_init();
atexit(rsvg_term);
#endif
#ifdef RSVG_TYPE_HANDLE
cHandle = G_DEF_CLASS(RSVG_TYPE_HANDLE, "Handle", mRSVG);
#else
cHandle = rb_define_class_under(mRSVG, "Handle", rb_cObject);
rb_define_alloc_func(cHandle, rb_rsvg_handle_alloc);
#endif
G_DEF_ERROR(RSVG_ERROR, "Error", mRSVG, rb_eRuntimeError, RSVG_TYPE_ERROR);
id_call = rb_intern("call");
id_callback = rb_intern("callback");
id_closed = rb_intern("closed");
id_to_s = rb_intern("to_s");
rb_define_const(mRSVG, "BINDING_VERSION",
rb_ary_new3(3,
INT2FIX(RBRSVG_MAJOR_VERSION),
INT2FIX(RBRSVG_MINOR_VERSION),
INT2FIX(RBRSVG_MICRO_VERSION)));
rb_define_const(mRSVG, "BUILD_VERSION",
rb_ary_new3(3,
INT2FIX(LIBRSVG_MAJOR_VERSION),
INT2FIX(LIBRSVG_MINOR_VERSION),
INT2FIX(LIBRSVG_MICRO_VERSION)));
rb_define_module_function(mRSVG, "set_default_dpi",
rb_rsvg_set_default_dpi, 1);
rb_define_module_function(mRSVG, "set_default_dpi_x_y",
rb_rsvg_set_default_dpi_x_y, 2);
#ifdef HAVE_TYPE_RSVGDIMENSIONDATA
cDim = rb_define_class_under(mRSVG, "DimensionData", rb_cObject);
rb_define_alloc_func(cDim, rb_rsvg_dim_alloc);
rb_define_method(cDim, "initialize", rb_rsvg_dim_initialize, -1);
rb_define_method(cDim, "width", rb_rsvg_dim_get_width, 0);
rb_define_method(cDim, "set_width", rb_rsvg_dim_set_width, 1);
rb_define_method(cDim, "height", rb_rsvg_dim_get_height, 0);
rb_define_method(cDim, "set_height", rb_rsvg_dim_set_height, 1);
rb_define_method(cDim, "em", rb_rsvg_dim_get_em, 0);
rb_define_method(cDim, "set_em", rb_rsvg_dim_set_em, 1);
rb_define_method(cDim, "ex", rb_rsvg_dim_get_ex, 0);
rb_define_method(cDim, "set_ex", rb_rsvg_dim_set_ex, 1);
rb_define_method(cDim, "to_s", rb_rsvg_dim_to_s, 0);
rb_define_method(cDim, "to_a", rb_rsvg_dim_to_a, 0);
rb_define_alias(cDim, "to_ary", "to_a");
G_DEF_SETTERS(cDim);
#endif
#if LIBRSVG_CHECK_VERSION(2, 14, 0)
rb_define_module_function(cHandle, "new_from_data",
rb_rsvg_handle_new_from_data, 1);
rb_define_module_function(cHandle, "new_from_file",
rb_rsvg_handle_new_from_file, 1);
#endif
rb_define_method(cHandle, "initialize", rb_rsvg_handle_initialize, -1);
rb_define_method(cHandle, "set_size_callback",
rb_rsvg_handle_set_size_callback, 0);
rb_define_method(cHandle, "set_dpi", rb_rsvg_handle_set_dpi, 1);
rb_define_method(cHandle, "set_dpi_x_y", rb_rsvg_handle_set_dpi_x_y, 2);
rb_define_method(cHandle, "write", rb_rsvg_handle_write, 1);
rb_define_method(cHandle, "close", rb_rsvg_handle_close, 0);
rb_define_method(cHandle, "closed?", rb_rsvg_handle_closed, 0);
rb_define_method(cHandle, "pixbuf", rb_rsvg_handle_get_pixbuf, -1);
#if LIBRSVG_CHECK_VERSION(2, 9, 0)
rb_define_method(cHandle, "base_uri", rb_rsvg_handle_get_base_uri, 0);
rb_define_method(cHandle, "set_base_uri", rb_rsvg_handle_set_base_uri, 1);
#endif
/* Convenience API */
rb_define_module_function(mRSVG, "pixbuf_from_file",
rb_rsvg_pixbuf_from_file, 1);
rb_define_module_function(mRSVG, "pixbuf_from_file_at_zoom",
rb_rsvg_pixbuf_from_file_at_zoom, 3);
rb_define_module_function(mRSVG, "pixbuf_from_file_at_size",
rb_rsvg_pixbuf_from_file_at_size, 3);
rb_define_module_function(mRSVG, "pixbuf_from_file_at_max_size",
rb_rsvg_pixbuf_from_file_at_max_size, 3);
rb_define_module_function(mRSVG, "pixbuf_from_file_at_zoom_with_max",
rb_rsvg_pixbuf_from_file_at_zoom_with_max, 5);
#ifdef HAVE_TYPE_RSVGDIMENSIONDATA
//.........这里部分代码省略.........
开发者ID:benolee,项目名称:ruby-gnome2,代码行数:101,代码来源:rbrsvg.c
示例9: Init_gsl_odeiv
void Init_gsl_odeiv(VALUE module)
{
VALUE mgsl_odeiv;
mgsl_odeiv = rb_define_module_under(module, "Odeiv");
rb_define_const(mgsl_odeiv, "HADJ_DEC", INT2FIX(GSL_ODEIV_HADJ_DEC));
rb_define_const(mgsl_odeiv, "HADJ_INC", INT2FIX(GSL_ODEIV_HADJ_INC));
rb_define_const(mgsl_odeiv, "HADJ_NIL", INT2FIX(GSL_ODEIV_HADJ_NIL));
cgsl_odeiv_step = rb_define_class_under(mgsl_odeiv, "Step",
cGSL_Object);
rb_define_singleton_method(cgsl_odeiv_step, "alloc", rb_gsl_odeiv_step_new, -1);
/*****/
rb_define_const(cgsl_odeiv_step, "RK2", INT2FIX(GSL_ODEIV_STEP_RK2));
rb_define_const(cgsl_odeiv_step, "RK4", INT2FIX(GSL_ODEIV_STEP_RK4));
rb_define_const(cgsl_odeiv_step, "RKF45", INT2FIX(GSL_ODEIV_STEP_RKF45));
rb_define_const(cgsl_odeiv_step, "RKCK", INT2FIX(GSL_ODEIV_STEP_RKCK));
rb_define_const(cgsl_odeiv_step, "RK8PD", INT2FIX(GSL_ODEIV_STEP_RK8PD));
rb_define_const(cgsl_odeiv_step, "RK2IMP", INT2FIX(GSL_ODEIV_STEP_RK2IMP));
rb_define_const(cgsl_odeiv_step, "RK4IMP", INT2FIX(GSL_ODEIV_STEP_RK4IMP));
rb_define_const(cgsl_odeiv_step, "BSIMP", INT2FIX(GSL_ODEIV_STEP_BSIMP));
rb_define_const(cgsl_odeiv_step, "GEAR1", INT2FIX(GSL_ODEIV_STEP_GEAR1));
rb_define_const(cgsl_odeiv_step, "GEAR2", INT2FIX(GSL_ODEIV_STEP_GEAR2));
rb_define_const(cgsl_odeiv_step, "RK2SIMP", INT2FIX(GSL_ODEIV_STEP_RK2SIMP));
/*****/
rb_define_method(cgsl_odeiv_step, "reset", rb_gsl_odeiv_step_reset, 0);
rb_define_method(cgsl_odeiv_step, "name", rb_gsl_odeiv_step_name, 0);
rb_define_method(cgsl_odeiv_step, "order", rb_gsl_odeiv_step_order, 0);
rb_define_method(cgsl_odeiv_step, "dimension", rb_gsl_odeiv_step_dimension, 0);
rb_define_alias(cgsl_odeiv_step, "dim", "dimension");
rb_define_method(cgsl_odeiv_step, "apply", rb_gsl_odeiv_step_apply, -1);
rb_define_method(cgsl_odeiv_step, "info", rb_gsl_odeiv_step_info, 0);
/****/
cgsl_odeiv_control = rb_define_class_under(mgsl_odeiv, "Control",
cGSL_Object);
rb_define_singleton_method(cgsl_odeiv_control, "alloc", rb_gsl_odeiv_control_standard_new, 4);
rb_define_singleton_method(cgsl_odeiv_control, "standard_alloc", rb_gsl_odeiv_control_standard_new, 4);
rb_define_singleton_method(cgsl_odeiv_control, "y_new", rb_gsl_odeiv_control_y_new, 2);
rb_define_singleton_method(cgsl_odeiv_control, "yp_new", rb_gsl_odeiv_control_yp_new, 2);
rb_define_singleton_method(cgsl_odeiv_control, "scaled_alloc", rb_gsl_odeiv_control_scaled_new, 5);
rb_define_method(cgsl_odeiv_control, "init", rb_gsl_odeiv_control_init, 4);
rb_define_method(cgsl_odeiv_control, "name", rb_gsl_odeiv_control_name, 0);
rb_define_method(cgsl_odeiv_control, "hadjust", rb_gsl_odeiv_control_hadjust, 5);
/****/
cgsl_odeiv_evolve = rb_define_class_under(mgsl_odeiv, "Evolve",
cGSL_Object);
rb_define_singleton_method(cgsl_odeiv_evolve, "alloc", rb_gsl_odeiv_evolve_new, 1);
rb_define_method(cgsl_odeiv_evolve, "reset", rb_gsl_odeiv_evolve_reset, 0);
rb_define_method(cgsl_odeiv_evolve, "apply", rb_gsl_odeiv_evolve_apply, 7);
rb_define_method(cgsl_odeiv_evolve, "count", rb_gsl_odeiv_evolve_count, 0);
rb_define_method(cgsl_odeiv_evolve, "dimension", rb_gsl_odeiv_evolve_dimension, 0);
rb_define_method(cgsl_odeiv_evolve, "failed_steps", rb_gsl_odeiv_evolve_failed_steps, 0);
rb_define_method(cgsl_odeiv_evolve, "last_step", rb_gsl_odeiv_evolve_last_step, 0);
rb_define_method(cgsl_odeiv_evolve, "y0", rb_gsl_odeiv_evolve_y0, 0);
rb_define_method(cgsl_odeiv_evolve, "yerr", rb_gsl_odeiv_evolve_yerr, 0);
/*****/
cgsl_odeiv_system = rb_define_class_under(mgsl_odeiv, "System",
cGSL_Object);
rb_define_singleton_method(cgsl_odeiv_system, "alloc", rb_gsl_odeiv_system_new, -1);
rb_define_method(cgsl_odeiv_system, "set", rb_gsl_odeiv_system_set, -1);
rb_define_method(cgsl_odeiv_system, "set_params",
rb_gsl_odeiv_system_set_params, -1);
rb_define_method(cgsl_odeiv_system, "params",
rb_gsl_odeiv_system_params, 0);
rb_define_method(cgsl_odeiv_system, "function",
rb_gsl_odeiv_system_function, 0);
rb_define_alias(cgsl_odeiv_system, "func", "function");
rb_define_method(cgsl_odeiv_system, "jacobian",
rb_gsl_odeiv_system_jacobian, 0);
rb_define_alias(cgsl_odeiv_system, "jac", "jacobian");
rb_define_method(cgsl_odeiv_system, "dimension", rb_gsl_odeiv_system_dimension, 0);
rb_define_alias(cgsl_odeiv_system, "dim", "dimension");
/*****/
cgsl_odeiv_solver = rb_define_class_under(mgsl_odeiv, "Solver", cGSL_Object);
rb_define_singleton_method(cgsl_odeiv_solver, "alloc", rb_gsl_odeiv_solver_new, -1);
rb_define_method(cgsl_odeiv_solver, "step", rb_gsl_odeiv_solver_step, 0);
rb_define_method(cgsl_odeiv_solver, "control", rb_gsl_odeiv_solver_control, 0);
rb_define_method(cgsl_odeiv_solver, "evolve", rb_gsl_odeiv_solver_evolve, 0);
rb_define_method(cgsl_odeiv_solver, "sys", rb_gsl_odeiv_solver_sys, 0);
rb_define_method(cgsl_odeiv_solver, "apply", rb_gsl_odeiv_solver_apply, 4);
rb_define_method(cgsl_odeiv_solver, "set_evolve", rb_gsl_odeiv_solver_set_evolve, 1);
rb_define_method(cgsl_odeiv_solver, "set_step", rb_gsl_odeiv_solver_set_step, 1);
rb_define_method(cgsl_odeiv_solver, "set_control", rb_gsl_odeiv_solver_set_control, 1);
rb_define_method(cgsl_odeiv_solver, "set_system", rb_gsl_odeiv_solver_set_sys, 1);
rb_define_method(cgsl_odeiv_solver, "reset", rb_gsl_odeiv_solver_reset, 0);
rb_define_method(cgsl_odeiv_solver, "dim", rb_gsl_odeiv_solver_dim, 0);
rb_define_alias(cgsl_odeiv_solver, "dimension", "dim");
rb_define_method(cgsl_odeiv_solver, "set_params", rb_gsl_odeiv_solver_set_params, -1);
rb_define_method(cgsl_odeiv_solver, "params", rb_gsl_odeiv_solver_params, 0);
}
开发者ID:AbhimanyuAryan,项目名称:rb-gsl,代码行数:98,代码来源:odeiv.c
示例10: Init_generator
void Init_generator()
{
rb_require("json/common");
mJSON = rb_define_module("JSON");
mExt = rb_define_module_under(mJSON, "Ext");
mGenerator = rb_define_module_under(mExt, "Generator");
eGeneratorError = rb_path2class("JSON::GeneratorError");
eNestingError = rb_path2class("JSON::NestingError");
cState = rb_define_class_under(mGenerator, "State", rb_cObject);
rb_define_alloc_func(cState, cState_s_allocate);
rb_define_singleton_method(cState, "from_state", cState_from_state_s, 1);
rb_define_method(cState, "initialize", cState_initialize, -1);
rb_define_method(cState, "initialize_copy", cState_init_copy, 1);
rb_define_method(cState, "indent", cState_indent, 0);
rb_define_method(cState, "indent=", cState_indent_set, 1);
rb_define_method(cState, "space", cState_space, 0);
rb_define_method(cState, "space=", cState_space_set, 1);
rb_define_method(cState, "space_before", cState_space_before, 0);
rb_define_method(cState, "space_before=", cState_space_before_set, 1);
rb_define_method(cState, "object_nl", cState_object_nl, 0);
rb_define_method(cState, "object_nl=", cState_object_nl_set, 1);
rb_define_method(cState, "array_nl", cState_array_nl, 0);
rb_define_method(cState, "array_nl=", cState_array_nl_set, 1);
rb_define_method(cState, "max_nesting", cState_max_nesting, 0);
rb_define_method(cState, "max_nesting=", cState_max_nesting_set, 1);
rb_define_method(cState, "check_circular?", cState_check_circular_p, 0);
rb_define_method(cState, "allow_nan?", cState_allow_nan_p, 0);
rb_define_method(cState, "ascii_only?", cState_ascii_only_p, 0);
rb_define_method(cState, "quirks_mode?", cState_quirks_mode_p, 0);
rb_define_method(cState, "quirks_mode", cState_quirks_mode_p, 0);
rb_define_method(cState, "quirks_mode=", cState_quirks_mode_set, 1);
rb_define_method(cState, "depth", cState_depth, 0);
rb_define_method(cState, "depth=", cState_depth_set, 1);
rb_define_method(cState, "buffer_initial_length", cState_buffer_initial_length, 0);
rb_define_method(cState, "buffer_initial_length=", cState_buffer_initial_length_set, 1);
rb_define_method(cState, "configure", cState_configure, 1);
rb_define_alias(cState, "merge", "configure");
rb_define_method(cState, "to_h", cState_to_h, 0);
rb_define_method(cState, "[]", cState_aref, 1);
rb_define_method(cState, "generate", cState_generate, 1);
mGeneratorMethods = rb_define_module_under(mGenerator, "GeneratorMethods");
mObject = rb_define_module_under(mGeneratorMethods, "Object");
rb_define_method(mObject, "to_json", mObject_to_json, -1);
mHash = rb_define_module_under(mGeneratorMethods, "Hash");
rb_define_method(mHash, "to_json", mHash_to_json, -1);
mArray = rb_define_module_under(mGeneratorMethods, "Array");
rb_define_method(mArray, "to_json", mArray_to_json, -1);
mFixnum = rb_define_module_under(mGeneratorMethods, "Fixnum");
rb_define_method(mFixnum, "to_json", mFixnum_to_json, -1);
mBignum = rb_define_module_under(mGeneratorMethods, "Bignum");
rb_define_method(mBignum, "to_json", mBignum_to_json, -1);
mFloat = rb_define_module_under(mGeneratorMethods, "Float");
rb_define_method(mFloat, "to_json", mFloat_to_json, -1);
mString = rb_define_module_under(mGeneratorMethods, "String");
rb_define_singleton_method(mString, "included", mString_included_s, 1);
rb_define_method(mString, "to_json", mString_to_json, -1);
rb_define_method(mString, "to_json_raw", mString_to_json_raw, -1);
rb_define_method(mString, "to_json_raw_object", mString_to_json_raw_object, 0);
mString_Extend = rb_define_module_under(mString, "Extend");
rb_define_method(mString_Extend, "json_create", mString_Extend_json_create, 1);
mTrueClass = rb_define_module_under(mGeneratorMethods, "TrueClass");
rb_define_method(mTrueClass, "to_json", mTrueClass_to_json, -1);
mFalseClass = rb_define_module_under(mGeneratorMethods, "FalseClass");
rb_define_method(mFalseClass, "to_json", mFalseClass_to_json, -1);
mNilClass = rb_define_module_under(mGeneratorMethods, "NilClass");
rb_define_method(mNilClass, "to_json", mNilClass_to_json, -1);
CRegexp_MULTILINE = rb_const_get(rb_cRegexp, rb_intern("MULTILINE"));
i_to_s = rb_intern("to_s");
i_to_json = rb_intern("to_json");
i_new = rb_intern("new");
i_indent = rb_intern("indent");
i_space = rb_intern("space");
i_space_before = rb_intern("space_before");
i_object_nl = rb_intern("object_nl");
i_array_nl = rb_intern("array_nl");
i_max_nesting = rb_intern("max_nesting");
i_allow_nan = rb_intern("allow_nan");
i_ascii_only = rb_intern("ascii_only");
i_quirks_mode = rb_intern("quirks_mode");
i_depth = rb_intern("depth");
i_buffer_initial_length = rb_intern("buffer_initial_length");
i_pack = rb_intern("pack");
i_unpack = rb_intern("unpack");
i_create_id = rb_intern("create_id");
i_extend = rb_intern("extend");
i_key_p = rb_intern("key?");
i_aref = rb_intern("[]");
i_send = rb_intern("__send__");
i_respond_to_p = rb_intern("respond_to?");
i_match = rb_intern("match");
i_keys = rb_intern("keys");
i_dup = rb_intern("dup");
#ifdef HAVE_RUBY_ENCODING_H
CEncoding_UTF_8 = rb_funcall(rb_path2class("Encoding"), rb_intern("find"), 1, rb_str_new2("utf-8"));
i_encoding = rb_intern("encoding");
//.........这里部分代码省略.........
开发者ID:imageoptimiser,项目名称:json,代码行数:101,代码来源:generator.c
示例11: Init_generator
void Init_generator()
{
rb_require("json/common");
mJSON = rb_define_module("JSON");
mExt = rb_define_module_under(mJSON, "Ext");
mGenerator = rb_define_module_under(mExt, "Generator");
eGeneratorError = rb_path2class("JSON::GeneratorError");
eCircularDatastructure = rb_path2class("JSON::CircularDatastructure");
eNestingError = rb_path2class("JSON::NestingError");
cState = rb_define_class_under(mGenerator, "State", rb_cObject);
rb_define_alloc_func(cState, cState_s_allocate);
rb_define_singleton_method(cState, "from_state", cState_from_state_s, 1);
rb_define_method(cState, "initialize", cState_initialize, -1);
rb_define_method(cState, "indent", cState_indent, 0);
rb_define_method(cState, "indent=", cState_indent_set, 1);
rb_define_method(cState, "space", cState_space, 0);
rb_define_method(cState, "space=", cState_space_set, 1);
rb_define_method(cState, "space_before", cState_space_before, 0);
rb_define_method(cState, "space_before=", cState_space_before_set, 1);
rb_define_method(cState, "object_nl", cState_object_nl, 0);
rb_define_method(cState, "object_nl=", cState_object_nl_set, 1);
rb_define_method(cState, "array_nl", cState_array_nl, 0);
rb_define_method(cState, "array_nl=", cState_array_nl_set, 1);
rb_define_method(cState, "check_circular?", cState_check_circular_p, 0);
rb_define_method(cState, "max_nesting", cState_max_nesting, 0);
rb_define_method(cState, "max_nesting=", cState_max_nesting_set, 1);
rb_define_method(cState, "allow_nan?", cState_allow_nan_p, 0);
rb_define_method(cState, "seen?", cState_seen_p, 1);
rb_define_method(cState, "remember", cState_remember, 1);
rb_define_method(cState, "forget", cState_forget, 1);
rb_define_method(cState, "configure", cState_configure, 1);
rb_define_method(cState, "to_h", cState_to_h, 0);
mGeneratorMethods = rb_define_module_under(mGenerator, "GeneratorMethods");
mObject = rb_define_module_under(mGeneratorMethods, "Object");
rb_define_method(mObject, "to_json", mObject_to_json, -1);
mHash = rb_define_module_under(mGeneratorMethods, "Hash");
rb_define_method(mHash, "to_json", mHash_to_json, -1);
mArray = rb_define_module_under(mGeneratorMethods, "Array");
rb_define_method(mArray, "to_json", mArray_to_json, -1);
mInteger = rb_define_module_under(mGeneratorMethods, "Integer");
rb_define_method(mInteger, "to_json", mInteger_to_json, -1);
mFloat = rb_define_module_under(mGeneratorMethods, "Float");
rb_define_method(mFloat, "to_json", mFloat_to_json, -1);
mString = rb_define_module_under(mGeneratorMethods, "String");
rb_define_singleton_method(mString, "included", mString_included_s, 1);
rb_define_method(mString, "to_json", mString_to_json, -1);
rb_define_method(mString, "to_json_raw", mString_to_json_raw, -1);
rb_define_method(mString, "to_json_raw_object", mString_to_json_raw_object, 0);
mString_Extend = rb_define_module_under(mString, "Extend");
rb_define_method(mString_Extend, "json_create", mString_Extend_json_create, 1);
mTrueClass = rb_define_module_under(mGeneratorMethods, "TrueClass");
rb_define_method(mTrueClass, "to_json", mTrueClass_to_json, -1);
mFalseClass = rb_define_module_under(mGeneratorMethods, "FalseClass");
rb_define_method(mFalseClass, "to_json", mFalseClass_to_json, -1);
mNilClass = rb_define_module_under(mGeneratorMethods, "NilClass");
rb_define_method(mNilClass, "to_json", mNilClass_to_json, -1);
i_to_s = rb_intern("to_s");
i_to_json = rb_intern("to_json");
i_new = rb_intern("new");
i_indent = rb_intern("indent");
i_space = rb_intern("space");
i_space_before = rb_intern("space_before");
i_object_nl = rb_intern("object_nl");
i_array_nl = rb_intern("array_nl");
i_check_circular = rb_intern("check_circular");
i_max_nesting = rb_intern("max_nesting");
i_allow_nan = rb_intern("allow_nan");
i_pack = rb_intern("pack");
i_unpack = rb_intern("unpack");
i_create_id = rb_intern("create_id");
i_extend = rb_intern("extend");
}
开发者ID:AdamDotCom,项目名称:my-rvm,代码行数:75,代码来源:generator.c
示例12: Init_hamming_window
void Init_hamming_window() {
VALUE m_noyes_c = rb_define_module("NoyesC");
cHammingWindow = rb_define_class_under(m_noyes_c, "HammingWindow", rb_cObject);
rb_define_method(cHammingWindow, "initialize", t_init, -2);
rb_define_method(cHammingWindow, "<<", t_left_shift, 1);
}
开发者ID:hmoody87,项目名称:noyes,代码行数:6,代码来源:hamming_window.c
示例13: Init_krb5_auth
/*
* = Ruby bindings for kerberos
*
* The module Krb5Auth provides bindings to kerberos version 5 libraries
*/
void Init_krb5_auth()
{
mKerberos = rb_define_module("Krb5Auth");
cKrb5 = rb_define_class_under(mKerberos,"Krb5", rb_cObject);
cKrb5_Exception = rb_define_class_under(cKrb5, "Exception", rb_eStandardError);
cCred = rb_define_class_under(cKrb5, "Cred", rb_cObject);
rb_define_attr(cCred, "client", 1, 0);
rb_define_attr(cCred, "server", 1, 0);
rb_define_attr(cCred, "starttime", 1, 0);
rb_define_attr(cCred, "authtime", 1, 0);
rb_define_attr(cCred, "endtime", 1, 0);
rb_define_attr(cCred, "ticket_flags", 1, 0);
rb_define_attr(cCred, "cred_enctype", 1, 0);
rb_define_attr(cCred, "ticket_enctype", 1, 0);
#define DEF_FLAG_CONST(name) \
rb_define_const(cCred, #name, INT2NUM(name))
DEF_FLAG_CONST(TKT_FLG_FORWARDABLE);
DEF_FLAG_CONST(TKT_FLG_FORWARDED);
DEF_FLAG_CONST(TKT_FLG_PROXIABLE);
DEF_FLAG_CONST(TKT_FLG_PROXY);
DEF_FLAG_CONST(TKT_FLG_MAY_POSTDATE);
DEF_FLAG_CONST(TKT_FLG_POSTDATED);
DEF_FLAG_CONST(TKT_FLG_INVALID);
DEF_FLAG_CONST(TKT_FLG_RENEWABLE);
DEF_FLAG_CONST(TKT_FLG_INITIAL);
DEF_FLAG_CONST(TKT_FLG_HW_AUTH);
DEF_FLAG_CONST(TKT_FLG_PRE_AUTH);
DEF_FLAG_CONST(TKT_FLG_TRANSIT_POLICY_CHECKED);
DEF_FLAG_CONST(TKT_FLG_OK_AS_DELEGATE);
DEF_FLAG_CONST(TKT_FLG_ANONYMOUS);
#undef DEF_FLAG_CONST
#define DEF_ENC_CONST(name) \
rb_define_const(cCred, #name, INT2NUM(name))
DEF_ENC_CONST(ENCTYPE_NULL);
DEF_ENC_CONST(ENCTYPE_DES_CBC_CRC);
DEF_ENC_CONST(ENCTYPE_DES_CBC_MD4);
DEF_ENC_CONST(ENCTYPE_DES_CBC_MD5);
DEF_ENC_CONST(ENCTYPE_DES_CBC_RAW);
DEF_ENC_CONST(ENCTYPE_DES3_CBC_SHA);
DEF_ENC_CONST(ENCTYPE_DES3_CBC_RAW);
DEF_ENC_CONST(ENCTYPE_DES_HMAC_SHA1);
DEF_ENC_CONST(ENCTYPE_DES3_CBC_SHA1);
DEF_ENC_CONST(ENCTYPE_AES128_CTS_HMAC_SHA1_96);
DEF_ENC_CONST(ENCTYPE_AES256_CTS_HMAC_SHA1_96);
DEF_ENC_CONST(ENCTYPE_ARCFOUR_HMAC);
DEF_ENC_CONST(ENCTYPE_ARCFOUR_HMAC_EXP);
DEF_ENC_CONST(ENCTYPE_UNKNOWN);
#undef DEF_ENC_CONST
rb_define_singleton_method(cKrb5, "new", Krb5_new, 0);
rb_define_method(cKrb5, "get_init_creds_password", Krb5_get_init_creds_password, 2);
rb_define_method(cKrb5, "get_init_creds_keytab", Krb5_get_init_creds_keytab, -1);
rb_define_method(cKrb5, "get_default_realm", Krb5_get_default_realm, 0);
rb_define_method(cKrb5, "get_default_principal", Krb5_get_default_principal, 0);
rb_define_method(cKrb5, "change_password", Krb5_change_password, 2);
rb_define_method(cKrb5, "set_password", Krb5_set_p
|
请发表评论