My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
Roadmap  
Plans for JNAerator
Phase-Requirements, Featured
Updated Aug 26, 2010 by olivier.chafik@gmail.com

Scheduled for v1.0

  • context-sensitive C modifiers (right now cannot use "byval" as an identifier as it is an ObjectiveC function argument modifier !)
  • GUI to choose elements to JNAerate and customize mappings (with batchable actions, filter-as-you-type...)
    • -choose creates a .jnaeratorChoices file
    • -choices test.jnaeratorChoices uses it

Unscheduled

  • fix file association of .jnaerator files on Mac OS X (register a listener to web start services so that the argument file is read... on Windows, it is passed with -open file as arguments, so it already works).
  • IN PROGRESS (fields = ok) Support C++ virtual structs and classes + inheritage, at least for fields (add a vptr, extend classes, handle multiple inheritance, be careful of virtual inheritance). Second (harder) step might involve parsing the vtable (first support Visual C++ 2008), and matching the mangled names to route method calls... Thrilling !
  • Support URLs in arguments, with automatic local caching, support of wildcards (list files at arbitrary http URL), integration with preprocessor...
  • More elaborate variable replacements in .jnaerator files : default values (w/ or w/o prompt to user), implicit download, script expressions...)
  • allow predefined source content to be prepared for each output class - raw text or velocity macro, post trigger w/ script api ?
  • make jnaeration features selectable from the GUI & CLI
  • Translate macros and inline functions to Java
  • define -visibility switch to control choice of exported functions : declspec(dllexport), not attribute((visibility=hiddden)), always... + warnings when no symbol is exported : "are you sure you didn't miss a '-visibility all' switch ?"
  • enhance the error reporting of parsing (work on antlr grammar) and of compilation
  • refactor entirely the convertTypeToJNA method to something much cleaner (scanner ?)
  • select Objective-C classes needed to be exported (actually, resolve C structs needed by input headers as well)

Sign in to add a comment
Powered by Google Project Hosting