NNIM Tertius

After a long downtime, I'm ready to start NNIM development again. I've got some cool new ideas and am ready to make it happen. Here are somethings to look out for:
  • Multiple Protocols
  • Cryptographic Protocol Tunneling
  • Hot Cross-platform-ness
  • More more!
This is the third "generation" of the NNIM design process and hopefully the best.

Inline images

Back...again

After igoring NNIM for a few years...it's back! The current source compiles and runs with Oscar. Stay tuned for some hotness over the next few weeks.

Raw Socket/Thread Calls

Rants
I strongly appeal to anyone writing programs in C++ to take advantage of OOP and wrap your socket and thread calls in a derivable class structure. That is (to me) one of the most important uses of C++ and ensures that your program can be used on multiple platforms without a bunch of #ifdef crazyness.

In fact, you can promote good code reuse in C as well--just design your callback system so that the callbacks themselves substitude for OS-dependant API calls. Viz. do something like:

How do I write a plugin for NNIM?

NNIM's plugin system is pretty new but already very usable.
  1. Look in gm/include/gm/plugin.h at the classes derived from class Plugin. They are all abstract classes.
  2. Create a new DDL/SO project that implements the pure virtual functions in any parent classes.
  3. Add needed Macros/Defines to allow correct entry into DLL.
  4. Link to gm.lib and wx (just to wxbase if you are creating a non-gui plugin).