ATF-log archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

#52: Make libraries only expose the public interface



#52: Make libraries only expose the public interface
--------------------+-------------------------------------------------------
 Reporter:  jmmv    |       Owner:  jmmv 
     Type:  defect  |      Status:  new  
 Priority:  major   |   Milestone:  reorg
Component:  MISC    |     Version:       
 Keywords:          |  
--------------------+-------------------------------------------------------
 At the moment, atf-c and atf-c++ install tons of header files that are not
 really part of the ATF interface.  These just add clutter and we have the
 risk of people attempting to use them.  They are only installed because
 the other header files require them.

 The code must be changed to clearly define what is part of the public
 interface and what is not (and this has yet to be decided).  Here is the
 plan of attack:

  * Make all modules use the pimpl idiom to trim the amount of includes.
  * Prefix private C symbols by either `_ or `atfp_ (or some other string)
 and put C++ ones in the `detail subnamespace.
  * Sweep through the public headers to ensure that they do not require
 anything in detail.
  * Move private modules into a detail/ subdirectory.

 Only once this is done it's worth to properly document the API.

-- 
Ticket URL: <http://www.julipedia.org/projects/atf/trac/ticket/52>
Automated Testing Framework <http://www.NetBSD.org/~jmmv/atf/>
Automated Testing Framework


Home | Main Index | Thread Index | Old Index