 This is simple README for nlp_service C++ version
Author: Radosław Warzocha
Mail:	radoslaw.warzocha@gmail.com

nlp_service package is constructed so future work on nlp services can be conducted easily
and changes don't have to be made in every service ever created.

1. INSTALLATION

Installation is simple and CMake based. You can simply use the following commands:
> mkdir bin
> cd bin
> cmake ../
> make
> sudo make install

This will configure, compile and install the nlp_service lib and headers, as well as ALL of
the services that were created. If you don't want to install all the services you can either
set coresponding options (INSTALL_servicename_SERVICE) OFF in main CMakeLists.txt file or
run CMake in interactive mode and set those variables as desired.

2. CREATING NEW SERVICE

In order to create new service one has to do 2 things:
- Create subclass of Service class, which implements processing method and running program
- Add new service's subdirectory in main CMakeLists.txt file and ann CMakeLists.txt file
in new service's directory

2.1. WRITING CODE FOR NEW SERVICE
In order to create new service you should create new class, which subclasses nlp_service::Service
class. nlp_service::Service is abstract class with single pure virtual method called
process. This is the function where the work is getting done. This method takes 3 arguments - their
role is described in the in-code documentation in the service.h file.
You should also create a main function, that will run the whole machinery. Some convinience
functions are provided in the utils.h header for that. With them the main function can be just
one-liner.

To see the example check WCRFT service.

2.2. ADDING INSTALLATION INFORMATION AND FILES

To make new service installable we first need to provide CMakeLists.txt file in service directory.
This file should contain:
- checking for any additional packages that your service needs. If you are in need of writing new
CMake find module, please put it in CMakeScripts directory.
- at least one exectuable target - your main function - with installation info

Again, you can see simple example in WCRFT service dir. This service requires the WCRFT to be
installed (sic!), creates one compilation target called wcrft2service, and tells make to install
it under /bin.
