Class: NFC::Context
- Inherits:
-
Object
- Object
- NFC::Context
- Defined in:
- ext/nfc/context.c
Instance Method Summary collapse
Instance Method Details
#devices(len) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'ext/nfc/context.c', line 34
static VALUE devices(VALUE self, VALUE len)
{
nfc_context *ctx;
nfc_connstring * strs;
size_t found, i;
VALUE devs;
Data_Get_Struct(self, nfc_context, ctx);
strs = malloc(sizeof(nfc_connstring) * len);
found = nfc_list_devices(ctx, strs, 10);
devs = rb_ary_new2(found);
for (i = 0; i < found; i++) {
rb_ary_push(devs, rb_str_new2(strs[i]));
}
free(strs);
return devs;
}
|
#open(name) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'ext/nfc/context.c', line 9
static VALUE open_dev(VALUE self, VALUE name)
{
nfc_context * ctx;
nfc_device * dev;
VALUE device;
Data_Get_Struct(self, nfc_context, ctx);
if (NIL_P(name)) {
dev = nfc_open(ctx, NULL);
} else {
dev = nfc_open(ctx, StringValuePtr(name));
}
if (NULL == dev)
rb_raise(rb_eRuntimeError, "Unable to open the device");
if(nfc_initiator_init(dev) < 0)
rb_raise(rb_eRuntimeError, "Could not initialize device");
device = Data_Wrap_Struct(cNfcDevice, 0, nfc_close, dev);
rb_iv_set(device, "@context", self);
return device;
}
|