Commit 3ea87533e5e52774bdb67b49ec421bf3bc79c1d9
1 parent
8c9dbdb4
Exists in
master
and in
5 other branches
Incluindo método "action" na API PHP
Showing
4 changed files
with
29 additions
and
0 deletions
Show diff stats
src/php/main.cc
| ... | ... | @@ -65,6 +65,8 @@ zend_function_entry tn3270_methods[] = |
| 65 | 65 | PHP_ME( tn3270, getisprotected, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) |
| 66 | 66 | PHP_ME( tn3270, getisprotectedat, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) |
| 67 | 67 | |
| 68 | + PHP_ME( tn3270, action, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) | |
| 69 | + | |
| 68 | 70 | {NULL, NULL, NULL} |
| 69 | 71 | }; |
| 70 | 72 | ... | ... |
src/php/misc.cc
| ... | ... | @@ -115,3 +115,25 @@ PHP_METHOD(tn3270, iterate) |
| 115 | 115 | |
| 116 | 116 | RETURN_LONG(obj->hSession->iterate(wait)); |
| 117 | 117 | } |
| 118 | + | |
| 119 | +PHP_METHOD(tn3270, action) | |
| 120 | +{ | |
| 121 | + | |
| 122 | + tn3270_object * obj = (tn3270_object *) zend_object_store_get_object(getThis() TSRMLS_CC); | |
| 123 | + | |
| 124 | + const char * text; | |
| 125 | + int szText; | |
| 126 | + | |
| 127 | + if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &text, &szText) == FAILURE) | |
| 128 | + RETURN_NULL(); | |
| 129 | + | |
| 130 | + if(!szText) | |
| 131 | + RETURN_NULL(); | |
| 132 | + | |
| 133 | + char buffer[szText+1]; | |
| 134 | + memcpy(buffer,text,szText); | |
| 135 | + buffer[szText] = 0; | |
| 136 | + | |
| 137 | + RETURN_LONG(obj->hSession->action(buffer)); | |
| 138 | + | |
| 139 | +} | ... | ... |
src/php/php3270.h.in
src/php/sample.php
| ... | ... | @@ -19,6 +19,9 @@ |
| 19 | 19 | $rc = $host->getisprotectedat(20,39); |
| 20 | 20 | print("GetIsprotectedAt(20,39) saiu com \"" . $rc . "\"\n"); |
| 21 | 21 | |
| 22 | + $rc = $host->action("clear"); | |
| 23 | + print("Action(\"clear\") saiu com \"" . $rc . "\"\n"); | |
| 24 | + | |
| 22 | 25 | $rc = $host->disconnect(); |
| 23 | 26 | print("disconnect() exits with rc=" . $rc . "\n"); |
| 24 | 27 | ... | ... |