face: Implementing InterestFilter abstraction to be used with setInterestFilter

This commit minimally changes the API, primarily altering the internal
structures preparing for separation of `registerPrefix` (=send a command
to local forwarder to register FIB/RIB entry) and `setInterestFilter`
(=update library's InterestFilter->Callback dispatch table).

The existing setInterestFilter methods preserve all previous functionality
(any string URI or ndn::Name can be supplied as a first parameter),
but also allow InterestFilter as the filtering parameter.
InterestFilter, provides a way to select Interest either based on prefix,
as before, or based on prefix and regular expression.

Change-Id: Id71404f2163f82c261018d21db172111c4b0da69
Refs: #1275
8 files changed
tree: 67cbad8b1173e3cef30c9f458d6328e7ab9489ef
  1. .waf-tools/
  2. docs/
  3. examples/
  4. src/
  5. tests/
  6. tests-integrated/
  7. tools/
  8. .gitignore
  9. .travis.yml
  10. AUTHORS.md
  11. client.conf.sample
  12. COPYING
  13. libndn-cxx.pc.in
  14. README-dev.md
  15. README.md
  16. waf
  17. wscript
README.md

ndn-cxx: NDN C++ library with eXperimental eXtensions

ndn-cxx is a C++ library, implementing Named Data Networking (NDN) primitives that can be used to implement various NDN applications. The library is currently being used as part of the following projects:

See the file docs/INSTALL.rst for build and install instructions.

Please submit any bugs or issues to the ndn-cxx issue tracker: http://redmine.named-data.net/projects/ndn-cxx/issues

More documentation

Extensive documentation of the library is available on the library's homepage: http://www.named-data.net/doc/ndn-cxx/

License

ndn-cxx is an open source project licensed under BSD license. For more information about the license, refer to COPYING.

While the license does not require it, we really would appreciate it if others would share their contributions to the library if they are willing to do so under the same license.