rhodes 3.0.0.beta.4 → 3.0.0.beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. data/Manifest.txt +9 -4
  2. data/doc/build.txt +6 -0
  3. data/lib/extensions/debugger/debugger.rb +1 -1
  4. data/lib/extensions/nfc/ext/nfc/platform/android/AndroidManifest.xml +15 -3
  5. data/lib/extensions/nfc/ext/nfc/platform/android/Rakefile +6 -0
  6. data/lib/extensions/nfc/ext/nfc/platform/android/ext_build.files +6 -4
  7. data/lib/extensions/nfc/ext/nfc/platform/android/jni/src/nfc.cpp +98 -11
  8. data/lib/extensions/nfc/ext/nfc/platform/android/res/xml/filter_nfc.xml +13 -0
  9. data/lib/extensions/nfc/ext/nfc/platform/android/src/com/rhomobile/nfc/Nfc.java +291 -0
  10. data/lib/extensions/nfc/ext/nfc/platform/android/src/com/rhomobile/nfc/NfcActivity.java +52 -0
  11. data/lib/extensions/nfc/ext/nfc/platform/android/src/com/{nfc → rhomobile/nfc}/NfcMessage.java +1 -1
  12. data/lib/extensions/nfc/ext/nfc/platform/android/src/com/{nfc → rhomobile/nfc}/NfcMessagePack.java +1 -1
  13. data/lib/extensions/nfc/ext/nfc/platform/android/src/com/{nfc → rhomobile/nfc}/NfcRecord.java +1 -1
  14. data/lib/extensions/nfc/ext/nfc/platform/android/src/com/rhomobile/nfc/NfcTechActivity.java +42 -0
  15. data/lib/extensions/nfc/ext/nfc/shared/ruby/nfc.i +50 -0
  16. data/lib/extensions/nfc/ext/nfc/shared/ruby/nfc_wrap.c +305 -0
  17. data/lib/extensions/nfc/nfc.rb +134 -0
  18. data/platform/android/Rhodes/res/xml/filter_nfc.xml +13 -0
  19. data/platform/android/build/android.rake +35 -19
  20. data/platform/android/build/androidcommon.rb +34 -2
  21. data/platform/win32/RhoSimulator/QTLICENSE.LGPL +504 -0
  22. data/platform/wp7/build/wp.rake +11 -11
  23. data/rhodes.gemspec +1 -1
  24. metadata +13 -8
  25. data/lib/extensions/nfc/ext/nfc/platform/android/src/com/nfc/Nfc.java +0 -150
@@ -0,0 +1,52 @@
1
+ package com.rhomobile.nfc;
2
+
3
+ import android.app.Activity;
4
+ import android.content.BroadcastReceiver;
5
+ import android.content.Context;
6
+ import android.content.Intent;
7
+ import android.nfc.NdefMessage;
8
+ import android.nfc.NdefRecord;
9
+ import android.nfc.NfcAdapter;
10
+ import android.os.Build;
11
+ import android.os.Bundle;
12
+ import android.os.Parcelable;
13
+ import android.util.Log;
14
+
15
+ import com.rhomobile.rhodes.PushService;
16
+ import com.rhomobile.rhodes.RhodesActivity;
17
+ import com.rhomobile.rhodes.RhodesService;
18
+ import com.rhomobile.rhodes.Utils;
19
+
20
+ public class NfcActivity extends Activity {
21
+
22
+
23
+ private static final String TAG = NfcActivity.class.getSimpleName();
24
+
25
+ @Override
26
+ protected void onCreate(Bundle savedInstanceState) {
27
+ super.onCreate(savedInstanceState);
28
+ Intent intent = getIntent();
29
+ String action = intent.getAction();
30
+
31
+ if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(action)) {
32
+ Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
33
+ NdefMessage[] msgs;
34
+ if (rawMsgs != null) {
35
+ msgs = new NdefMessage[rawMsgs.length];
36
+ for (int i = 0; i < rawMsgs.length; i++) {
37
+ msgs[i] = (NdefMessage) rawMsgs[i];
38
+ }
39
+ } else {
40
+ // Unknown tag type
41
+ byte[] empty = new byte[] {};
42
+ NdefRecord record = new NdefRecord(NdefRecord.TNF_UNKNOWN, empty, empty, empty);
43
+ NdefMessage msg = new NdefMessage(new NdefRecord[] {record});
44
+ msgs = new NdefMessage[] {msg};
45
+ }
46
+ Nfc.getInstance().onReceiveMessages(msgs);
47
+ }
48
+ finish();
49
+ }
50
+
51
+
52
+ }
@@ -1,4 +1,4 @@
1
- package com.nfc;
1
+ package com.rhomobile.nfc;
2
2
 
