本文整理汇总了C++中JObject::GetNative方法的典型用法代码示例。如果您正苦于以下问题:C++ JObject::GetNative方法的具体用法?C++ JObject::GetNative怎么用?C++ JObject::GetNative使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JObject
的用法示例。
在下文中一共展示了JObject::GetNative方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: InitGpio
JObject* InitGpio() {
Module* module = GetBuiltinModule(MODULE_GPIO);
JObject* jgpio = module->module;
if (jgpio == NULL) {
jgpio = new JObject();
jgpio->SetMethod("initialize", Initialize);
jgpio->SetMethod("release", Release);
jgpio->SetMethod("setPin", SetPin);
jgpio->SetMethod("writePin", WritePin);
jgpio->SetMethod("readPin", ReadPin);
jgpio->SetMethod("setPort", SetPort);
jgpio->SetMethod("writePort", WritePort);
jgpio->SetMethod("readPort", ReadPort);
jgpio->SetMethod("query", Query);
#define SET_CONSTANT(object, name, constant) \
do { \
JObject value(constant); \
object->SetProperty(name, value); \
} while (0)
SET_CONSTANT(jgpio, "kGpioDirectionNone", kGpioDirectionNone);
SET_CONSTANT(jgpio, "kGpioDirectionIn", kGpioDirectionIn);
SET_CONSTANT(jgpio, "kGpioDirectionOut", kGpioDirectionOut);
SET_CONSTANT(jgpio, "kGpioModeNone", kGpioModeNone);
SET_CONSTANT(jgpio, "kGpioModePullup", kGpioModePullup);
SET_CONSTANT(jgpio, "kGpioModePulldown", kGpioModePulldown);
SET_CONSTANT(jgpio, "kGpioModeFloat", kGpioModeFloat);
SET_CONSTANT(jgpio, "kGpioModePushpull", kGpioModePushpull);
SET_CONSTANT(jgpio, "kGpioModeOpendrain", kGpioModeOpendrain);
SET_CONSTANT(jgpio, "kGpioErrOk", kGpioErrOk);
SET_CONSTANT(jgpio, "kGpioErrInitialize", kGpioErrInitialize);
SET_CONSTANT(jgpio, "kGpioErrNotInitialized", kGpioErrNotInitialized);
SET_CONSTANT(jgpio, "kGpioErrWrongUse", kGpioErrWrongUse);
SET_CONSTANT(jgpio, "kGpioErrSysErr", kGpioErrSys);
#undef SET_CONSTANT
Gpio* gpio = Gpio::Create(*jgpio);
IOTJS_ASSERT(gpio == reinterpret_cast<Gpio*>(jgpio->GetNative()));
module->module = jgpio;
}
return jgpio;
}
示例2: BufferWrap
JHANDLER_FUNCTION(Buffer, handler) {
IOTJS_ASSERT(handler.GetThis()->IsObject());
IOTJS_ASSERT(handler.GetArgLength() == 2);
IOTJS_ASSERT(handler.GetArg(0)->IsObject());
IOTJS_ASSERT(handler.GetArg(1)->IsNumber());
int length = handler.GetArg(1)->GetInt32();
JObject* jbuffer = handler.GetArg(0);
JObject* jbuiltin = handler.GetThis();
BufferWrap* buffer_wrap = new BufferWrap(*jbuffer, *jbuiltin, length);
IOTJS_ASSERT(buffer_wrap == (BufferWrap*)(jbuiltin->GetNative()));
IOTJS_ASSERT(buffer_wrap->buffer() != NULL);
return true;
}