dca_interface  6.3.4
malware_samples/malwaredbdownloadsample/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 MyMalwareScheduleEventSubscriber::MyMalwareScheduleEventSubscriber()
18 {
19 }
20 
21 MyMalwareScheduleEventSubscriber::~MyMalwareScheduleEventSubscriber()
22 {
23 }
24 
25 void MyMalwareScheduleEventSubscriber::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_MalwareDb:
73  event_str += "SMI_MalwareDb";
74  break;
75 
76  default:
77  {
78  std::ostringstream os;
79  os << "module id=" << moduleId;
80  event_str += os.str();
81  }
82  break;
83 
84  }
85 
86  event_str += " Version: " + version;
87 
88  event_str += " Text: " + text;
89 
90  std::cout << event_str << std::endl;
91 }
92 
93 
94 
@ SMI_MalwareDb
ID for a Malware database.
Definition: base_classes.h:517
@ 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
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