FindingApplications
Jump to navigation
Jump to search
Sometimes, you may want to find an application of a given type on a node. The Node
objects provides basic access to do this, and the TypeId
mechanism the ability to identify the application. If the application objects have TypeId
definitions, then this simple loop will find an application:
Ptr<Application> app;
Ptr<MyApp> myapp = 0;
for (uint32_t x = 0; x < node->GetNApplications(); x++) {
app = node->GetApplication(x);
if (app->GetInstanceTypeId() == MyApp::GetTypeId()) {
myapp = dynamic_cast<MyApp *> (PeekPointer(app));
break;
}
}
if (myapp != 0) {
// Do something MyApp specific with it...
}
Note the specific syntax of the cast---the template is of the pointer, not a Ptr
.