28 this->
isEnrolled = this->EnrollmentState::NOT_ENROLLED;
40 cModule* catcher1 = this->getParentModule();
41 cModule* catcher2 = this->getModuleByPath(
"^.^");
75 bool AP::a_open(
int invokeID, std::string APName, std::string APInst, std::string AEName, std::string AEInst) {
76 if (this->
isEnrolled == this->EnrollmentState::NOT_ENROLLED) {
88 this->
isEnrolled = this->EnrollmentState::ENROLLING;
95 else if (this->
isEnrolled == this->EnrollmentState::ENROLLING) {
101 return createIAE(APName, APInst, AEName, AEInst, NULL, invokeID);
119 bool AP::a_read(
int CDAPConn, std::string objName,
int invokeID) {
166 bool AP::createIAE(std::string APName, std::string APInst, std::string AEName, std::string AEInst,
Flow* flow,
int invokeID) {
167 std::string str =
"^."+AEName;
168 cModule *submodule, *module = this->getModuleByPath(str.c_str());
169 cModuleType *moduleType;
170 std::ostringstream ostr;
172 str =
"rina.src.DAF.AE."+AEName;
173 cModuleType *moduleAEType = cModuleType::find(str.c_str());
175 str =
"rina.src.DAF.AE."+AEName+
"."+AEName;
176 moduleAEType = cModuleType::find(str.c_str());
187 moduleType = cModuleType::get(
"rina.src.DAF.AE.ApplicationEntity");
192 module = moduleType->create(ostr.str().c_str(), this->getModuleByPath(
"^"));
193 module->finalizeParameters();
194 module->buildInside();
195 module->callInitialize();
200 module = this->getModuleByPath(str.c_str());
209 ostr << AEName <<
"_" << AEInstanceNum;
210 moduleType = cModuleType::get(
"rina.src.DAF.AE.ApplicationEntityInstance");
211 module = moduleType->create(ostr.str().c_str(), this->getModuleByPath(str.c_str()));
212 module->par(
"aeType") = AEName;
214 module->finalizeParameters();
215 module->buildInside();
217 submodule = module->getSubmodule(
"iae");
218 submodule->par(
"aeName") = AEName;
219 submodule->par(
"aeInstance") = std::to_string(AEInstanceNum);
220 submodule->par(
"dstApName") = APName;
221 submodule->par(
"dstApInstance") = APInst;
222 submodule->par(
"dstAeName") = AEName;
223 submodule->par(
"dstAeInstance") = AEInst;
226 submodule->par(
"initiator") =
true;
228 submodule->par(
"initiator") =
false;
230 module->callInitialize();
232 AE* aeModule =
dynamic_cast<AE*
>(module->getSubmodule(
"iae"));
236 aeModule->
start(flow);
243 Enter_Method(
"receiveAllocationRequestFromFai()");
294 Enter_Method(
"onA_getOpen()");
298 Enter_Method(
"onA_getRead()");
302 Enter_Method(
"onA_getWrite()");
311 Enter_Method(
"startRequestedConnections()");
320 this->
isEnrolled = this->EnrollmentState::ENROLLED;
LisAPAllReqFromFai * lisAPAllReqFromFai
void receiveAllocationRequestFromFAI(Flow *flow)
Class representing flow object with attributes from specs.
virtual APIRetObj * a_getopen_r(int invokeID)
const char * SIG_AE_AP_API
virtual void resultAssign(APIResult *result)
simsignal_t sigAEEnrolled
virtual APIRetObj * a_getclose_r(int CDAPConn, int invokeID=0)
Application Process Name class.
void insertAEReq(Flow req)
ConnectionRequests ConReqStack
void setAllocInvokeId(long allocInvokeId)
Sets allocation InvokeId.
bool deleteIAE(APIResult *result)
long getAllocInvokeId() const
Gets allocation InvokeId Used inside M_CREATE(_R)(flow) messages.
virtual APIRetObj * a_get_read_r(int CDAPConn, int invokeID)
void signalizeAPAEAPI(APIReqObj *obj)
virtual bool a_close(int CDAPConn, int invokeID=0)
const std::string & getAename() const
Getter of AE name.
const APN & getApn() const
Getter of APN.
virtual void initSignalsAndListeners()
APNamingInfo holds complete naming info for particular application process.
virtual bool a_read(int CDAPConn, std::string objName, int invokeID=0)
virtual void onA_getWrite(APIResult *result)
void setAPIReqType(APIReqObj::APIReqType type)
void setObjName(std::string objName)
virtual bool a_read_r(int CDAPconn, int invokeID, std::string objName, object_t *obj, bool complete=true)
unsigned long getNewCdapConID()
bool createIAE(std::string APName, std::string APInst, std::string AEName, std::string AEInst, Flow *flow, int invokeID)
void setStartInvokeId(int invokeId)
const char * SIG_AP_AE_API
virtual void initPointers()
const char * SIG_AE_Enrolled
const std::string & getAeinstance() const
Getter of AE-instance attribute.
int getNewAEInstNum(std::string AEName)
void setInvokeId(unsigned long id)
const std::string & getApinstance() const
Getter of AP-instance id.
EnrollmentState isEnrolled
virtual void onA_getRead(APIResult *result)
virtual bool a_open(int invokeID, std::string APname, std::string APinst, std::string AEname, std::string AEinst)
void setCDAPConId(unsigned long id)
virtual void startRequestedConnections()
virtual bool a_write(int CDAPConn, std::string objName, object_t *obj, int invokeID=0)
APIResult::APIResType getAPIResType()
virtual void onClose(APIResult *result)
const std::string & getName() const
Gets APN string name representation.
virtual bool a_cancelread_r(int CDAPConn, int invokeID=0)
const char * SIG_AEMGMT_ConnectionResponsePositive
const char * SIG_FAI_AllocateRequest
virtual void initialize()
const APNamingInfo & getDstApni() const
Gets read-only destination APNamingInfo.
void setObj(object_t *obj)
LisAPEnrolled * lisAPEnrolled
virtual void onA_getOpen(APIResult *result)
void setCdapConId(unsigned long cdapConId)
virtual APIRetObj * a_getwrite_r(int CDAPconn, int invokeID, APIResult *result, std::string objName, object_t *obj=NULL)