Commit 3bc3ff53445226e8baccad8f4fe6d80cd605462a

Authored by Perry Werneck
1 parent 10b83ff1

Exporting the log file name as an application property.

src/include/pw3270/application.h
@@ -76,7 +76,10 @@ GList * pw3270_application_get_keypad_models(GApplication *app); @@ -76,7 +76,10 @@ GList * pw3270_application_get_keypad_models(GApplication *app);
76 76
77 void pw3270_application_set_ui_style(GApplication *app, PW3270_UI_STYLE type); 77 void pw3270_application_set_ui_style(GApplication *app, PW3270_UI_STYLE type);
78 PW3270_UI_STYLE pw3270_application_get_ui_style(GApplication *app); 78 PW3270_UI_STYLE pw3270_application_get_ui_style(GApplication *app);
  79 +
79 void pw3270_application_set_log_filename(GApplication *app, const gchar *filename); 80 void pw3270_application_set_log_filename(GApplication *app, const gchar *filename);
  81 +const gchar * pw3270_application_get_log_filename(GApplication *app);
  82 +
80 83
81 // Plugins 84 // Plugins
82 void pw3270_application_plugin_foreach(GApplication *app, GFunc func, gpointer user_data); 85 void pw3270_application_plugin_foreach(GApplication *app, GFunc func, gpointer user_data);
src/objects/application/application.c
@@ -27,6 +27,7 @@ @@ -27,6 +27,7 @@
27 enum { 27 enum {
28 PROP_ZERO, 28 PROP_ZERO,
29 PROP_UI_STYLE, 29 PROP_UI_STYLE,
  30 + PROP_LOGFILE,
30 31
31 NUM_PROPERTIES 32 NUM_PROPERTIES
32 }; 33 };
@@ -61,6 +62,10 @@ static void get_property(GObject *object, guint prop_id, GValue *value, GParamSp @@ -61,6 +62,10 @@ static void get_property(GObject *object, guint prop_id, GValue *value, GParamSp
61 g_value_set_uint(value,pw3270_application_get_ui_style(G_APPLICATION(object))); 62 g_value_set_uint(value,pw3270_application_get_ui_style(G_APPLICATION(object)));
62 break; 63 break;
63 64
  65 + case PROP_LOGFILE:
  66 + g_value_set_string(value,pw3270_application_get_log_filename(G_APPLICATION(object)));
  67 + break;
  68 +
64 default: 69 default:
65 g_assert_not_reached (); 70 g_assert_not_reached ();
66 } 71 }
@@ -74,6 +79,10 @@ static void set_property(GObject *object, guint prop_id, const GValue *value, GP @@ -74,6 +79,10 @@ static void set_property(GObject *object, guint prop_id, const GValue *value, GP
74 pw3270_application_set_ui_style(G_APPLICATION(object),g_value_get_uint(value)); 79 pw3270_application_set_ui_style(G_APPLICATION(object),g_value_get_uint(value));
75 break; 80 break;
76 81
  82 + case PROP_LOGFILE:
  83 + pw3270_application_set_log_filename(G_APPLICATION(object),g_value_get_string(value));
  84 + break;
  85 +
77 default: 86 default:
78 g_assert_not_reached (); 87 g_assert_not_reached ();
79 } 88 }
@@ -164,6 +173,14 @@ static void pw3270Application_class_init(pw3270ApplicationClass *klass) { @@ -164,6 +173,14 @@ static void pw3270Application_class_init(pw3270ApplicationClass *klass) {
164 G_PARAM_READABLE|G_PARAM_WRITABLE 173 G_PARAM_READABLE|G_PARAM_WRITABLE
165 ); 174 );
166 175
  176 + props[PROP_LOGFILE] =
  177 + g_param_spec_string(
  178 + "logfile",
  179 + _("Log name"),
  180 + _("The full path of the default log file"),
  181 + NULL,
  182 + G_PARAM_READABLE|G_PARAM_WRITABLE
  183 + );
167 184
168 g_object_class_install_properties(object_class, NUM_PROPERTIES, props); 185 g_object_class_install_properties(object_class, NUM_PROPERTIES, props);
169 186
@@ -590,6 +607,11 @@ static int loghandler(const H3270 G_GNUC_UNUSED(*hSession), pw3270Application *a @@ -590,6 +607,11 @@ static int loghandler(const H3270 G_GNUC_UNUSED(*hSession), pw3270Application *a
590 return 0; 607 return 0;
591 } 608 }
592 609
  610 +const gchar * pw3270_application_get_log_filename(GApplication *app) {
  611 + g_return_val_if_fail(PW3270_IS_APPLICATION(app),NULL);
  612 + return PW3270_APPLICATION(app)->logfile;
  613 +}
  614 +
593 void pw3270_application_set_log_filename(GApplication *app, const gchar *filename) { 615 void pw3270_application_set_log_filename(GApplication *app, const gchar *filename) {
594 616
595 g_return_if_fail(PW3270_IS_APPLICATION(app)); 617 g_return_if_fail(PW3270_IS_APPLICATION(app));