dca_interface  6.3.4
url_samples/urldbdownloadsample/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 #include <sstream>
8 
10 
11 using namespace dca;
12 
17 MyUrlScheduleEventSubscriber::MyUrlScheduleEventSubscriber()
18 {
19 }
20 
21 MyUrlScheduleEventSubscriber::~MyUrlScheduleEventSubscriber()
22 {
23 }
24 
25 void MyUrlScheduleEventSubscriber::onEvent( ScheduleActionType actionType, ScheduleModuleId moduleId, const std::string& version, const std::string& text )
26 {
27  std::string event_str = "ActionType: ";
28 
29  switch (actionType)
30  {
32  event_str += "SAT_StartDbDownload";
33  break;
34 
36  event_str += "SAT_ProgressDbDownload";
37  break;
38 
39  case SAT_StopDbDownload:
40  event_str += "SAT_StopDbDownload";
41  break;
42 
44  event_str += "SAT_ErrorDbDownload";
45  break;
46 
47  case SAT_StartDbMerge:
48  event_str += "SAT_StartDbMerge";
49  break;
50 
51  case SAT_StopDbMerge:
52  event_str += "SAT_StopDbMerge";
53  break;
54 
55  case SAT_ErrorDbMerge:
56  event_str += "SAT_ErrorDbMerge";
57  break;
58 
59  case SAT_UserCancel:
60  event_str += "SAT_UserCancel";
61  break;
62 
63  default:
64  event_str += "unknown action";
65  break;
66  }
67 
68  event_str += " ModuleId: ";
69 
70  switch (moduleId)
71  {
72  case SMI_UrlDb:
73  event_str += "SMI_UrlDb";
74  break;
75 
76  case SMI_MailDb:
77  event_str += "SMI_MailDb";
78  break;
79 
80  default:
81  {
82  std::ostringstream os;
83  os << "module id=" << moduleId;
84  event_str += os.str();
85  }
86  break;
87 
88  }
89 
90  event_str += " Version: " + version;
91 
92  event_str += " Text: " + text;
93 
94  std::cout << event_str << std::endl;
95 }
96 
97 
98 
@ SMI_MailDb
ID for a mail database.
Definition: base_classes.h:513
virtual void onEvent(dca::ScheduleActionType actionType, dca::ScheduleModuleId moduleId, const std::string &version, const std::string &text)
Implementation of interface class method onEvent.
@ 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
@ 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
@ 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