Commit d980cf95cc08ce6d9a511f4d2029ebea29c172fc
1 parent
4b0274f7
Exists in
master
and in
1 other branch
Updating ipc methods.
Showing
4 changed files
with
90 additions
and
0 deletions
Show diff stats
client/src/include/ipc-client-internals.h
| ... | ... | @@ -186,10 +186,16 @@ |
| 186 | 186 | |
| 187 | 187 | // Set properties. |
| 188 | 188 | void setUnlockDelay(unsigned short delay = 350) override; |
| 189 | + void setHostURL(const char *url) override; | |
| 189 | 190 | |
| 190 | 191 | std::string getVersion() const override; |
| 191 | 192 | std::string getRevision() const override; |
| 192 | 193 | std::string getLUName() const override; |
| 194 | + std::string getHostURL() const override; | |
| 195 | + | |
| 196 | + unsigned short getScreenWidth() const override; | |
| 197 | + unsigned short getScreenHeight() const override; | |
| 198 | + unsigned short getScreenLength() const override; | |
| 193 | 199 | |
| 194 | 200 | // Gets |
| 195 | 201 | std::string toString(int baddr, size_t len, char lf) const override; |
| ... | ... | @@ -366,10 +372,18 @@ |
| 366 | 372 | std::string getVersion() const override; |
| 367 | 373 | std::string getRevision() const override; |
| 368 | 374 | std::string getLUName() const override; |
| 375 | + std::string getHostURL() const override; | |
| 376 | + | |
| 377 | + unsigned short getScreenWidth() const override; | |
| 378 | + unsigned short getScreenHeight() const override; | |
| 379 | + unsigned short getScreenLength() const override; | |
| 369 | 380 | |
| 370 | 381 | // Set properties. |
| 371 | 382 | void setProperty(const char *name, const int value) const; |
| 383 | + void setProperty(const char *name, const char * value) const; | |
| 372 | 384 | void setUnlockDelay(unsigned short delay = 350) override; |
| 385 | + void setHostURL(const char *url) override; | |
| 386 | + | |
| 373 | 387 | |
| 374 | 388 | // Gets |
| 375 | 389 | std::string toString(int baddr, size_t len, char lf) const override; | ... | ... |
client/src/session/local/session.cc
| ... | ... | @@ -675,6 +675,26 @@ |
| 675 | 675 | lib3270_set_unlock_delay(hSession,delay); |
| 676 | 676 | } |
| 677 | 677 | |
| 678 | + std::string Local::Session::getHostURL() const { | |
| 679 | + return lib3270_get_url(hSession); | |
| 680 | + } | |
| 681 | + | |
| 682 | + void Local::Session::setHostURL(const char *url) { | |
| 683 | + lib3270_set_url(hSession,url); | |
| 684 | + } | |
| 685 | + | |
| 686 | + unsigned short Local::Session::getScreenWidth() const { | |
| 687 | + return (unsigned short) lib3270_get_width(hSession); | |
| 688 | + } | |
| 689 | + | |
| 690 | + unsigned short Local::Session::getScreenHeight() const { | |
| 691 | + return (unsigned short) lib3270_get_height(hSession); | |
| 692 | + } | |
| 693 | + | |
| 694 | + unsigned short Local::Session::getScreenLength() const { | |
| 695 | + return (unsigned short) lib3270_get_length(hSession); | |
| 696 | + } | |
| 697 | + | |
| 678 | 698 | } |
| 679 | 699 | |
| 680 | 700 | ... | ... |
client/src/session/remote/session.cc
| ... | ... | @@ -326,6 +326,21 @@ |
| 326 | 326 | |
| 327 | 327 | } |
| 328 | 328 | |
| 329 | + void IPC::Session::setProperty(const char *name, const char *value) const { | |
| 330 | + | |
| 331 | + int32_t rc; | |
| 332 | + | |
| 333 | + Request(*this,true,name) | |
| 334 | + .push(value) | |
| 335 | + .call() | |
| 336 | + .pop(rc); | |
| 337 | + | |
| 338 | + if(rc) { | |
| 339 | + throw std::system_error((int) rc, std::system_category()); | |
| 340 | + } | |
| 341 | + | |
| 342 | + } | |
| 343 | + | |
| 329 | 344 | void IPC::Session::getProperty(const char *name, std::string &value) const { |
| 330 | 345 | |
| 331 | 346 | Request(*this,false,name) |
| ... | ... | @@ -399,6 +414,41 @@ |
| 399 | 414 | |
| 400 | 415 | } |
| 401 | 416 | |
| 417 | + std::string IPC::Session::getHostURL() const { | |
| 418 | + | |
| 419 | + std::string value; | |
| 420 | + getProperty("url",value); | |
| 421 | + return value; | |
| 422 | + | |
| 423 | + } | |
| 424 | + | |
| 425 | + void IPC::Session::setHostURL(const char *url) { | |
| 426 | + setProperty("url",url); | |
| 427 | + } | |
| 428 | + | |
| 429 | + unsigned short IPC::Session::getScreenWidth() const { | |
| 430 | + | |
| 431 | + int value; | |
| 432 | + getProperty("width",value); | |
| 433 | + return (unsigned short) value; | |
| 434 | + | |
| 435 | + } | |
| 436 | + | |
| 437 | + unsigned short IPC::Session::getScreenHeight() const { | |
| 438 | + | |
| 439 | + int value; | |
| 440 | + getProperty("height",value); | |
| 441 | + return (unsigned short) value; | |
| 442 | + | |
| 443 | + } | |
| 444 | + | |
| 445 | + unsigned short IPC::Session::getScreenLength() const { | |
| 446 | + | |
| 447 | + int value; | |
| 448 | + getProperty("length",value); | |
| 449 | + return (unsigned short) value; | |
| 450 | + } | |
| 451 | + | |
| 402 | 452 | } |
| 403 | 453 | |
| 404 | 454 | ... | ... |
common/src/include/lib3270/ipc.h
| ... | ... | @@ -254,6 +254,11 @@ |
| 254 | 254 | virtual std::string getVersion() const = 0; |
| 255 | 255 | virtual std::string getRevision() const = 0; |
| 256 | 256 | virtual std::string getLUName() const = 0; |
| 257 | + virtual std::string getHostURL() const = 0; | |
| 258 | + | |
| 259 | + virtual unsigned short getScreenWidth() const = 0; | |
| 260 | + virtual unsigned short getScreenHeight() const = 0; | |
| 261 | + virtual unsigned short getScreenLength() const = 0; | |
| 257 | 262 | |
| 258 | 263 | virtual ProgramMessage getProgramMessage() const = 0; |
| 259 | 264 | inline operator ProgramMessage() const { |
| ... | ... | @@ -272,6 +277,7 @@ |
| 272 | 277 | // Set properties. |
| 273 | 278 | virtual void setUnlockDelay(unsigned short delay = 350) = 0; |
| 274 | 279 | void setCharSet(const char *charset); |
| 280 | + virtual void setHostURL(const char *url) = 0; | |
| 275 | 281 | |
| 276 | 282 | // Set contents. |
| 277 | 283 | ... | ... |