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

Sign up to get free protection for your applications and to get access to all the features.
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