[Xapian-tickets] [Xapian] #63: Improve visibility annotations for the library

Xapian nobody at xapian.org
Sat Nov 14 06:06:14 GMT 2015


#63: Improve visibility annotations for the library
-------------------------+------------------------------
 Reporter:  olly         |             Owner:  olly
     Type:  enhancement  |            Status:  assigned
 Priority:  low          |         Milestone:  1.3.5
Component:  Library API  |           Version:  SVN trunk
 Severity:  minor        |        Resolution:
 Keywords:               |        Blocked By:
 Blocking:               |  Operating System:  Linux
-------------------------+------------------------------

Comment (by olly):

 Moved the tests of `serialise_error()` and `unserialise_error()` to
 `tests/unittest.cc` and made these symbols hidden in
 [63208048574983216aac07a101e04a609b4f0848].

 Updated list of where `XAPIAN_VISIBILITY_DEFAULT` is used outside of
 `include/xapian/' in xapian-core:

  * api/replication.h: Replication was originally an external API, but we
 weren't entirely happy with it.  Perhaps whatever that was ought to be
 sorted out and these made external API features.  `DatabaseMaster` and
 `DatabaseReplica` need to be visible for `xapian-replicate` and `xapian-
 replicate-server`.
  * backends/chert/: `ChertCursor` and `ChertTable` used by `xapian-
 inspect`.  The `xapian-inspect` tool is really more of a development aid
 than a user tool, so perhaps it shouldn't be installed, just built in-tree
 and statically linked to the bits of the backend it needs.
  * common/stringutils.h: Tables for C locale versions of `isalpha()`, etc,
 `tolower()` and `toupper()`.  Perhaps these functions should be available
 in the API.
  * net/: `RemoteServer`, `RemoteTcpServer`: Used by `xapian-progsrv` and
 `xapian-tcpsrv`.  Perhaps ought to be available via the API to allow other
 forms of remote server.
  * net/: `ReplicateTcpClient`, `ReplicateTcpServer`: Used by `xapian-
 replicate` and `xapian-replicate-server`.  It seems silly we need these as
 well as the (originally public) API above - I guess it's for the TCP
 support code.
  * net/tcpserver.h: `TcpServer` used via subclasses in `bin/xapian-
 tcpsrv.cc` and `bin/xapian-replicate-server.cc`.

--
Ticket URL: <http://trac.xapian.org/ticket/63#comment:23>
Xapian <http://xapian.org/>
Xapian



More information about the Xapian-tickets mailing list