Commit 06893f2755c2e27bd250633c205c0cec9d62c435

Authored by Perry Werneck
1 parent e85d9d21

Updating print API.

src/core/util.c
@@ -593,26 +593,39 @@ void lib3270_popup_an_errno(H3270 *hSession, int errn, const char *fmt, ...) @@ -593,26 +593,39 @@ void lib3270_popup_an_errno(H3270 *hSession, int errn, const char *fmt, ...)
593 593
594 } 594 }
595 595
596 -LIB3270_EXPORT int lib3270_print(H3270 *hSession, LIB3270_CONTENT_OPTION mode) 596 +LIB3270_EXPORT int lib3270_print(H3270 *hSession)
597 { 597 {
598 - return hSession->cbk.print(hSession, mode); 598 + if(check_online_session(hSession))
  599 + return errno = ENOTCONN;
  600 +
  601 + return hSession->cbk.print(hSession, (hSession->selected ? LIB3270_CONTENT_SELECTED : LIB3270_CONTENT_ALL));
599 } 602 }
600 603
601 LIB3270_EXPORT int lib3270_print_all(H3270 *hSession) 604 LIB3270_EXPORT int lib3270_print_all(H3270 *hSession)
602 { 605 {
603 - return lib3270_print(hSession,LIB3270_CONTENT_ALL); 606 + if(check_online_session(hSession))
  607 + return errno = ENOTCONN;
  608 +
  609 + return hSession->cbk.print(hSession,LIB3270_CONTENT_ALL);
604 } 610 }
605 611
606 LIB3270_EXPORT int lib3270_print_selected(H3270 *hSession) 612 LIB3270_EXPORT int lib3270_print_selected(H3270 *hSession)
607 { 613 {
  614 + if(check_online_session(hSession))
  615 + return errno = ENOTCONN;
  616 +
608 if(lib3270_has_selection(hSession)) 617 if(lib3270_has_selection(hSession))
609 - return lib3270_print(hSession,LIB3270_CONTENT_SELECTED); 618 + return hSession->cbk.print(hSession,LIB3270_CONTENT_SELECTED);
  619 +
610 return errno = ENODATA; 620 return errno = ENODATA;
611 } 621 }
612 622
613 LIB3270_EXPORT int lib3270_print_copy(H3270 *hSession) 623 LIB3270_EXPORT int lib3270_print_copy(H3270 *hSession)
614 { 624 {
615 - return lib3270_print(hSession,LIB3270_CONTENT_COPY); 625 + if(check_online_session(hSession))
  626 + return errno = ENOTCONN;
  627 +
  628 + return hSession->cbk.print(hSession,LIB3270_CONTENT_COPY);
616 } 629 }
617 630
618 LIB3270_EXPORT int lib3270_save(H3270 *hSession, LIB3270_CONTENT_OPTION mode, const char *filename) 631 LIB3270_EXPORT int lib3270_save(H3270 *hSession, LIB3270_CONTENT_OPTION mode, const char *filename)
src/include/lib3270.h
@@ -781,18 +781,45 @@ @@ -781,18 +781,45 @@
781 LIB3270_EXPORT int lib3270_move_cursor(H3270 *h, LIB3270_DIRECTION dir, unsigned char sel); 781 LIB3270_EXPORT int lib3270_move_cursor(H3270 *h, LIB3270_DIRECTION dir, unsigned char sel);
782 782
783 /** 783 /**
784 - * @brief Print page 784 + * @brief Default print operation.
  785 + *
  786 + * If the terminal has selected area print them, if not, print all contents.
785 * 787 *
786 * @param hSession Session Handle. 788 * @param hSession Session Handle.
787 - * @param mode Content option.  
788 * 789 *
789 * @return 0 if ok, error code if not. 790 * @return 0 if ok, error code if not.
790 * 791 *
791 */ 792 */
792 - LIB3270_EXPORT int lib3270_print(H3270 *hSession, LIB3270_CONTENT_OPTION mode); 793 + LIB3270_EXPORT int lib3270_print(H3270 *hSession);
793 794
  795 + /**
  796 + * @brief Print terminal screen.
  797 + *
  798 + * @param hSession Session Handle.
  799 + *
  800 + * @return 0 if ok, error code if not.
  801 + *
  802 + */
794 LIB3270_EXPORT int lib3270_print_all(H3270 *hSession); 803 LIB3270_EXPORT int lib3270_print_all(H3270 *hSession);
  804 +
  805 + /**
  806 + * @brief Print only selected area (if available).
  807 + *
  808 + * @param hSession Session Handle.
  809 + *
  810 + * @return 0 if ok, error code if not.
  811 + *
  812 + */
795 LIB3270_EXPORT int lib3270_print_selected(H3270 *hSession); 813 LIB3270_EXPORT int lib3270_print_selected(H3270 *hSession);
  814 +
  815 + /**
  816 + * @brief Ask the front end module to print stored copy.
  817 + *
  818 + * @param hSession Session Handle.
  819 + *
  820 + * @return 0 if ok, error code if not.
  821 + *
  822 + */
796 LIB3270_EXPORT int lib3270_print_copy(H3270 *hSession); 823 LIB3270_EXPORT int lib3270_print_copy(H3270 *hSession);
797 824
798 /** 825 /**
src/testprogram/testprogram.c
@@ -4,8 +4,8 @@ @@ -4,8 +4,8 @@
4 #include <stdlib.h> 4 #include <stdlib.h>
5 #include <getopt.h> 5 #include <getopt.h>
6 6
7 -#include <lib3270.h>  
8 #include <lib3270-internals.h> 7 #include <lib3270-internals.h>
  8 +#include <lib3270.h>
9 #include <lib3270/actions.h> 9 #include <lib3270/actions.h>
10 #include <lib3270/trace.h> 10 #include <lib3270/trace.h>
11 11