3
3
  import android.nfc.NdefMessage;
4
4
  import android.nfc.NdefRecord;
@@ -1,4 +1,4 @@
1
- package com.nfc;
1
+ package com.rhomobile.nfc;
2
2
 
3
3
  import android.nfc.NdefMessage;
4
4
  import com.rhomobile.rhodes.Utils;
@@ -1,4 +1,4 @@
1
- package com.nfc;
1
+ package com.rhomobile.nfc;
2
2
 
3
3
  import java.io.UnsupportedEncodingException;
4
4
  import java.nio.charset.Charset;
@@ -0,0 +1,42 @@
1
+ package com.rhomobile.nfc;
2
+
3
+ import android.app.Activity;
4
+ import android.content.BroadcastReceiver;
5
+ import android.content.Context;
6
+ import android.content.Intent;
7
+ import android.nfc.NdefMessage;
8
+ import android.nfc.NdefRecord;
9
+ import android.nfc.NfcAdapter;
10
+ import android.nfc.Tag;
11
+ import android.os.Build;
12
+ import android.os.Bundle;
13
+ import android.os.Parcelable;
14
+ import android.util.Log;
15
+
16
+ import com.rhomobile.rhodes.PushService;
17
+ import com.rhomobile.rhodes.RhodesActivity;
18
+ import com.rhomobile.rhodes.RhodesService;
19
+ import com.rhomobile.rhodes.Utils;
20
+
21
+ public class NfcTechActivity extends Activity {
22
+
23
+
24
+ private static final String TAG = NfcTechActivity.class.getSimpleName();
25
+
26
+ @Override
27
+ protected void onCreate(Bundle savedInstanceState) {
28
+ super.onCreate(savedInstanceState);
29
+ Intent intent = getIntent();
30
+ String action = intent.getAction();
31
+
32
+ if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(action)) {
33
+ Tag tag = (Tag)intent.getExtras().get(NfcAdapter.EXTRA_TAG);
34
+ if (tag != null) {
35
+ Nfc.getInstance().onReceiveTag(tag);
36
+ }
37
+ }
38
+ finish();
39
+ }
40
+
41
+
42
+ }
@@ -1,6 +1,7 @@
1
1
  /* nfc.i */
2
2
  %module Nfc
3
3
  %{
4
+ #include "ruby/ext/rho/rhoruby.h"
4
5
 
5
6
  extern void rho_nfc_set_callback(const char* callback_url);
6
7
  #define set_callback rho_nfc_set_callback
@@ -14,9 +15,58 @@ extern int rho_nfc_is_enabled(void);
14
15
  extern int rho_nfc_is_supported(void);
15
16
  #define is_supported rho_nfc_is_supported
16
17
 
18
+ extern void rho_nfc_set_tech_callback(const char* callback_url);
19
+ #define set_tech_callback rho_nfc_set_tech_callback
20
+
21
+ extern void rho_nfc_set_listen_tech_list(VALUE tech_list);
22
+ #define set_listen_tech_list rho_nfc_set_listen_tech_list
23
+
24
+ extern VALUE rho_nfc_get_tech_list();
25
+ #define get_tech_list rho_nfc_get_tech_list
26
+
27
+ extern void rho_nfc_tech_connect(const char* name);
28
+ #define tech_connect rho_nfc_tech_connect
29
+
30
+ extern void rho_nfc_tech_close(const char* name);
31
+ #define tech_close rho_nfc_tech_close
32
+
33
+ extern int rho_nfc_tech_is_connected(const char* name);
34
+ #define tech_is_connected rho_nfc_tech_is_connected
35
+
36
+ extern int rho_nfc_tech_MifareClassic_get_size();
37
+ #define tech_MifareClassic_get_size rho_nfc_tech_MifareClassic_get_size
38
+
39
+ extern void rho_nfc_tech_MifareClassic_write_block(int index, VALUE block);
40
+ #define tech_MifareClassic_write_block rho_nfc_tech_MifareClassic_write_block
41
+
42
+ extern VALUE rho_nfc_tech_MifareClassic_read_block(int index);
43
+ #define tech_MifareClassic_read_block rho_nfc_tech_MifareClassic_read_block
44
+
45
+ extern int rho_nfc_tech_MifareUltralight_get_size();
46
+ #define tech_MifareUltralight_get_size rho_nfc_tech_MifareUltralight_get_size
47
+
48
+ extern void rho_nfc_tech_MifareUltralight_write_page(int index, VALUE block);
49
+ #define tech_MifareUltralight_write_page rho_nfc_tech_MifareUltralight_write_page
50
+
51
+ extern VALUE rho_nfc_tech_MifareUltralight_read_pages(int index);
52
+ #define tech_MifareUltralight_read_pages rho_nfc_tech_MifareUltralight_read_pages
53
+
17
54
  %}
