RINASim  October 2016
Documentation of framework for OMNeT++
DAFEnrollmentNotifier.cc
Go to the documentation of this file.
1 //
2 // This program is free software: you can redistribute it and/or modify
3 // it under the terms of the GNU Lesser General Public License as published by
4 // the Free Software Foundation, either version 3 of the License, or
5 // (at your option) any later version.
6 //
7 // This program is distributed in the hope that it will be useful,
8 // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 // GNU Lesser General Public License for more details.
11 //
12 // You should have received a copy of the GNU Lesser General Public License
13 // along with this program. If not, see http://www.gnu.org/licenses/.
14 //
15 
16 #include <DAFEnrollmentNotifier.h>
17 
18 
19 const char* DAF_MSG_ENROLLMENT = "Enrollment";
20 const int DAF_VAL_DEFINSTANCE = -1;
21 
23 
26  initPointers();
27 }
28 
30  RIBd = check_and_cast<AEMgmtBase*>( getModuleByPath("^.aemgmt") );
31  FlowObj = NULL;
32 }
33 
35  cModule* catcher1 = this->getParentModule();
36  cModule* catcher2 = this->getModuleByPath("^.^.^");
37 
38  //Signals that this module is emitting
45 
48  sigRIBDConReq = registerSignal(SIG_RIBD_ConnectionRequest);
49  sigRIBDCACESend = registerSignal(SIG_RIBD_CACESend);
50 
51 
52  //Signals that this module is processing
55 
58 
61 
64 
67 
70 
73 
76 
77 }
78 
80  FlowObj = flow;
81 }
82 
83 
85  return FlowObj;
86 }
87 
89 {
90 
91 }
92 
94  RIBd->signalizeSendData(msg);
95 }
96 
97 
99  Enter_Method("sendStartEnrollmentRequest()");
100 
102 
103  //TODO: assign appropriate values
104  std::ostringstream os;
105  os << "Enrollment";
106  object_t enrollobj;
107  enrollobj.objectClass = obj->getClassName();
108  enrollobj.objectName = os.str();
109  enrollobj.objectVal = obj;
110  enrollobj.objectInstance = VAL_DEFINSTANCE;
111  msg->setObjectItem(enrollobj);
112 
113  //TODO: check and rework generate invoke id
114  //msg->setInvokeID(getNewInvokeId());
115 
116  //Append src/dst address for RMT "routing"
117  msg->setSrcAddr(obj->getSrcAddress());
118  msg->setDstAddr(obj->getDstAddress());
119 
120  signalizeMessage(msg);
121 }
122 
124  Enter_Method("sendStartEnrollmentResponse()");
125 
127 
128  //TODO: assign appropriate values
129  std::ostringstream os;
130  os << "Enrollment";
131  object_t enrollobj;
132  enrollobj.objectClass = obj->getClassName();
133  enrollobj.objectName = os.str();
134  enrollobj.objectVal = obj;
135  enrollobj.objectInstance = VAL_DEFINSTANCE;
136  msg->setObjectItem(enrollobj);
137 
138  //TODO: check and rework generate invoke id
139  //msg->setInvokeID(getNewInvokeId());
140 
141  //Append src/dst address for RMT "routing"
142  msg->setSrcAddr(obj->getSrcAddress());
143  msg->setDstAddr(obj->getDstAddress());
144 
145 
146  signalizeMessage(msg);
147 }
148 
150  Enter_Method("sendStopEnrollmentRequest()");
151 
153 
154  //TODO: assign appropriate values
155  std::ostringstream os;
156  os << "Enrollment";
157  object_t enrollobj;
158  enrollobj.objectClass = obj->getClassName();
159  enrollobj.objectName = os.str();
160  enrollobj.objectVal = obj;
161  enrollobj.objectInstance = VAL_DEFINSTANCE;
162  msg->setObjectItem(enrollobj);
163 
164  //TODO: check and rework generate invoke id
165  //msg->setInvokeID(getNewInvokeId());
166 
167  //Append src/dst address for RMT "routing"
168  msg->setSrcAddr(obj->getSrcAddress());
169  msg->setDstAddr(obj->getDstAddress());
170 
171  signalizeMessage(msg);
172 }
173 
175  Enter_Method("sendStopEnrollmentResponse()");
176 
178 
179  //TODO: assign appropriate values
180  std::ostringstream os;
181  os << "Enrollment";
182  object_t enrollobj;
183  enrollobj.objectClass = obj->getClassName();
184  enrollobj.objectName = os.str();
185  enrollobj.objectVal = obj;
186  enrollobj.objectInstance = VAL_DEFINSTANCE;
187  msg->setObjectItem(enrollobj);
188 
189  //TODO: check and rework generate invoke id
190  //msg->setInvokeID(getNewInvokeId());
191 
192  //Append src/dst address for RMT "routing"
193  msg->setSrcAddr(obj->getSrcAddress());
194  msg->setDstAddr(obj->getDstAddress());
195 
196  signalizeMessage(msg);
197 }
198 
200  Enter_Method("sendStartOperationRequest()");
201 }
202 
204  Enter_Method("sendStartOperationResponse()");
205 }
206 
208  Enter_Method("sendCACE()");
209 
210  //TODO: add invoke id
211 
212  signalizeSendCACE(msg);
213 }
214 
216  EV << "Emits ConnectResponsePositive to enrollment" << endl;
217  emit(sigRIBDConResPosi, msg);
218 }
219 
221  EV << "Emits ConnectResponseNegative to enrollment" << endl;
222  emit(sigRIBDConResNega, msg);
223 }
224 
226  EV << "Emits ConnectRequest to enrollment" << endl;
227  emit(sigRIBDConReq, msg);
228 }
229 
231  EV << "Emits CACE data to CACE module" << endl;
232  emit(sigRIBDCACESend, msg);
233 }
234 
236  EV << "Emits StartEnrollmentRequest to enrollment" << endl;
237  emit(sigRIBDStartEnrollReq, msg);
238 }
239 
241  EV << "Emits StartEnrollmentResponse to enrollment" << endl;
242  emit(sigRIBDStartEnrollRes, msg);
243 }
244 
246  EV << "Emits StopEnrollmentRequest to enrollment" << endl;
247  emit(sigRIBDStopEnrollReq, msg);
248 }
249 
251  EV << "Emits StopEnrollmentResponse to enrollment" << endl;
252  emit(sigRIBDStopEnrollRes, msg);
253 }
254 
256  EV << "Emits StartOperationRequest to enrollment" << endl;
257  emit(sigRIBDStartOperationReq, msg);
258 }
259 
261  EV << "Received M_Connect";
263 }
264 
266  EV << "Received M_Connect_R";
267  if (!msg->getResult().resultValue) {
269  }
270  else {
272  }
273 }
274 
276 // EV << "Received M_Start";
277  object_t object = msg->getObjectItem();
278 // EV << " with object '" << object.objectClass << "'" << endl;
279  //Enrollment
280  if (dynamic_cast<DAFEnrollmentObj*>(object.objectVal)) {
282  }
283 }
284 
286 // EV << "Received M_Start_R";
287  object_t object = msg->getObjectItem();
288 // EV << " with object '" << object.objectClass << "'" << endl;
289  //Enrollment
290  if (dynamic_cast<DAFEnrollmentObj*>(object.objectVal)) {
292  }
293 }
294 
296 // EV << "Received M_Stop";
297  object_t object = msg->getObjectItem();
298 // EV << " with object '" << object.objectClass << "'" << endl;
299  //Enrollment
300  if (dynamic_cast<DAFEnrollmentObj*>(object.objectVal)) {
302  }
303 }
304 
306 // EV << "Received M_Stop_R";
307  object_t object = msg->getObjectItem();
308 // EV << " with object '" << object.objectClass << "'" << endl;
309  //Enrollment
310  if (dynamic_cast<DAFEnrollmentObj*>(object.objectVal)) {
312  }
313 }
314 
316  EV << "Emits StartOperationResponse to enrollment" << endl;
317  emit(sigRIBDStartOperationRes, msg);
318 }
virtual void processMStopR(CDAP_M_Stop_R *msg)
Function crunching supported M_STOP_R message.
virtual void sendStartEnrollmentRequest(DAFEnrollmentObj *obj)
virtual void processMConnectR(CDAP_M_Connect_R *msg)
Function crunching supported M_CONNECT_R message.
Class representing flow object with attributes from specs.
Definition: Flow.h:45
const char * SIG_RIBD_StartEnrollmentRequest
Definition: RINASignals.cc:57
Define_Module(DAFEnrollmentNotifier)
::omnetpp::opp_string objectClass
const int VAL_DEFINSTANCE
Definition: RIBd.h:54
const int DAF_VAL_DEFINSTANCE
const char * SIG_ENROLLMENT_CACEDataSend
Definition: RINASignals.cc:72
LisDAFEnrollmentNotifierStaEnrolRes * lisDAFEnrollmentNotifierStaEnrolRes
int objectInstance
const char * SIG_RIBD_StartOperationResponse
Definition: RINASignals.cc:62
virtual void setObjectItem(const object_t &objectItem)
void signalizeStartEnrollmentRequest(CDAPMessage *msg)
virtual void sendStopEnrollmentRequest(DAFEnrollmentObj *obj)
virtual void processMStop(CDAP_M_Stop *msg)
Function crunching supported M_STOP message.
virtual void signalizeSendData(CDAPMessage *msg)
Definition: RIBd.cc:444
virtual void processMStart(CDAP_M_Start *msg)
Function crunching supported M_START message.
virtual void setFlow(Flow *flow)
void signalizeSendCACE(CDAPMessage *msg)
void signalizeStartOperationResponse(CDAPMessage *msg)
virtual void handleMessage(cMessage *msg)
virtual void setSrcAddr(const Address &srcAddr)
const char * SIG_RIBD_StartEnrollmentResponse
Definition: RINASignals.cc:58
const char * SIG_RIBD_CACESend
Definition: RINASignals.cc:67
void signalizeConnectRequest(CDAPMessage *msg)
virtual void processMStartR(CDAP_M_Start_R *msg)
Function crunching supported M_START_R message.
const char * SIG_ENROLLMENT_StartEnrollmentRequest
Definition: RINASignals.cc:73
LisDAFEnrollmentNotifierStaOperRes * lisDAFEnrollmentNotifierStaOperRes
void signalizeStartEnrollmentResponse(CDAPMessage *msg)
LisDAFEnrollmentNotifierStoEnrolReq * lisDAFEnrollmentNotifierStoEnrolReq
virtual void sendStartOperationRequest(DAFOperationObj *obj)
LisDAFEnrollmentNotifierStoEnrolRes * lisDAFEnrollmentNotifierStoEnrolRes
const char * SIG_RIBD_StopEnrollmentResponse
Definition: RINASignals.cc:60
const char * SIG_CACE_DataReceive
Definition: RINASignals.cc:84
void signalizeConnectResponseNegative(CDAPMessage *msg)
virtual void sendStopEnrollmentResponse(DAFEnrollmentObj *obj)
virtual object_t & getObjectItem()
const char * SIG_RIBD_StopEnrollmentRequest
Definition: RINASignals.cc:59
virtual object_t & getObjectItem()
void signalizeStopEnrollmentResponse(CDAPMessage *msg)
LisDAFEnrollmentNotifierStaEnrolReq * lisDAFEnrollmentNotifierStaEnrolReq
LisDAFEnrollmentNotifierStaOperReq * lisDAFEnrollmentNotifierStaOperReq
LisDAFEnrollmentNotifierRcvEnrollCACE * lisDAFEnrollmentNotifierRcvEnrollCACE
const char * SIG_ENROLLMENT_StartOperationRequest
Definition: RINASignals.cc:77
const Address & getSrcAddress() const
const char * SIG_RIBD_ConnectionResponsePositive
Definition: RINASignals.cc:64
const Address & getDstAddress() const
const char * SIG_ENROLLMENT_StartEnrollmentResponse
Definition: RINASignals.cc:74
virtual result_t & getResult()
LisDAFEnrollmentNotifierRcvCACE * lisDAFEnrollmentNotifierRcvCACE
void signalizeStopEnrollmentRequest(CDAPMessage *msg)
virtual void sendCACE(CDAPMessage *msg)
const char * SIG_ENROLLMENT_StartOperationResponse
Definition: RINASignals.cc:78
const char * SIG_RIBD_ConnectionRequest
Definition: RINASignals.cc:66
ObjectPtr objectVal
virtual void setDstAddr(const Address &dstAddr)
const char * SIG_ENROLLMENT_StopEnrollmentResponse
Definition: RINASignals.cc:76
const char * SIG_RIBD_ConnectionResponseNegative
Definition: RINASignals.cc:65
const char * SIG_ENROLLMENT_StopEnrollmentRequest
Definition: RINASignals.cc:75
virtual void setObjectItem(const object_t &objectItem)
void signalizeConnectResponsePositive(CDAPMessage *msg)
int32_t resultValue
const char * SIG_RIBD_StartOperationRequest
Definition: RINASignals.cc:61
virtual object_t & getObjectItem()
::omnetpp::opp_string objectName
virtual void sendStartOperationResponse(DAFOperationObj *obj)
virtual void sendStartEnrollmentResponse(DAFEnrollmentObj *obj)
void signalizeStartOperationRequest(CDAPMessage *msg)
virtual void setObjectItem(const object_t &objectItem)
virtual void setObjectItem(const object_t &objectItem)
virtual void signalizeMessage(CDAPMessage *msg)
Function asks for notifies about CDAP message ready to be sent.
virtual object_t & getObjectItem()
virtual void processMConnect(CDAP_M_Connect *msg)
Function crunching supported M_CONNECT message.
const char * DAF_MSG_ENROLLMENT