I am seeing the same issue. From everything that I know about doxygen the 
documentation should be produced for the functions as long as the @file 
annotation is found in the file.  Or, the EXTRACT_ALL tag is set to yes. The 
files do have that annotation and the tag is set to yes. I don't know why the 
documentation is not being produced. In the API section of the output.

I am using doxygen v1.8.13 which version are you using sometimes issues like 
this are bugs in a particular release.

George

-----Original Message-----
From: iotivity-dev-bounces at lists.iotivity.org 
[mailto:[email protected]] On Behalf Of Mats Wichmann
Sent: Wednesday, April 5, 2017 7:27 AM
To: IoTivity Developer List <iotivity-dev at lists.iotivity.org>
Subject: [dev] still trying to figure out API docs


I'm not quite sure what doxygen is doing here, before I spend too much more 
time digging I'm wondering if someone else knows.

The C-API docs are at:

https://api-docs.iotivity.org/latest-c

If you navigate down the left side to API Reference -> Class Members -> 
Functions you get to this page (note: this snapshot is from before the flag to 
"generate for C code" was turned on so a build today would not name it "Class 
Members", but everything else about this looks the same):

https://api-docs.iotivity.org/latest-c/functions_func.html

That's kind of a surprise, you would conclude from this that the full API 
consists only of these functions:

    DeleteContext()
    deleteResourceFromRD()
    Instance()
    PublishContext()
    publishResourceToRD()
    RDClient()

The API functions *are* available if you browse to the individual header files, 
for example to cainterface.h:

https://api-docs.iotivity.org/latest-c/cainterface_8h.html

where we see a whole bunch of functions documented.


Further, the things in the list of "functions" are not functions in the C 
API... the ones it's picking up come from this header:

resource/csdk/resource-directory/include/RDClient.h

resource/csdk/resource-directory/include is in the list of directories in the 
Doxyfile, but it looks like this file should be getting excluded.
I guess I don't understand why the csdk directory contains ANY non-C SDK files, 
but perhaps that's a different question, about code structuring.

further, the things in that header are not all doxy-marked up, so I'm not quite 
sure why doxygen is picking them up: publishResourceToRD and 
deleteResourceFromRD are, but the others are not, though they are either public 
methods or structs. again, maybe that's a different story, I haven't looked at 
how doxygen treats C++ components as I'm just chasing the C API at the moment.


So let's distill this slightly rambling question down to a few:

1. okay to exclude RDClient.h from the C-API list?
2. how do we control the presentation so it lets you actually find the 
interfaces in the API?
3. why are there lots of not C-API files in resource/csdk?

===
Note to 2: here's an organization that sort of works for me - the Apache 
Portable Runtime library, which presents a module-level view (I think we don't 
use modules, aka @defgroup and @addtogroup, at all):

https://apr.apache.org/docs/apr/1.5/modules.html

and then if you follow one of the threads:

https://apr.apache.org/docs/apr/1.5/group__apr__thread__proc.html




_______________________________________________
iotivity-dev mailing list
iotivity-dev at lists.iotivity.org
https://lists.iotivity.org/mailman/listinfo/iotivity-dev

Reply via email to