18
55
 
19
56
  extern void set_callback(const char* callback_url);
20
57
  extern void enable(int enable);
21
58
  extern int is_enabled(void);
22
59
  extern int is_supported(void);
60
+ extern void set_tech_callback(const char* callback_url);
61
+ extern void set_listen_tech_list(VALUE tech_list);
62
+ extern VALUE get_tech_list();
63
+ extern void tech_connect(const char* name);
64
+ extern void tech_close(const char* name);
65
+ extern int tech_is_connected(const char* name);
66
+ extern int tech_MifareClassic_get_size();
67
+ extern void tech_MifareClassic_write_block(int index, VALUE block);
68
+ extern VALUE tech_MifareClassic_read_block(int index);
69
+ extern int tech_MifareUltralight_get_size();
70
+ extern void tech_MifareUltralight_write_page(int index, VALUE block);
71
+ extern VALUE tech_MifareUltralight_read_pages(int index);
72
+
@@ -1545,6 +1545,7 @@ static VALUE mNfc;
1545
1545
  #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),(void**)(a))
1546
1546
 
1547
1547
 
1548
+ #include "ruby/ext/rho/rhoruby.h"
1548
1549
 
1549
1550
  extern void rho_nfc_set_callback(const char* callback_url);
1550
1551
  #define set_callback rho_nfc_set_callback
@@ -1558,6 +1559,42 @@ extern int rho_nfc_is_enabled(void);
1558
1559
  extern int rho_nfc_is_supported(void);
1559
1560
  #define is_supported rho_nfc_is_supported
1560
1561
 
1562
+ extern void rho_nfc_set_tech_callback(const char* callback_url);
1563
+ #define set_tech_callback rho_nfc_set_tech_callback
1564
+
1565
+ extern void rho_nfc_set_listen_tech_list(VALUE tech_list);
1566
+ #define set_listen_tech_list rho_nfc_set_listen_tech_list
1567
+
1568
+ extern VALUE rho_nfc_get_tech_list();
1569
+ #define get_tech_list rho_nfc_get_tech_list
1570
+
1571
+ extern void rho_nfc_tech_connect(const char* name);
1572
+ #define tech_connect rho_nfc_tech_connect
1573
+
1574
+ extern void rho_nfc_tech_close(const char* name);
1575
+ #define tech_close rho_nfc_tech_close
1576
+
1577
+ extern int rho_nfc_tech_is_connected(const char* name);
1578
+ #define tech_is_connected rho_nfc_tech_is_connected
1579
+
1580
+ extern int rho_nfc_tech_MifareClassic_get_size();
1581
+ #define tech_MifareClassic_get_size rho_nfc_tech_MifareClassic_get_size
1582
+
1583
+ extern void rho_nfc_tech_MifareClassic_write_block(int index, VALUE block);
1584
+ #define tech_MifareClassic_write_block rho_nfc_tech_MifareClassic_write_block
1585
+
1586
+ extern VALUE rho_nfc_tech_MifareClassic_read_block(int index);
1587
+ #define tech_MifareClassic_read_block rho_nfc_tech_MifareClassic_read_block
1588
+
1589
+ extern int rho_nfc_tech_MifareUltralight_get_size();
1590
+ #define tech_MifareUltralight_get_size rho_nfc_tech_MifareUltralight_get_size
1591
+
1592
+ extern void rho_nfc_tech_MifareUltralight_write_page(int index, VALUE block);
1593
+ #define tech_MifareUltralight_write_page rho_nfc_tech_MifareUltralight_write_page
1594
+
1595
+ extern VALUE rho_nfc_tech_MifareUltralight_read_pages(int index);
1596
+ #define tech_MifareUltralight_read_pages rho_nfc_tech_MifareUltralight_read_pages
1597
+
1561
1598
 
