----in IPv6SuiteWithINET: work---- Applications/UDPApp 下新增 "NDSBasicApp.cc", "NDSBasicApp.h", "NDSBasicApp.ned".
makemake nmake -f makefile.vc depend (option) m.bat
----in INET: not work---- Our goal is to build a UDP based Application named NDSApp.
1. Add "NDSApp" folder in "INET/Applications" folder
2. Modifiy "INET/makemake.cmd" to generate makefile for the new App(If you add/remove/rename directories). set ALL_INET_INCLUDES: append -I%root%/Applications/NDSApp
We copied the line "cd %root%\Applications\UDPApp && ....." and change "UDPApp" to "NDSApp"
cd %root%\Nodes\INET: append -I....\Applications\NDSApp
3. Copy files "UDPApp.cc", "UDPApp.h", "UDPApp.ned" from "UDPApp" folder, Rename "UDPApp.cc", "UDPApp.h", "UDPApp.ned" to "NDSApp.cc", "NDSApp.h", "NDSApp.ned".
4. In file "NDSApp.cc" "#include "UDPApp.h"" to "#include "NDSApp.h"" Replace the class inherits and function names from "UDP"xx to "NDS"xx, ex: "UDPSink::initialize();" to "NDSSink::initialize();"
5. Add NDSApp to StandardHost Modifiy INET/Nodes/StandardHost.ned At import section: append "NDSApp,"
At module StandardHost parameters section: Append "numNdsApps : numeric const, "ndsAppType : string,"
At module StandardHost submodules section: Append ndsApp: ndsAppType[numNdsApps] like NDSApp; display: "i=block/app;p=392,67";
At module StandardHost connections section: Append "for i=0..numNdsApps-1 do ndsApp[i].to_udp --> udp.from_application++; ndsApp[i].from_udp <-- udp.to_application++; endfor;"
makemake nmake -f makefile.vc depend m.bat
Then test it in Example/INET/Multicast
modify its omnetpp.ini
set UDPApp off
udp app (off)
.numUdpApps=0 .udpAppType="UDPApp"
modified udp app configuration to nds app configuration, note the captions.