dca_interface  6.3.4
ipr_samples/iprdbdownloadsample/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 
9 #include <iostream>
10 #include <sstream>
11 
13 
14 using namespace dca;
15 
16 MyIprScheduleEventSubscriber::MyIprScheduleEventSubscriber()
17 {
18 }
19 
20 MyIprScheduleEventSubscriber::~MyIprScheduleEventSubscriber()
21 {
22 }
23 
24 void MyIprScheduleEventSubscriber::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_IprDb:
72  event_str += "SMI_IprDb";
73  break;
74 
75  default:
76  {
77  std::ostringstream os;
78  os << "module id=" << moduleId;
79  event_str += os.str();
80  }
81  break;
82 
83  }
84 
85  event_str += " Version: " + version;
86 
87  event_str += " Text: " + text;
88 
89  std::cout << event_str << std::endl;
90 }
91 
92 
93 
@ SMI_IprDb
ID for a IPR database.
Definition: base_classes.h:516
@ 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
virtual void onEvent(dca::ScheduleActionType actionType, dca::ScheduleModuleId moduleId, const std::string &version, const std::string &text)
Implementation of interface class method onEvent.
@ 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