1562
1599
 
1563
1600
  SWIGINTERN swig_type_info*
@@ -1764,6 +1801,262 @@ fail:
1764
1801
  }
1765
1802
 
1766
1803
 
1804
+ SWIGINTERN VALUE
1805
+ _wrap_set_tech_callback(int argc, VALUE *argv, VALUE self) {
1806
+ char *arg1 = (char *) 0 ;
1807
+ int res1 ;
1808
+ char *buf1 = 0 ;
1809
+ int alloc1 = 0 ;
1810
+
1811
+ if ((argc < 1) || (argc > 1)) {
1812
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
1813
+ }
1814
+ res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1);
1815
+ if (!SWIG_IsOK(res1)) {
1816
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "set_tech_callback" "', argument " "1"" of type '" "char const *""'");
1817
+ }
1818
+ arg1 = (char *)(buf1);
1819
+ set_tech_callback((char const *)arg1);
1820
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
1821
+ return Qnil;
1822
+ fail:
1823
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
1824
+ return Qnil;
1825
+ }
1826
+
1827
+
1828
+ SWIGINTERN VALUE
1829
+ _wrap_set_listen_tech_list(int argc, VALUE *argv, VALUE self) {
1830
+ VALUE arg1 = (VALUE) 0 ;
1831
+
1832
+ if ((argc < 1) || (argc > 1)) {
1833
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
1834
+ }
1835
+ arg1 = argv[0];
1836
+ set_listen_tech_list(arg1);
1837
+ return Qnil;
1838
+ fail:
1839
+ return Qnil;
1840
+ }
1841
+
1842
+
1843
+ SWIGINTERN VALUE
1844
+ _wrap_get_tech_list(int argc, VALUE *argv, VALUE self) {
1845
+ VALUE result;
1846
+ VALUE vresult = Qnil;
1847
+
1848
+ if ((argc < 0) || (argc > 0)) {
1849
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
1850
+ }
1851
+ result = (VALUE)get_tech_list();
1852
+ vresult = result;
1853
+ return vresult;
1854
+ fail:
1855
+ return Qnil;
1856
+ }
1857
+
1858
+
1859
+ SWIGINTERN VALUE
1860
+ _wrap_tech_connect(int argc, VALUE *argv, VALUE self) {
1861
+ char *arg1 = (char *) 0 ;
1862
+ int res1 ;
1863
+ char *buf1 = 0 ;
1864
+ int alloc1 = 0 ;
1865
+
1866
+ if ((argc < 1) || (argc > 1)) {
1867
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
1868
+ }
1869
+ res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1);
1870
+ if (!SWIG_IsOK(res1)) {
1871
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "tech_connect" "', argument " "1"" of type '" "char const *""'");
1872
+ }
1873
+ arg1 = (char *)(buf1);
1874
+ tech_connect((char const *)arg1);
1875
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
1876
+ return Qnil;
1877
+ fail:
1878
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
1879
+ return Qnil;
1880
+ }
1881
+
1882
+
1883
+ SWIGINTERN VALUE
1884
+ _wrap_tech_close(int argc, VALUE *argv, VALUE self) {
1885
+ char *arg1 = (char *) 0 ;
1886
+ int res1 ;
1887
+ char *buf1 = 0 ;
1888
+ int alloc1 = 0 ;
1889
+
1890
+ if ((argc < 1) || (argc > 1)) {
1891
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
1892
+ }
1893
+ res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1);
1894
+ if (!SWIG_IsOK(res1)) {
1895
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "tech_close" "', argument " "1"" of type '" "char const *""'");
1896
+ }
1897
+ arg1 = (char *)(buf1);
1898
+ tech_close((char const *)arg1);
1899
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
1900
+ return Qnil;
1901
+ fail:
1902
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
1903
+ return Qnil;
1904
+ }
1905
+
1906
+
1907
+ SWIGINTERN VALUE
1908
+ _wrap_tech_is_connected(int argc, VALUE *argv, VALUE self) {
1909
+ char *arg1 = (char *) 0 ;
1910
+ int result;
1911
+ int res1 ;
1912
+ char *buf1 = 0 ;
1913
+ int alloc1 = 0 ;
1914
+ VALUE vresult = Qnil;
1915
+
1916
+ if ((argc < 1) || (argc > 1)) {
1917
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
1918
+ }
1919
+ res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1);
1920
+ if (!SWIG_IsOK(res1)) {
1921
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "tech_is_connected" "', argument " "1"" of type '" "char const *""'");
1922
+ }
1923
+ arg1 = (char *)(buf1);
1924
+ result = (int)tech_is_connected((char const *)arg1);
1925
+ vresult = SWIG_From_int((int)(result));
1926
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
1927
+ return vresult;
1928
+ fail:
1929
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
1930
+ return Qnil;
1931
+ }
1932
+
1933
+
1934
+ SWIGINTERN VALUE
1935
+ _wrap_tech_MifareClassic_get_size(int argc, VALUE *argv, VALUE self) {
1936
+ int result;
1937
+ VALUE vresult = Qnil;
1938
+
1939
+ if ((argc < 0) || (argc > 0)) {
1940
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
1941
+ }
1942
+ result = (int)tech_MifareClassic_get_size();
1943
+ vresult = SWIG_From_int((int)(result));
1944
+ return vresult;
1945
+ fail:
1946
+ return Qnil;
1947
+ }
1948
+
1949
+
1950
+ SWIGINTERN VALUE
1951
+ _wrap_tech_MifareClassic_write_block(int argc, VALUE *argv, VALUE self) {
1952
+ int arg1 ;
1953
+ VALUE arg2 = (VALUE) 0 ;
1954
+ int val1 ;
1955
+ int ecode1 = 0 ;
1956
+
1957
+ if ((argc < 2) || (argc > 2)) {
1958
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
1959
+ }
1960
+ ecode1 = SWIG_AsVal_int(argv[0], &val1);
1961
+ if (!SWIG_IsOK(ecode1)) {
1962
+ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "tech_MifareClassic_write_block" "', argument " "1"" of type '" "int""'");
1963
+ }
1964
+ arg1 = (int)(val1);
1965
+ arg2 = argv[1];
1966
+ tech_MifareClassic_write_block(arg1,arg2);
1967
+ return Qnil;
1968
+ fail:
1969
+ return Qnil;
1970
+ }
1971
+
1972
+
1973
+ SWIGINTERN VALUE
1974
+ _wrap_tech_MifareClassic_read_block(int argc, VALUE *argv, VALUE self) {
1975
+ int arg1 ;
1976
+ VALUE result;
1977
+ int val1 ;
1978
+ int ecode1 = 0 ;
1979
+ VALUE vresult = Qnil;
1980
+
1981
+ if ((argc < 1) || (argc > 1)) {
1982
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
1983
+ }
1984
+ ecode1 = SWIG_AsVal_int(argv[0], &val1);
1985
+ if (!SWIG_IsOK(ecode1)) {
1986
+ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "tech_MifareClassic_read_block" "', argument " "1"" of type '" "int""'");
1987
+ }
1988
+ arg1 = (int)(val1);
1989
+ result = (VALUE)tech_MifareClassic_read_block(arg1);
1990
+ vresult = result;
1991
+ return vresult;
1992
+ fail:
1993
+ return Qnil;
1994
+ }
1995
+
1996
+
1997
+ SWIGINTERN VALUE
1998
+ _wrap_tech_MifareUltralight_get_size(int argc, VALUE *argv, VALUE self) {
1999
+ int result;
2000
+ VALUE vresult = Qnil;
2001
+
2002
+ if ((argc < 0) || (argc > 0)) {
2003
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
2004
+ }
2005
+ result = (int)tech_MifareUltralight_get_size();
2006
+ vresult = SWIG_From_int((int)(result));
2007
+ return vresult;
2008
+ fail:
2009
+ return Qnil;
2010
+ }
2011
+
2012
+
2013
+ SWIGINTERN VALUE
2014
+ _wrap_tech_MifareUltralight_write_page(int argc, VALUE *argv, VALUE self) {
2015
+ int arg1 ;
2016
+ VALUE arg2 = (VALUE) 0 ;
2017
+ int val1 ;
2018
+ int ecode1 = 0 ;
2019
+
2020
+ if ((argc < 2) || (argc > 2)) {
2021
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
2022
+ }
2023
+ ecode1 = SWIG_AsVal_int(argv[0], &val1);
2024
+ if (!SWIG_IsOK(ecode1)) {
2025
+ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "tech_MifareUltralight_write_page" "', argument " "1"" of type '" "int""'");
2026
+ }
2027
+ arg1 = (int)(val1);
2028
+ arg2 = argv[1];
2029
+ tech_MifareUltralight_write_page(arg1,arg2);
2030
+ return Qnil;
2031
+ fail:
2032
+ return Qnil;
2033
+ }
2034
+
2035
+
2036
+ SWIGINTERN VALUE
2037
+ _wrap_tech_MifareUltralight_read_pages(int argc, VALUE *argv, VALUE self) {
2038
+ int arg1 ;
2039
+ VALUE result;
2040
+ int val1 ;
2041
+ int ecode1 = 0 ;
2042
+ VALUE vresult = Qnil;
2043
+
2044
+ if ((argc < 1) || (argc > 1)) {
2045
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
2046
+ }
2047
+ ecode1 = SWIG_AsVal_int(argv[0], &val1);
2048
+ if (!SWIG_IsOK(ecode1)) {
2049
+ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "tech_MifareUltralight_read_pages" "', argument " "1"" of type '" "int""'");
2050
+ }
2051
+ arg1 = (int)(val1);
2052
+ result = (VALUE)tech_MifareUltralight_read_pages(arg1);
2053
+ vresult = result;
2054
+ return vresult;
2055
+ fail:
2056
+ return Qnil;
2057
+ }
2058
+
2059
+
1767
2060
 
