Hi! I am making progress on my node.js bindings for iotivity:
- I'm downloading the 0.9.0 C API using bower. This means I'm grabbing the followings: - resource/csdk - resource/oc_logger/c - resource/oc_logger/include - extlibs/cjson - I'm building it using node-gyp and linking it statically to the C++ files containing the bindings I've separately cloned the iotivity repo and doxygenerated the C API from master. I'm going through it, binding one function at a time, manually for now, though I have some plans to look at node-libclang for parsing the headers. I've run into an unexpected hurdle though: It seems some of the functions included in the generated API documentation are actually internal functions. For example, CreateNewOptionNode() is marked as internal in the header file: ``` // Internal function to create an option node for coap pdu ``` Unless I've failed to notice an existing way of distinguishing what is public from what is private I guess it would be real nice like if public API could be wrapped in macros like IOTIVITY_EXTERN() or something. So, how do I distinguish the public API from the internal functions? Another confusing issue: Both resource/csdk and resource/csdk/connectivity/lib claim to contain libcoap-4.1.1, yet the code inside the two libcoap-4.1.1 subdirectories differs. This makes it kinda hard to compile it all into one big fat static library, so I've skipped the connectivity stuff for now. Please let me know, and thanks for all your help so far, Gabriel
