RINASim  October 2016
Documentation of framework for OMNeT++
Enrollment.h
Go to the documentation of this file.
1 // The MIT License (MIT)
2 //
3 // Copyright (c) 2014-2016 Brno University of Technology, PRISTINE project
4 //
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
6 // of this software and associated documentation files (the "Software"), to deal
7 // in the Software without restriction, including without limitation the rights
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 // copies of the Software, and to permit persons to whom the Software is
10 // furnished to do so, subject to the following conditions:
11 //
12 // The above copyright notice and this permission notice shall be included in
13 // all copies or substantial portions of the Software.
14 //
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 // THE SOFTWARE.
22 
31 #ifndef __RINA_ENROLLMENT_H_
32 #define __RINA_ENROLLMENT_H_
33 
34 #include <omnetpp.h>
35 #include "Utils.h"
36 #include "RINASignals.h"
37 #include "Flow.h"
38 #include "CDAPMessage_m.h"
39 #include "ConnectionTable.h"
40 #include "ExternConsts.h"
41 #include "EnrollmentListeners.h"
42 #include "EnrollmentStateTable.h"
43 #include "Address.h"
44 #include "RIBd.h"
45 #include "EnrollmentObj.h"
46 #include "OperationObj.h"
47 #include "FABase.h"
48 
49 extern const char* MSG_CONREQ;
50 extern const char* MSG_CONREQRETRY;
51 extern const char* MSG_CONRESPOS;
52 extern const char* MSG_CONRESNEG;
53 extern const char* MSG_ENRLCON;
54 extern const char* MSG_ENRLREL;
55 
67 
68 typedef std::list<APNIPair> APNIPairs;
69 typedef std::map<simtime_t, APNIPairs*> EnrollCommands;
70 
71 class Enrollment : public cSimpleModule
72 {
73  public:
75 
76  Enrollment();
77  virtual ~Enrollment();
78  void startCACE(APNIPair* apnip);
80  void insertStateTableEntry(Flow* flow);
84 
91 
92 
93  protected:
94  void initPointers();
96  virtual void initialize();
97 
99 
100  void parseConfig(cXMLElement* config);
101 
108 
110 
113 
114  int authType;
115  std::string authName;
116  std::string authPassword;
117  std::string authOther;
120 
129  simsignal_t sigEnrollmentFinish;
130 
133 
143 
146 
155 
156  virtual void handleMessage(cMessage *msg);
157 };
158 
159 #endif
simsignal_t sigEnrollmentFinish
Definition: Enrollment.h:129
FABase * FlowAlloc
Definition: Enrollment.h:109
EnrollCommands PreenrollConnects
Definition: Enrollment.h:111
Class representing flow object with attributes from specs.
Definition: Flow.h:45
void receiveStopEnrollmentResponse(CDAPMessage *msg)
Definition: Enrollment.cc:437
simsignal_t sigEnrollmentSendData
Definition: Enrollment.h:122
Enrollment and CACE listeners .
simsignal_t sigEnrollmentStartEnrollRes
Definition: Enrollment.h:124
void receiveStartOperationResponse(CDAPMessage *msg)
Definition: Enrollment.cc:466
virtual void handleMessage(cMessage *msg)
Definition: Enrollment.cc:734
Definition: RIBd.h:54
void receiveStartOperationRequest(CDAPMessage *msg)
Definition: Enrollment.cc:394
EnrollmentStateTable * StateTable
Definition: Enrollment.h:144
void initPointers()
Definition: Enrollment.cc:103
Enrollment state table .
void initSignalsAndListeners()
Definition: Enrollment.cc:109
int authType
Definition: Enrollment.h:114
void signalizeStartEnrollmentResponse(EnrollmentObj *obj)
Definition: Enrollment.cc:639
simsignal_t sigEnrollmentStartOperRes
Definition: Enrollment.h:128
RIBd * RibDaemon
Definition: Enrollment.h:145
std::string authPassword
Definition: Enrollment.h:116
simsignal_t sigEnrollmentStartEnrollReq
Definition: Enrollment.h:123
virtual ~Enrollment()
Definition: Enrollment.cc:61
const char * MSG_ENRLREL
Definition: Enrollment.cc:48
void signalizeStopEnrollmentRequest(EnrollmentObj *obj)
Definition: Enrollment.cc:643
void processConResPosi(EnrollmentStateTableEntry *entry, CDAPMessage *cmsg)
Definition: Enrollment.cc:553
std::string authName
Definition: Enrollment.h:115
std::map< simtime_t, APNIPairs * > EnrollCommands
Definition: Enrollment.h:69
Operation object .
LisEnrollmentGetFlowFromFaiCreResPosi * lisEnrollmentGetFlowFromFaiCreResPosi
Definition: Enrollment.h:132
void processConResNega(EnrollmentStateTableEntry *entry, CDAPMessage *cmsg)
Definition: Enrollment.cc:591
void insertStateTableEntry(Flow *flow)
Definition: Enrollment.cc:211
void signalizeCACESendData(CDAPMessage *cmsg)
Definition: Enrollment.cc:631
void signalizeStartOperationResponse(OperationObj *obj)
Definition: Enrollment.cc:655
EnrollCommands PreenrollReleases
Definition: Enrollment.h:112
void receiveStartEnrollmentResponse(CDAPMessage *msg)
Definition: Enrollment.cc:313
std::list< APNIPair > APNIPairs
Definition: Enrollment.h:66
const char * MSG_CONRESPOS
Definition: Enrollment.cc:45
LisEnrollmentStopEnrollRes * lisEnrollmentStopEnrollRes
Definition: Enrollment.h:137
void processNewConReq(EnrollmentStateTableEntry *entry)
Definition: Enrollment.cc:511
void signalizeEnrollmentFinished(EnrollmentStateTableEntry *entry)
Definition: Enrollment.cc:659
void receiveNegativeConnectResponse(CDAPMessage *msg)
Definition: Enrollment.cc:236
LisEnrollmentStartEnrollReq * lisEnrollmentStartEnrollReq
Definition: Enrollment.h:134
void startEnrollment(EnrollmentStateTableEntry *entry)
Definition: Enrollment.cc:297
LisEnrollmentAllResPosi * lisEnrollmentAllResPosi
Definition: Enrollment.h:131
const char * MSG_ENRLCON
Definition: Enrollment.cc:47
simsignal_t sigEnrollmentStartOperReq
Definition: Enrollment.h:127
void parseConfig(cXMLElement *config)
Definition: Enrollment.cc:665
void processStopEnrollmentImmediate(EnrollmentStateTableEntry *entry)
Definition: Enrollment.cc:471
LisEnrollmentStopOperationReq * lisEnrollmentStartOperationReq
Definition: Enrollment.h:138
LisEnrollmentConReq * lisEnrollmentConReq
Definition: Enrollment.h:142
void signalizeStartOperationRequest(OperationObj *obj)
Definition: Enrollment.cc:651
LisEnrollmentStartEnrollRes * lisEnrollmentStartEnrollRes
Definition: Enrollment.h:135
void receiveStartEnrollmentRequest(CDAPMessage *msg)
Definition: Enrollment.cc:401
void processStopEnrollmentResponse(EnrollmentStateTableEntry *entry)
Definition: Enrollment.cc:378
const char * MSG_CONREQRETRY
Definition: Enrollment.cc:44
LisEnrollmentStartOperationRes * lisEnrollmentStartOperationRes
Definition: Enrollment.h:139
void receiveStopEnrollmentRequest(CDAPMessage *msg)
Definition: Enrollment.cc:346
LisEnrollmentStopEnrollReq * lisEnrollmentStopEnrollReq
Definition: Enrollment.h:136
const char * MSG_CONRESNEG
Definition: Enrollment.cc:46
LisEnrollmentConResNega * lisEnrollmentConResNega
Definition: Enrollment.h:141
int maxConRetries
Definition: Enrollment.h:118
void startCACE(APNIPair *apnip)
Definition: Enrollment.cc:157
void updateEnrollmentDisplay(Enrollment::IconEnrolStatus status)
Definition: Enrollment.cc:720
Definition: FABase.h:33
std::string authOther
Definition: Enrollment.h:117
Enrollment object .
void signalizeStopEnrollmentResponse(EnrollmentObj *obj)
Definition: Enrollment.cc:647
void authenticate(EnrollmentStateTableEntry *entry, CDAP_M_Connect *msg)
Definition: Enrollment.cc:485
simsignal_t sigEnrollmentCACESendData
Definition: Enrollment.h:121
simsignal_t sigEnrollmentStopEnrollReq
Definition: Enrollment.h:125
void receivePositiveConnectResponse(CDAPMessage *msg)
Definition: Enrollment.cc:219
LisEnrollmentConResPosi * lisEnrollmentConResPosi
Definition: Enrollment.h:140
simsignal_t sigEnrollmentStopEnrollRes
Definition: Enrollment.h:126
int numOfConnects
Definition: Enrollment.h:119
const char * MSG_CONREQ
Definition: Enrollment.cc:43
void signalizeStartEnrollmentRequest(EnrollmentObj *obj)
Definition: Enrollment.cc:635
virtual void initialize()
Definition: Enrollment.cc:66
void receiveConnectRequest(CDAPMessage *msg)
Definition: Enrollment.cc:261