Commit Graph

1104 Commits

Author SHA1 Message Date
Matteo Cypriani 4a534755db [Positioner] tests: AccessPoint -> CapturePoint 2013-07-17 18:09:13 -04:00
Matteo Cypriani ecae205955 [Positioner] Cosmetic changes, mainly comments 2013-07-17 18:09:13 -04:00
Matteo Cypriani 9144ef3740 [Positioner] RealPosition: fix calib request bug
Fix the RealPosition::compute() bug that prevented the real position to
be extracted for a CalibrationRequest.
2013-07-17 18:09:13 -04:00
Matteo Cypriani e9f5f26504 [Positioner] Fix Request's destructor
real_position was not deleted in the destructor.
2013-07-17 18:09:13 -04:00
Matteo Cypriani 8b3a31fe3b [Positioner] Fix Request::operator==() 2013-07-17 18:09:13 -04:00
Matteo Cypriani 6cffd61b0c [Positioner] UserInterface: use const argc & argv 2013-07-17 18:09:13 -04:00
Matteo Cypriani c358b6e6c7 [Positioner] Direction: use uint_fast8_t
Use uint_fast8_t instead of char as the inner direction type.
2013-07-17 18:09:13 -04:00
Matteo Cypriani 953e4c1d52 [Positioner] Un-inline Direction::is_valid() 2013-07-17 18:09:13 -04:00
Matteo Cypriani dfc52a1de3 [Positioner] Un-inline Timestamp::set() 2013-07-17 18:09:12 -04:00
Matteo Cypriani 794d8b35d0 [Positioner] Fix CalibrationRequest(Request)
Fix CalibrationRequest's Request copy constructor: the default arguments
must be in the header file.
2013-07-17 18:09:12 -04:00
Matteo Cypriani 6c1c182039 [Listener] Adapt get_mac_addr() to build on BSD
The get_mac_addr() function was the only real blocker that prevented
building on BSD systems, as it used the Linux-specific SIOCGIFHWADDR
ioctl. When compiling for Linux, we still use this ioctl, but for the
BSD version we use sysctl().

This allows OwlPS Listener to build on BSD (tested on NetBSD, OpenBSD
and DragonFly). That doesn't mean it will actually work when trying to
capture packets though (that has to be tested on real hardware), but
that's still a progress.
2013-07-17 18:09:12 -04:00
Matteo Cypriani 7d3650fb5d [Listener] Improve BSD friendliness 2013-07-17 18:09:12 -04:00
Matteo Cypriani 14e9a4122a [Listener] Improve *_addr()
Improve the code of the get_mac_addr() and get_ip_addr() functions,
their signature and documentation.
2013-07-17 18:09:12 -04:00
Matteo Cypriani 4ae0874e1f [Positioner] Access Point -> Capture Point
Like in the other modules, we get rid of the old use of "access point".
This has user-visible changes, especially in the configuration (the name
of a few options has been changed).
2013-07-17 18:09:12 -04:00
Matteo Cypriani 69cba07122 [lib] Access Point -> Capture Point (API change)
Same work as for Aggregator and Listener to get rid of the old "AP"
terminology.

API change: structures with an ap_mac_addr_bytes field are modified.
2013-07-17 18:09:12 -04:00
Matteo Cypriani 9e7b55c317 [Listener] Access Point -> Capture Point
Same work as for the Aggregator, without any user-visible change.
2013-07-17 18:09:12 -04:00
Matteo Cypriani 0c3083bd41 [Aggregator] Access Point -> Capture Point
Use the new terminology "capture point" (CP) instead of "access point"
(AP) everywhere in Aggregator. The only user-visible change is that the
ap_keep_timeout option is now called cp_keep_timeout.
2013-07-17 18:09:12 -04:00
Matteo Cypriani 91cd819730 [Aggregator] ap_check_interval -> ac_order_interval
The option ap_check_interval is now named ac_order_interval, which is
(hopefully) more meaningful.
2013-07-17 18:09:12 -04:00
Matteo Cypriani bd48479d2d [Positioner] Refactor InputCSV::fill_current_request()
Use the new function InputCSV::read_field() to read the fields and
display error messages as needed.
2013-07-17 18:09:12 -04:00
Matteo Cypriani 5bf1bcb4d2 Handle aggregation CSV format version
The first field of the Aggregator's CSV output files is now an unsigned
integer that announces the version of the CSV format used. Current
version is 1 and the subsequent fields are not modified, so that an
aggregation file generated with a previous version can still be used by
adding "1;" at the beginning of each line.

