#include "VesEventHandler.hpp"
-#include "PnfRegistration.hpp"
+#include "PnfRegistrationEvent.hpp"
+#include "SliceMeasurementEvent.hpp"
+#include "Message.hpp"
+#include "CellStateChange.hpp"
+#include "CellStateChangeStdDef.hpp"
+#include "SliceMeasurementEventStdDef.hpp"
/*******************************************************************
*
*
* ****************************************************************/
-bool VesEventHandler::prepare(VesEventType evtType)
+bool VesEventHandler::prepare(VesEventType evtType, const Message* msg)
{
//check event type and call funtions accordingly
bool ret = true;
switch(evtType)
{
case VesEventType::PNF_REGISTRATION:
- {
- O1_LOG("\nO1 VesEventHandler : Preparing PNF registration");
- mVesEvent = new PnfRegistration;
- break;
- }
- case VesEventType::FAULT_NOTIFICATION:
- O1_LOG("\nO1 VesEventHandler : Preparing VES fault notification");
+ {
+ O1_LOG("\nO1 VesEventHandler : Preparing PNF registration");
+ mVesEvent = new PnfRegistrationEvent();
break;
- case VesEventType::PM_NOTIFICATION:
- O1_LOG("\nO1 VesEventHandler : Preparing VES pm notification");
+ }
+ case VesEventType::PM_SLICE:
+ {
+ #ifdef StdDef
+ mVesEvent = new SliceMeasurementEventStdDef;
+ O1_LOG("\nO1 VesEventHandler : Preparing Standard VES PM Slice");
+ #else
+ mVesEvent = new SliceMeasurementEvent;
+ O1_LOG("\nO1 VesEventHandler : Preparing VES PM Slice");
+ #endif
break;
- case VesEventType::HEARTBEAT:
- O1_LOG("\nO1 VesEventHandler : Preparing VES heartbeat");
+ }
+ case VesEventType::FAULT_NOTIFICATION:
+ {
+ #ifdef StdDef
+ O1_LOG("\nO1 VesEventHandler : Preparing Standard VES fault notification");
+ mVesEvent = new CellStateChangeStdDef();
+ #else
+ O1_LOG("\nO1 VesEventHandler : Preparing VES fault notification");
+ mVesEvent = new CellStateChange();
+ #endif
break;
+ }
+
default:
- O1_LOG("\nO1 VesEventHandler : VES msg Type is not available");
+ O1_LOG("\nO1 VesEventHandler : VES message type does not exist ");
ret = false;
break;
}
- if(!mVesEvent->prepare()) {
+ mVesEvent->init();
+ if(!mVesEvent->prepare(msg)) {
O1_LOG("\nO1 VesEventHandler : Failed to prepare VES message");
ret = false;
}