ruby/ext/win32ole/win32ole_variant_m.c

154 строки
4.0 KiB
C

#include "win32ole.h"
VALUE mWIN32OLE_VARIANT;
void Init_win32ole_variant_m(void)
{
/*
* Document-module: WIN32OLE::VariantType
*
* The +WIN32OLE::VariantType+ module includes constants of VARIANT type constants.
* The constants is used when creating WIN32OLE::Variant object.
*
* obj = WIN32OLE::Variant.new("2e3", WIN32OLE::VARIANT::VT_R4)
* obj.value # => 2000.0
*
*/
mWIN32OLE_VARIANT = rb_define_module_under(cWIN32OLE, "VariantType");
/* Alias of WIN32OLE::VariantType, for the backward compatibility */
rb_define_const(cWIN32OLE, "VARIANT", mWIN32OLE_VARIANT);
/*
* represents VT_EMPTY type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_EMPTY", RB_INT2FIX(VT_EMPTY));
/*
* represents VT_NULL type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_NULL", RB_INT2FIX(VT_NULL));
/*
* represents VT_I2 type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_I2", RB_INT2FIX(VT_I2));
/*
* represents VT_I4 type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_I4", RB_INT2FIX(VT_I4));
/*
* represents VT_R4 type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_R4", RB_INT2FIX(VT_R4));
/*
* represents VT_R8 type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_R8", RB_INT2FIX(VT_R8));
/*
* represents VT_CY type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_CY", RB_INT2FIX(VT_CY));
/*
* represents VT_DATE type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_DATE", RB_INT2FIX(VT_DATE));
/*
* represents VT_BSTR type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_BSTR", RB_INT2FIX(VT_BSTR));
/*
* represents VT_USERDEFINED type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_USERDEFINED", RB_INT2FIX(VT_USERDEFINED));
/*
* represents VT_PTR type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_PTR", RB_INT2FIX(VT_PTR));
/*
* represents VT_DISPATCH type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_DISPATCH", RB_INT2FIX(VT_DISPATCH));
/*
* represents VT_ERROR type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_ERROR", RB_INT2FIX(VT_ERROR));
/*
* represents VT_BOOL type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_BOOL", RB_INT2FIX(VT_BOOL));
/*
* represents VT_VARIANT type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_VARIANT", RB_INT2FIX(VT_VARIANT));
/*
* represents VT_UNKNOWN type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_UNKNOWN", RB_INT2FIX(VT_UNKNOWN));
/*
* represents VT_I1 type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_I1", RB_INT2FIX(VT_I1));
/*
* represents VT_UI1 type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_UI1", RB_INT2FIX(VT_UI1));
/*
* represents VT_UI2 type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_UI2", RB_INT2FIX(VT_UI2));
/*
* represents VT_UI4 type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_UI4", RB_INT2FIX(VT_UI4));
#if (defined(_MSC_VER) && (_MSC_VER >= 1300)) || defined(__CYGWIN__) || defined(__MINGW32__)
/*
* represents VT_I8 type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_I8", RB_INT2FIX(VT_I8));
/*
* represents VT_UI8 type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_UI8", RB_INT2FIX(VT_UI8));
#endif
/*
* represents VT_INT type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_INT", RB_INT2FIX(VT_INT));
/*
* represents VT_UINT type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_UINT", RB_INT2FIX(VT_UINT));
/*
* represents VT_ARRAY type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_ARRAY", RB_INT2FIX(VT_ARRAY));
/*
* represents VT_BYREF type constant.
*/
rb_define_const(mWIN32OLE_VARIANT, "VT_BYREF", RB_INT2FIX(VT_BYREF));
}