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