RINASim  October 2016
Documentation of framework for OMNeT++
EnrollmentNotifier.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 "EnrollmentNotifier.h"
17 
18 const char* MSG_ENROLLMENT = "Enrollment";
19 
21 
23 {
25  initPointers();
26 }
27 
29  RIBd = check_and_cast<RIBdBase*>( getModuleByPath("^.ribd") );
30 }
31 
33  cModule* catcher1 = this->getParentModule();
34  cModule* catcher2 = this->getModuleByPath("^.^");
35  //cModule* catcher3 = this->getModuleByPath("^.^.^");
36 
45  sigRIBDConReq = registerSignal(SIG_RIBD_ConnectionRequest);
46  sigRIBDCACESend = registerSignal(SIG_RIBD_CACESend);
47 
48  lisRIBDRcvCACE = new LisRIBDRcvCACE(this);
49  catcher1->subscribe(SIG_CACE_DataReceive, lisRIBDRcvCACE);
50 
53 
56 
59 
62 
65 
68 
71 
72 }
73 
75 {
76 
77 }
78 
80  RIBd->signalizeSendData(msg);
81 }
82 
83 
85  Enter_Method("sendStartEnrollmentRequest()");
86 
88 
89  //TODO: assign appropriate values
90  std::ostringstream os;
91  os << "Enrollment";
92  object_t enrollobj;
93  enrollobj.objectClass = obj->getClassName();
94  enrollobj.objectName = os.str();
95  enrollobj.objectVal = obj;
96  enrollobj.objectInstance = VAL_DEFINSTANCE;
97  msg->setObjectItem(enrollobj);
98 
99  //TODO: check and rework generate invoke id
100  //msg->setInvokeID(getNewInvokeId());
101 
102  //Append src/dst address for RMT "routing"
103  msg->setSrcAddr(obj->getSrcAddress());
104  msg->setDstAddr(obj->getDstAddress());
105 
106  signalizeMessage(msg);
107 }
108 
110  Enter_Method("sendStartEnrollmentResponse()");
111 
113 
114  //TODO: assign appropriate values
115  std::ostringstream os;
116  os << "Enrollment";
117  object_t enrollobj;
118  enrollobj.objectClass = obj->getClassName();
119  enrollobj.objectName = os.str();
120  enrollobj.objectVal = obj;
121  enrollobj.objectInstance = VAL_DEFINSTANCE;
122  msg->setObjectItem(enrollobj);
123 
124  //TODO: check and rework generate invoke id
125  //msg->setInvokeID(getNewInvokeId());
126 
127  //Append src/dst address for RMT "routing"
128  msg->setSrcAddr(obj->getSrcAddress());
129  msg->setDstAddr(obj->getDstAddress());
130 
131 
132  signalizeMessage(msg);
133 }
134 
136  Enter_Method("sendStopEnrollmentRequest()");
137 
139 
140  //TODO: assign appropriate values
141  std::ostringstream os;
142  os << "Enrollment";
143  object_t enrollobj;
144  enrollobj.objectClass = obj->getClassName();
145  enrollobj.objectName = os.str();
146  enrollobj.objectVal = obj;
147  enrollobj.objectInstance = VAL_DEFINSTANCE;
148  msg->setObjectItem(enrollobj);
149 
150  //TODO: check and rework generate invoke id
151  //msg->setInvokeID(getNewInvokeId());
152 
153  //Append src/dst address for RMT "routing"
154  msg->setSrcAddr(obj->getSrcAddress());
155  msg->setDstAddr(obj->getDstAddress());
156 
157  signalizeMessage(msg);
158 }
159 
161  Enter_Method("sendStopEnrollmentResponse()");
162 
164 
165  //TODO: assign appropriate values
166  std::ostringstream os;
167  os << "Enrollment";
168  object_t enrollobj;
169  enrollobj.objectClass = obj->getClassName();
170  enrollobj.objectName = os.str();
171  enrollobj.objectVal = obj;
172  enrollobj.objectInstance = VAL_DEFINSTANCE;
173  msg->setObjectItem(enrollobj);
174 
175  //TODO: check and rework generate invoke id
176  //msg->setInvokeID(getNewInvokeId());
177 
178  //Append src/dst address for RMT "routing"
179  msg->setSrcAddr(obj->getSrcAddress());
180  msg->setDstAddr(obj->getDstAddress());
181 
182  signalizeMessage(msg);
183 }
184 
186  Enter_Method("sendStartOperationRequest()");
187 }
188 
190  Enter_Method("sendStartOperationResponse()");
191 }
192 
194  Enter_Method("sendCACE()");
195 
196  //TODO: add invoke id
197 
198  signalizeSendCACE(msg);
199 }
200 
202  EV << "Emits ConnectResponsePositive to enrollment" << endl;
203  emit(sigRIBDConResPosi, msg);
204 }
205 
207  EV << "Emits ConnectResponseNegative to enrollment" << endl;
208  emit(sigRIBDConResNega, msg);
209 }
210 
212  EV << "Emits ConnectRequest to enrollment" << endl;
213  emit(sigRIBDConReq, msg);
214 }
215 
217  EV << "Emits CACE data to CACE module" << endl;
218  emit(sigRIBDCACESend, msg);
219 }
220 
222  EV << "Emits StartEnrollmentRequest to enrollment" << endl;
223  emit(sigRIBDStartEnrollReq, msg);
224 }
225 
227  EV << "Emits StartEnrollmentResponse to enrollment" << endl;
228  emit(sigRIBDStartEnrollRes, msg);
229 }
230 
232  EV << "Emits StopEnrollmentRequest to enrollment" << endl;
233  emit(sigRIBDStopEnrollReq, msg);
234 }
235 
237  EV << "Emits StopEnrollmentResponse to enrollment" << endl;
238  emit(sigRIBDStopEnrollRes, msg);
239 }
240 
242  EV << "Emits StartOperationRequest to enrollment" << endl;
243  emit(sigRIBDStartOperationReq, msg);
244 }
245 
247  EV << "Received M_Connect";
249 }
250 
252  EV << "Received M_Connect_R";
253  if (!msg->getResult().resultValue) {
255  }
256  else {
258  }
259 }
260 
262 // EV << "Received M_Start";
263  object_t object = msg->getObjectItem();
264 // EV << " with object '" << object.objectClass << "'" << endl;
265  //Enrollment
266  if (dynamic_cast<EnrollmentObj*>(object.objectVal)) {
268  }
269 }
270 
272 // EV << "Received M_Start_R";
273  object_t object = msg->getObjectItem();
274 // EV << " with object '" << object.objectClass << "'" << endl;
275  //Enrollment
276  if (dynamic_cast<EnrollmentObj*>(object.objectVal)) {
278  }
279 }
280 
282 // EV << "Received M_Stop";
283  object_t object = msg->getObjectItem();
284 // EV << " with object '" << object.objectClass << "'" << endl;
285  //Enrollment
286  if (dynamic_cast<EnrollmentObj*>(object.objectVal)) {
288  }
289 }
290 
292 // EV << "Received M_Stop_R";
293  object_t object = msg->getObjectItem();
294 // EV << " with object '" << object.objectClass << "'" << endl;
295  //Enrollment
296  if (dynamic_cast<EnrollmentObj*>(object.objectVal)) {
298  }
299 }
300 
302  EV << "Emits StartOperationResponse to enrollment" << endl;
303  emit(sigRIBDStartOperationRes, msg);
304 }
const char * SIG_RIBD_StartEnrollmentRequest
Definition: RINASignals.cc:57
::omnetpp::opp_string objectClass
const int VAL_DEFINSTANCE
void signalizeStartEnrollmentRequest(CDAPMessage *msg)
Definition: RIBd.h:54
simsignal_t sigRIBDConResNega
const char * SIG_ENROLLMENT_CACEDataSend
Definition: RINASignals.cc:72
int objectInstance
LisRIBDStaOperRes * lisRIBDStaOperRes
const char * SIG_RIBD_StartOperationResponse
Definition: RINASignals.cc:62
virtual void setObjectItem(const object_t &objectItem)
virtual void signalizeSendData(CDAPMessage *msg)
Definition: RIBd.cc:444
void signalizeConnectResponsePositive(CDAPMessage *msg)
virtual void processMConnectR(CDAP_M_Connect_R *msg)
Function crunching supported M_CONNECT_R message.
virtual void processMConnect(CDAP_M_Connect *msg)
Function crunching supported M_CONNECT message.
virtual void sendCACE(CDAPMessage *msg)
simsignal_t sigRIBDStartEnrollRes
virtual void setSrcAddr(const Address &srcAddr)
const char * SIG_RIBD_StartEnrollmentResponse
Definition: RINASignals.cc:58
simsignal_t sigRIBDStartEnrollReq
simsignal_t sigRIBDStartOperationReq
LisRIBDStaEnrolReq * lisRIBDStaEnrolReq
const char * SIG_RIBD_CACESend
Definition: RINASignals.cc:67
simsignal_t sigRIBDStartOperationRes
Define_Module(EnrollmentNotifier)
const Address & getDstAddress() const
LisRIBDStaEnrolRes * lisRIBDStaEnrolRes
const char * SIG_ENROLLMENT_StartEnrollmentRequest
Definition: RINASignals.cc:73
virtual void sendStartEnrollmentRequest(EnrollmentObj *obj)
LisRIBDRcvCACE * lisRIBDRcvCACE
const char * SIG_RIBD_StopEnrollmentResponse
Definition: RINASignals.cc:60
simsignal_t sigRIBDCACESend
const char * SIG_CACE_DataReceive
Definition: RINASignals.cc:84
simsignal_t sigRIBDConResPosi
void signalizeStopEnrollmentRequest(CDAPMessage *msg)
simsignal_t sigRIBDStopEnrollRes
virtual void sendStartEnrollmentResponse(EnrollmentObj *obj)
virtual void processMStartR(CDAP_M_Start_R *msg)
Function crunching supported M_START_R message.
LisRIBDStoEnrolReq * lisRIBDStoEnrolReq
virtual object_t & getObjectItem()
const char * SIG_RIBD_StopEnrollmentRequest
Definition: RINASignals.cc:59
simsignal_t sigRIBDStopEnrollReq
virtual void signalizeMessage(CDAPMessage *msg)
Function asks for notifies about CDAP message ready to be sent.
void signalizeSendCACE(CDAPMessage *msg)
virtual object_t & getObjectItem()
const char * MSG_ENROLLMENT
const char * SIG_ENROLLMENT_StartOperationRequest
Definition: RINASignals.cc:77
const char * SIG_RIBD_ConnectionResponsePositive
Definition: RINASignals.cc:64
void signalizeStopEnrollmentResponse(CDAPMessage *msg)
const char * SIG_ENROLLMENT_StartEnrollmentResponse
Definition: RINASignals.cc:74
virtual result_t & getResult()
virtual void initialize()
virtual void processMStopR(CDAP_M_Stop_R *msg)
Function crunching supported M_STOP_R message.
virtual void sendStopEnrollmentRequest(EnrollmentObj *obj)
const char * SIG_ENROLLMENT_StartOperationResponse
Definition: RINASignals.cc:78
void signalizeConnectResponseNegative(CDAPMessage *msg)
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
virtual void processMStart(CDAP_M_Start *msg)
Function crunching supported M_START message.
void signalizeConnectRequest(CDAPMessage *msg)
LisRIBDRcvEnrollCACE * lisRIBDRcvEnrollCACE
const char * SIG_RIBD_ConnectionResponseNegative
Definition: RINASignals.cc:65
const char * SIG_ENROLLMENT_StopEnrollmentRequest
Definition: RINASignals.cc:75
virtual void sendStartOperationRequest(OperationObj *obj)
virtual void setObjectItem(const object_t &objectItem)
int32_t resultValue
const char * SIG_RIBD_StartOperationRequest
Definition: RINASignals.cc:61
virtual object_t & getObjectItem()
virtual void sendStopEnrollmentResponse(EnrollmentObj *obj)
::omnetpp::opp_string objectName
virtual void processMStop(CDAP_M_Stop *msg)
Function crunching supported M_STOP message.
const Address & getSrcAddress() const
LisRIBDStoEnrolRes * lisRIBDStoEnrolRes
virtual void sendStartOperationResponse(OperationObj *obj)
void signalizeStartEnrollmentResponse(CDAPMessage *msg)
LisRIBDStaOperReq * lisRIBDStaOperReq
void signalizeStartOperationRequest(CDAPMessage *msg)
virtual void setObjectItem(const object_t &objectItem)
virtual void setObjectItem(const object_t &objectItem)
virtual void handleMessage(cMessage *msg)
void signalizeStartOperationResponse(CDAPMessage *msg)
virtual object_t & getObjectItem()