dca_interface  6.3.4
url_samples/urldbsample_extended/schedule_event_subscriber.cpp
1 /* IBM Source Code */
2 /* (C) Copyright IBM Corp. 2009, 2012 */
3 /* Licensed Materials - Property of IBM */
4 /* US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA Schedule Contract with IBM Corp. */
5 
6 #include <iostream>
7 
9 
10 using namespace dca;
11 
12 MyScheduleEventSubscriber::MyScheduleEventSubscriber()
13 {
14 }
15 
16 MyScheduleEventSubscriber::~MyScheduleEventSubscriber()
17 {
18 }
19 
20 void MyScheduleEventSubscriber::onEvent( ScheduleActionType actionType, ScheduleModuleId moduleId, const std::string& version, const std::string& text )
21 {
22  std::string event_str = "ActionType: ";
23 
24  switch (actionType)
25  {
27  event_str += "SAT_StartDbDownload";
28  break;
29 
31  event_str += "SAT_ProgressDbDownload";
32  break;
33 
34  case SAT_StopDbDownload:
35  event_str += "SAT_StopDbDownload";
36  break;
37 
39  event_str += "SAT_ErrorDbDownload";
40  break;
41 
42  case SAT_StartDbMerge:
43  event_str += "SAT_StartDbMerge";
44  break;
45 
46  case SAT_StopDbMerge:
47  event_str += "SAT_StopDbMerge";
48  break;
49 
50  case SAT_ErrorDbMerge:
51  event_str += "SAT_ErrorDbMerge";
52  break;
53 
54  case SAT_UserCancel:
55  event_str += "SAT_UserCancel";
56  break;
57 
58  default:
59  event_str += "unknown action";
60  break;
61  }
62 
63  event_str += " ModuleId: ";
64 
65  switch (moduleId)
66  {
67  case SMI_UrlDb:
68  event_str += "SMI_UrlDb";
69  break;
70 
71  case SMI_MailDb:
72  event_str += "SMI_MailDb";
73  break;
74 
75  default:
76  event_str += "unknown module";
77  break;
78 
79  }
80 
81  event_str += " Version: " + version;
82 
83  event_str += " Text: " + text;
84 
85  event_log.push_back (event_str);
86 }
87 
89 {
90  std::cout << "Schedule event log" << std::endl;
91  std::cout << "------------------" << std::endl;
92  for (size_t i = 0; i < event_log.size(); ++i)
93  {
94  std::cout << event_log[i] << std::endl;
95  }
96 }
97 
@ SMI_MailDb
ID for a mail database.
Definition: base_classes.h:513
@ SMI_UrlDb
ID for a URL database.
Definition: base_classes.h:512
@ SAT_StopDbDownload
A complete database download has successfully finished.
Definition: base_classes.h:498
Header file for the schedule event subscriber.
ScheduleModuleId
This defines the module id of a schedule event.
Definition: base_classes.h:511
ScheduleActionType
This defines the action type of a schedule event.
Definition: base_classes.h:495
@ SAT_ProgressDbDownload
Complete database download progress information.
Definition: base_classes.h:497
@ SAT_StopDbMerge
A database merge process has successfully finished.
Definition: base_classes.h:501
virtual void onEvent(dca::ScheduleActionType actionType, dca::ScheduleModuleId moduleId, const std::string &version, const std::string &text)
Implementation of interface class method onEvent.
@ SAT_StartDbDownload
A complete database download has started.
Definition: base_classes.h:496
@ SAT_ErrorDbMerge
An error occured during the database merge process.
Definition: base_classes.h:502
void DumpEventMessages() const
Dumps all collected messages to screen.
@ SAT_UserCancel
The user has cancelled the operation.
Definition: base_classes.h:503
@ SAT_ErrorDbDownload
An error occured during a complete db download.
Definition: base_classes.h:499
@ SAT_StartDbMerge
A database merge process has started.
Definition: base_classes.h:500