--- a/src/DIF/FA/FABase.h
+++ b/src/DIF/FA/FABase.h
@@ -19,7 +19,7 @@
//Standard libraries
#include <omnetpp.h>
//RINASim libraries
-#include <Flow.h>
+#include "FAITable.h"
class FABase : public cSimpleModule {
public:
@@ -27,18 +27,29 @@
FABase();
virtual ~FABase();
- virtual bool receiveAllocateRequest(cObject* fl) = 0;
- virtual void receiveAllocateResponsePositive(cObject* obj) = 0;
- virtual void receiveAllocateResponseNegative(cObject* obj) = 0;
- virtual void receiveCreateFlowRequest(cObject* fl) = 0;
- virtual void receiveDeallocateRequest(cObject* fl) = 0;
- virtual void deinstantiateFai(Flow* fl) = 0;
- virtual bool invokeNewFlowRequestPolicy(Flow* fl) = 0;
+ virtual bool receiveAllocateRequest(Flow* flow) = 0;
+ virtual void receiveCreateFlowPositive(Flow* flow) = 0;
+ virtual void receiveCreateResponseFlowPositiveFromRibd(Flow* flow) = 0;
+ virtual bool receiveCreateFlowRequestFromRibd(Flow* flow) = 0;
+ virtual bool receiveDeallocateRequest(Flow* flow) = 0;
+ virtual void deinstantiateFai(Flow* flow) = 0;
+ virtual bool invokeNewFlowRequestPolicy(Flow* flow) = 0;
+
+ virtual bool setOriginalAddresses(Flow* flow) = 0;
+ virtual bool setNeighborAddresses(Flow* flow) = 0;
+
+ FAITable* getFaiTable() const;
+ const Address& getMyAddress() const;
protected:
+ FAITable* FaiTable;
+ Address MyAddress;
+
//SimpleModule overloads
virtual void initialize() = 0;
virtual void handleMessage(cMessage *msg) = 0;
+
+ void initMyAddress();
};