The Positioner has been adapted to handle this new format.
2013-07-17 18:08:27 -04:00
Matteo Cypriani b97085d79f [Positioner] Get rid of the src/ subdirectory
The src/ subdirectory is not needed any more, since we can build out of
tree with CMake.
2013-06-19 18:53:37 -04:00
Matteo Cypriani 61aa4af3a3 [Aggregator] Refactor got_request()
Create add_captured_request() out of got_request(). Now,
add_captured_request() will need to be refactored.
2013-06-12 18:55:48 -04:00
Matteo Cypriani 068553ee49 [Aggregator] got_request(): pointer parameter
For performance's sake, the request passed in parameter of got_request()
is now a const pointer instead of a struct.
2013-06-12 18:55:48 -04:00
Matteo Cypriani ef154b6d91 [Aggregator] Refactor read_loop()
Create print_captured_request() out of read_loop().
2013-06-12 18:55:48 -04:00
Matteo Cypriani 0e913a2938 [Aggregator] More monitor_requests() refactoring
Create scan_request_list() out of monitor_requests().
2013-06-12 18:55:48 -04:00
Matteo Cypriani 5b6f40f59d Improve Aggregator & Listener's exit messages 2013-06-12 18:55:46 -04:00
Matteo Cypriani d9344673b0 [Aggregator] Flush the requests' list at exit
Instead of just freeing the requests' list, output every request and
free the list at the same time.
2013-06-12 18:51:38 -04:00
Matteo Cypriani 47103f3360 [Aggregator] Refactor monitor_requests()
Create output_request() out of monitor_requests().
2013-06-12 18:44:24 -04:00
Matteo Cypriani 45d4eeb791 [Aggregator] Reorder functions
Reorder the functions in owlps-aggregatord.c to respect the order of
owlps-aggregator.h.
2013-06-12 18:44:24 -04:00
Matteo Cypriani 3a9ce442d1 [Aggregator] Add -F option (don't flush output)
Add the -F option to turn off flushing of the output file after each
analyse of the requests' list.
2013-06-12 18:44:03 -04:00
Matteo Cypriani 6761650648 [Aggregator] Make -o optional
The -o parameter is now optional, and the default output file is the
standard output.
2013-06-12 17:18:46 -04:00
Matteo Cypriani a29a43a6fa [Listener] Add option -G (dump configuration)
This new option is just like Aggregator's -G option.
2013-06-12 17:18:46 -04:00
Matteo Cypriani 94e5c5cbab [Aggregator] Add option -G (dump configuration)
Add the option -G (like "Generate configuration file") that dumps the
current configuration on the standard output, so the user can call
  owlps-aggregatord [custom options] -G >owlps-aggregator.conf
to generate the configuration file owlps-aggregator.conf.
2013-06-12 17:18:46 -04:00
Matteo Cypriani 5ddca24738 Print exit message only in verbose mode
Update the exit message printing in all the modules:
- print on standard error
- print only in verbose mode
- use "exiting" instead of "end"
2013-06-12 17:18:46 -04:00
Matteo Cypriani 86510d490f [doc] owlps.t2t: update main description 2013-06-12 12:34:36 -04:00
Matteo Cypriani 35eef92e94 [doc] Fix links to commands' manuals 2013-06-12 12:32:12 -04:00
Matteo Cypriani 6551bd6c3a [doc] Finish writing owlps-client.t2t 2013-06-12 09:38:38 -04:00
Matteo Cypriani b0bb4094d8 CMake: get rid of the OWLPS_DEBUG option
The constant is not used in any program any more, so we can stop
declaring it.
2013-06-12 09:38:38 -04:00
Matteo Cypriani ca918af0ab [UDP-HTTP] Stop using OWLPS_DEBUG 2013-06-12 09:38:38 -04:00
Matteo Cypriani e114a6997a [lib-client] Add "verbose" parameters
owl_send_request() and owl_send_packet() get a boolean "verbose"
parameter that allow to enable or disable message display on run-time
and allow to get rid of the OWLPS_DEBUG compile-time option.
2013-06-12 09:38:38 -04:00
Matteo Cypriani b859734d23 [Client] Add verbose and quiet options (-v / -q) 2013-06-12 09:38:38 -04:00
Matteo Cypriani 9701a2d393 [Positioner] Allow building with clang++
This patch is to have clang++ (>= 3.2) happily build OwlPS Positioner.
For some reason it doesn't work on NetBSD, but it is fine on GNU/Linux
and (a couple of warnings apart) on DragonFly BSD.
2013-06-12 09:38:38 -04:00
Matteo Cypriani d32813376b CMake: pass installation prefix to programs
The file libowlps/owlps-config.h.in was added to allow CMake to pass the
installation prefix variable to the programs. That allows the programs
to look for their configuration file at the right position (i.e. in the
etc/owlps directory under the installation prefix).
2013-06-12 09:38:38 -04:00
Matteo Cypriani 4bd104d633 CMake: test for the presence of txt2tags 2013-06-12 09:38:37 -04:00
Matteo Cypriani f7533fc93f CMake: fix Doxygen garbage cleaning 2013-06-12 09:38:37 -04:00
Matteo Cypriani 3aa5ae7513 Use Doxygen on lib*
Doxygen comments are now used in libowlps, libowlps-client and
libowlps-resultreader. doc/Doxyfile was added as well as CMake rules to
generate man pages for the libraries' header files.
2013-06-12 09:38:37 -04:00
Matteo Cypriani 9d640cd4d6 [Positioner] Doxygen: enable MULTILINE_CPP_IS_BRIEF
Enable Doxygen option MULTILINE_CPP_IS_BRIEF, so that we don't have to
use \brief: C++-style comments are for brief descriptions and C-style
comments for extended descriptions.

Fix some comments (use @param instead of @arg).
2013-06-12 09:38:00 -04:00
Matteo Cypriani eb2715e249 CMake: make sure doxygen is available 2013-06-04 11:07:54 -04:00
Matteo Cypriani 410038f38c [lib] Remove unused owl_timestamp_is_null() 2013-06-04 11:07:54 -04:00
Matteo Cypriani abce1f985e [lib] Rework owl_frequency_to_channel() 2013-06-04 11:07:54 -04:00