Commit a63046cec3713dfd78c425b8869c44f0a08c819a
1 parent
c743daed
Exists in
master
and in
5 other branches
Implementando extensão php
Showing
4 changed files
with
64 additions
and
0 deletions
Show diff stats
src/php/get.cc
| @@ -47,3 +47,37 @@ PHP_METHOD(tn3270, isready) | @@ -47,3 +47,37 @@ PHP_METHOD(tn3270, isready) | ||
| 47 | RETURN_BOOL(obj->hSession->is_ready()); | 47 | RETURN_BOOL(obj->hSession->is_ready()); |
| 48 | } | 48 | } |
| 49 | 49 | ||
| 50 | +PHP_METHOD(tn3270, getstringat) | ||
| 51 | +{ | ||
| 52 | + tn3270_object * obj = (tn3270_object *) zend_object_store_get_object(getThis() TSRMLS_CC); | ||
| 53 | + long row; | ||
| 54 | + long col; | ||
| 55 | + long sz; | ||
| 56 | + | ||
| 57 | + if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lll", &row, &col, &sz) == FAILURE) | ||
| 58 | + RETURN_NULL(); | ||
| 59 | + | ||
| 60 | + RETURN_STRING(obj->hSession->get_string_at(row,col,sz).c_str(),1); | ||
| 61 | +} | ||
| 62 | + | ||
| 63 | +PHP_METHOD(tn3270, cmpstringat) | ||
| 64 | +{ | ||
| 65 | + tn3270_object * obj = (tn3270_object *) zend_object_store_get_object(getThis() TSRMLS_CC); | ||
| 66 | + long row; | ||
| 67 | + long col; | ||
| 68 | + const char * text; | ||
| 69 | + int szText; | ||
| 70 | + | ||
| 71 | + if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lls", &row, &col, &text, &szText) == FAILURE) | ||
| 72 | + RETURN_NULL(); | ||
| 73 | + | ||
| 74 | + if(!szText) | ||
| 75 | + RETURN_NULL(); | ||
| 76 | + | ||
| 77 | + char buffer[szText+1]; | ||
| 78 | + memcpy(buffer,text,szText); | ||
| 79 | + buffer[szText] = 0; | ||
| 80 | + | ||
| 81 | + RETURN_LONG(obj->hSession->cmp_string_at(row,col,buffer)); | ||
| 82 | +} | ||
| 83 | + |
src/php/main.cc
| @@ -58,6 +58,10 @@ zend_function_entry tn3270_methods[] = | @@ -58,6 +58,10 @@ zend_function_entry tn3270_methods[] = | ||
| 58 | PHP_ME( tn3270, pakey, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) | 58 | PHP_ME( tn3270, pakey, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) |
| 59 | PHP_ME( tn3270, enter, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) | 59 | PHP_ME( tn3270, enter, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) |
| 60 | 60 | ||
| 61 | + PHP_ME( tn3270, getstringat, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) | ||
| 62 | + PHP_ME( tn3270, setstringat, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) | ||
| 63 | + PHP_ME( tn3270, cmpstringat, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) | ||
| 64 | + | ||
| 61 | {NULL, NULL, NULL} | 65 | {NULL, NULL, NULL} |
| 62 | }; | 66 | }; |
| 63 | 67 |
src/php/php3270.h
| @@ -60,6 +60,10 @@ | @@ -60,6 +60,10 @@ | ||
| 60 | PHP_METHOD(tn3270,pakey); | 60 | PHP_METHOD(tn3270,pakey); |
| 61 | PHP_METHOD(tn3270,enter); | 61 | PHP_METHOD(tn3270,enter); |
| 62 | 62 | ||
| 63 | + PHP_METHOD(tn3270,getstringat); | ||
| 64 | + PHP_METHOD(tn3270,setstringat); | ||
| 65 | + PHP_METHOD(tn3270,cmpstringat); | ||
| 66 | + | ||
| 63 | 67 | ||
| 64 | #undef PACKAGE_NAME | 68 | #undef PACKAGE_NAME |
| 65 | #undef PACKAGE_VERSION | 69 | #undef PACKAGE_VERSION |
src/php/set.cc
| @@ -64,3 +64,25 @@ PHP_METHOD(tn3270, enter) | @@ -64,3 +64,25 @@ PHP_METHOD(tn3270, enter) | ||
| 64 | tn3270_object * obj = (tn3270_object *) zend_object_store_get_object(getThis() TSRMLS_CC); | 64 | tn3270_object * obj = (tn3270_object *) zend_object_store_get_object(getThis() TSRMLS_CC); |
| 65 | RETURN_LONG(obj->hSession->enter()); | 65 | RETURN_LONG(obj->hSession->enter()); |
| 66 | } | 66 | } |
| 67 | + | ||
| 68 | +PHP_METHOD(tn3270, setstringat) | ||
| 69 | +{ | ||
| 70 | + tn3270_object * obj = (tn3270_object *) zend_object_store_get_object(getThis() TSRMLS_CC); | ||
| 71 | + long row; | ||
| 72 | + long col; | ||
| 73 | + const char * text; | ||
| 74 | + int szText; | ||
| 75 | + | ||
| 76 | + if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lls", &row, &col, &text, &szText) == FAILURE) | ||
| 77 | + RETURN_NULL(); | ||
| 78 | + | ||
| 79 | + if(!szText) | ||
| 80 | + RETURN_NULL(); | ||
| 81 | + | ||
| 82 | + char buffer[szText+1]; | ||
| 83 | + memcpy(buffer,text,szText); | ||
| 84 | + buffer[szText] = 0; | ||
| 85 | + | ||
| 86 | + RETURN_LONG(obj->hSession->set_string_at(row,col,buffer)); | ||
| 87 | +} | ||
| 88 | + |