1768
2061
  /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
1769
2062
 
@@ -2030,5 +2323,17 @@ SWIGEXPORT void Init_Nfc(void) {
2030
2323
  rb_define_module_function(mNfc, "enable", _wrap_enable, -1);
2031
2324
  rb_define_module_function(mNfc, "is_enabled", _wrap_is_enabled, -1);
2032
2325
  rb_define_module_function(mNfc, "is_supported", _wrap_is_supported, -1);
2326
+ rb_define_module_function(mNfc, "set_tech_callback", _wrap_set_tech_callback, -1);
2327
+ rb_define_module_function(mNfc, "set_listen_tech_list", _wrap_set_listen_tech_list, -1);
2328
+ rb_define_module_function(mNfc, "get_tech_list", _wrap_get_tech_list, -1);
2329
+ rb_define_module_function(mNfc, "tech_connect", _wrap_tech_connect, -1);
2330
+ rb_define_module_function(mNfc, "tech_close", _wrap_tech_close, -1);
2331
+ rb_define_module_function(mNfc, "tech_is_connected", _wrap_tech_is_connected, -1);
2332
+ rb_define_module_function(mNfc, "tech_MifareClassic_get_size", _wrap_tech_MifareClassic_get_size, -1);
2333
+ rb_define_module_function(mNfc, "tech_MifareClassic_write_block", _wrap_tech_MifareClassic_write_block, -1);
2334
+ rb_define_module_function(mNfc, "tech_MifareClassic_read_block", _wrap_tech_MifareClassic_read_block, -1);
2335
+ rb_define_module_function(mNfc, "tech_MifareUltralight_get_size", _wrap_tech_MifareUltralight_get_size, -1);
2336
+ rb_define_module_function(mNfc, "tech_MifareUltralight_write_page", _wrap_tech_MifareUltralight_write_page, -1);
2337
+ rb_define_module_function(mNfc, "tech_MifareUltralight_read_pages", _wrap_tech_MifareUltralight_read_pages, -1);
2033
2338
  }
2034
2339