summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorWilliam Jon McCann <mccann@jhu.edu>2008-01-28 19:56:19 -0500
committerWilliam Jon McCann <mccann@jhu.edu>2008-01-28 19:56:19 -0500
commit48519104df6037f8653ec62497796ba781dc0040 (patch)
treeeddc75f49aa0f8aee238f851478e04c7617a087c /tools
parent5895396bc583ae08c5041f5b81f5f9d0a2888e22 (diff)
allow session type filtering for all report formats
Diffstat (limited to 'tools')
-rw-r--r--tools/ck-history.c31
1 files changed, 22 insertions, 9 deletions
diff --git a/tools/ck-history.c b/tools/ck-history.c
index a577165..7257c7c 100644
--- a/tools/ck-history.c
+++ b/tools/ck-history.c
@@ -206,7 +206,8 @@ process_logs (void)
static void
generate_report_summary (int uid,
- const char *seat)
+ const char *seat,
+ const char *session_type)
{
}
@@ -295,7 +296,8 @@ get_utline_for_event (CkLogSeatSessionAddedEvent *e)
static void
generate_report_last (int uid,
- const char *seat)
+ const char *seat,
+ const char *session_type)
{
GList *oldest;
CkLogEvent *oldest_event;
@@ -331,6 +333,10 @@ generate_report_last (int uid,
continue;
}
+ if (session_type != NULL && strcmp (e->session_type, session_type) != 0) {
+ continue;
+ }
+
str = g_string_new (NULL);
username = get_user_name_for_uid (e->session_unix_user);
@@ -338,8 +344,9 @@ generate_report_last (int uid,
addedtime = g_strndup (ctime (&event->timestamp.tv_sec), 16);
g_string_printf (str,
- "%-8.8s %-10.10s %-7.7s %-12.12s %-16.16s %-16.16s",
+ "%-8.8s %12s %-10.10s %-7.7s %-12.12s %-16.16s %-16.16s",
username,
+ e->session_type,
e->session_id,
e->seat_id,
utline,
@@ -392,7 +399,8 @@ generate_report_last (int uid,
static void
generate_report_last_compat (int uid,
- const char *seat)
+ const char *seat,
+ const char *session_type)
{
GList *oldest;
CkLogEvent *oldest_event;
@@ -427,6 +435,10 @@ generate_report_last_compat (int uid,
continue;
}
+ if (session_type != NULL && strcmp (e->session_type, session_type) != 0) {
+ continue;
+ }
+
str = g_string_new (NULL);
username = get_user_name_for_uid (e->session_unix_user);
@@ -592,7 +604,8 @@ generate_report_frequent (int uid,
static void
generate_report_log (int uid,
- const char *seat)
+ const char *seat,
+ const char *session_type)
{
GList *l;
@@ -619,19 +632,19 @@ generate_report (int report_type,
switch (report_type) {
case REPORT_TYPE_SUMMARY:
- generate_report_summary (uid, seat);
+ generate_report_summary (uid, seat, session_type);
break;
case REPORT_TYPE_LAST:
- generate_report_last (uid, seat);
+ generate_report_last (uid, seat, session_type);
break;
case REPORT_TYPE_LAST_COMPAT:
- generate_report_last_compat (uid, seat);
+ generate_report_last_compat (uid, seat, session_type);
break;
case REPORT_TYPE_FREQUENT:
generate_report_frequent (uid, seat, session_type);
break;
case REPORT_TYPE_LOG:
- generate_report_log (uid, seat);
+ generate_report_log (uid, seat, session_type);
break;
default:
g_assert_not_reached ();