My understanding is * The resource/csdk/connectivity files are not supposed to be public, it's an internal layer * Any files in an /internal subdir are certainly not supposed to be public * Some of the headers under resource/csdk/security/provisioning are supposed to be public so they can be used by OBT's. The fact that they're not copied to out/ by the build is, in my view, a bug.
I'm not certain about the others, but I would assume that by default, nothing else in the second list should be public. And sample code should never include headers except those copied to out/ but I believe there are bugs there where samples do the wrong thing today. Unit test code will of course use them and call internal APIs, but sample code should not. -----Original Message----- From: Mats Wichmann [mailto:[email protected]] Sent: Wednesday, April 5, 2017 12:13 PM To: Dave Thaler <dthaler at microsoft.com>; iotivity-dev at lists.iotivity.org Subject: Re: [dev] still trying to figure out API docs - octimer.h On 04/05/2017 11:06 AM, Dave Thaler wrote: > not published to out/ so none of them are public APIs. Okay, by this metric I think we have a bit of a mismatch. If I'm not doing my searches wrong, doxygen finds 60 header files based on the INPUT directive it's given in the c-doc Doxyfile. Of those only 13 seem to appear in out/ : include/resource/ocpayload.h include/resource/ocpresence.h include/resource/ocstackconfig.h include/resource/ocstack.h include/resource/octypes.h include/resource/rd_client.h include/resource/RDClient.h include/service/easy-setup/easysetup.h include/service/easy-setup/escommon.h include/service/easy-setup/ESEnrolleeCommon.h include/service/notification/NSCommon.h include/service/notification/NSConsumerInterface.h include/service/notification/NSProviderInterface.h (RDClient.h being the previously identified one that is in C++ and thus unlikely to be part of the "C API") The places "in the source" where doxygen has picked files from are - and it looks from this like there's some recursion going on that should not be (RECURSIVE flag is set to NO): resource/csdk/connectivity/api/cacommon.h resource/csdk/connectivity/api/cainterface.h resource/csdk/connectivity/api/casecurityinterface.h resource/csdk/connectivity/api/cautilinterface.h resource/csdk/connectivity/src/bt_le_adapter/linux/utils.h resource/csdk/include/octypes.h resource/csdk/resource-directory/include/rd_client.h resource/csdk/resource-directory/include/RDClient.h resource/csdk/resource-directory/include/rd_database.h resource/csdk/resource-directory/include/rd_server.h resource/csdk/routing/include/routingmanager.h resource/csdk/routing/include/routingmanagerinterface.h resource/csdk/routing/include/routingmessageparser.h resource/csdk/routing/include/routingtablemanager.h resource/csdk/routing/include/routingutility.h resource/csdk/security/include/base64.h resource/csdk/security/include/iotvticalendar.h resource/csdk/security/include/pbkdf2.h resource/csdk/security/include/pinoxmcommon.h resource/csdk/security/include/pkix_interface.h resource/csdk/security/include/securevirtualresourcetypes.h resource/csdk/security/include/srmutility.h resource/csdk/security/provisioning/include/cloud/occloudprovisioning.h resource/csdk/security/provisioning/include/cloud/utils.h resource/csdk/security/provisioning/include/internal/credentialgenerator.h resource/csdk/security/provisioning/include/internal/multipleownershiptransfermanager.h resource/csdk/security/provisioning/include/internal/otmcontextlist.h resource/csdk/security/provisioning/include/internal/ownershiptransfermanager.h resource/csdk/security/provisioning/include/internal/provisioningdatabasemanager.h resource/csdk/security/provisioning/include/internal/secureresourceprovider.h resource/csdk/security/provisioning/include/ocprovisioningmanager.h resource/csdk/security/provisioning/include/oxm/oxmjustworks.h resource/csdk/security/provisioning/include/oxm/oxmmanufacturercert.h resource/csdk/security/provisioning/include/oxm/oxmpreconfpin.h resource/csdk/security/provisioning/include/oxm/oxmrandompin.h resource/csdk/security/provisioning/include/pmtypes.h resource/csdk/security/provisioning/include/pmutility.h resource/csdk/stack/include/internal/occlientcb.h resource/csdk/stack/include/internal/occollection.h resource/csdk/stack/include/internal/ocobserve.h resource/csdk/stack/include/internal/ocpayloadcbor.h resource/csdk/stack/include/internal/ocresource.h resource/csdk/stack/include/internal/ocresourcehandler.h resource/csdk/stack/include/internal/ocserverrequest.h resource/csdk/stack/include/internal/ocstackinternal.h resource/csdk/stack/include/internal/oicgroup.h resource/csdk/stack/include/internal/oickeepalive.h resource/csdk/stack/include/ocpayload.h resource/csdk/stack/include/ocpresence.h resource/csdk/stack/include/ocstackconfig.h resource/csdk/stack/include/ocstack.h resource/csdk/stack/include/payload_logging.h service/coap-http-proxy/include/CoapHttpHandler.h service/coap-http-proxy/include/CoapHttpMap.h service/coap-http-proxy/include/CoapHttpParser.h service/easy-setup/enrollee/inc/easysetup.h service/easy-setup/enrollee/inc/ESEnrolleeCommon.h service/easy-setup/inc/escommon.h service/notification/include/NSCommon.h service/notification/include/NSConsumerInterface.h service/notification/include/NSProviderInterface.h
