Create examples of using meta-information

:Release Notes:
Add example of using meta-information schema for category description,
call validation and category introspection

:Detailed Notes:
Improve category macros
Add example of schema validation for calls
Add example of category introspection

:Testing Performed:
Unit and integration tests on desktop build

:QA Notes:

:Issues Addressed:
[BHV-1594] Create examples of using meta-information

Open-webOS-DCO-1.0-Signed-off-by: Oleksii Rudenko <oleksii.rudenko@lge.com>

Change-Id: I30d254316f9e781622a403ddd45e55d5524b7265
Reviewed-on: https://g2g.palm.com/5660
Reviewed-by: DCO Verification
Reviewed-by: Oleksii Rudenko <oleksii.rudenko@lge.com>
Tested-by: Oleksii Rudenko <oleksii.rudenko@lge.com>
Reviewed-by: Nikolay Orliuk <nikolay.orliuk@lge.com>
Reviewed-by: Sergiy Kryvonos <sergiy.kryvonos@lge.com>
Create doxygen documentation of C++ API

:Release Notes:
Create doxygen documentation of C++ API

:Detailed Notes:
Create doxygen documentation of C++ API

:Testing Performed:
Generated the doc

:QA Notes:


:Issues Addressed:
[BHV-1547] Create doxygen documentation of C++ API

Open-webOS-DCO-1.0-Signed-off-by: Sergiy Kryvonos <sergiy.kryvonos@lge.com>

Change-Id: Ief52ba911405d93aa60ff1fbc0be4505ec467bfc
Reviewed-on: https://g2g.palm.com/5673
Reviewed-by: DCO Verification
Reviewed-by: Anatolii Sakhnik <anatolii.sakhnik@lge.com>
Tested-by: Anatolii Sakhnik <anatolii.sakhnik@lge.com>
Warn about missing directories

:Release Notes:
Configuration file may point ls-hubd to read role and service files
from non-existent place. Hub shouldn't complain on missing
directories.

:Detailed Notes:

:Testing Performed:
Build, run, log watch.

:QA Notes:

:Issues Addressed:
[GF-4265] multiple error messages from ls-hubd after installing any
          application

Open-webOS-DCO-1.0-Signed-off-by: Anatolii Sakhnik <anatolii.sakhnik@lge.com>

Change-Id: Ifcc49eb511b30c825b2069e2796301d8cf8b9a4e
Reviewed-on: https://g2g.palm.com/5751
Reviewed-by: DCO Verification
Reviewed-by: Anatolii Sakhnik <anatolii.sakhnik@lge.com>
Tested-by: Anatolii Sakhnik <anatolii.sakhnik@lge.com>
Reviewed-by: Sergiy Kryvonos <sergiy.kryvonos@lge.com>
Reviewed-by: Alexandr Smoktal <alexandr.smoktal@lge.com>
Reviewed-by: Oleksii Rudenko <oleksii.rudenko@lge.com>
Reviewed-by: Nikolay Orliuk <nikolay.orliuk@lge.com>
make call-timeout scheduled in a right context

:Release Notes:
Fix issue with call-timeout happening in default context rather than on the one
LSHandle attached on.

:Detailed Notes:
- replaced g_timeout_add with g_timeout_source_new and attachment to LSHandle
  context
- added/fixed TestClient.BHV_7106_CallTimeoutOverlap tests
- fixed LS::Call class to set timers in right context
- fixed test_call unit tests to use separate context to avoid callbacks
  overlapping

:Testing Performed:
unit/integration tests under desktop

:QA Notes:

:Issues Addressed:
[BHV-7106] LS2: tests CallTest.CallTimeout and .CallTimeoutExpiration fail sometimes

Open-webOS-DCO-1.0-Signed-off-by: Nikolay Orliuk <nikolay.orliuk@lge.com>

Change-Id: I091e086128b8894098629de63825f05d5a58ce4e
Open-webOS-DCO-1.0-Signed-off-by: Oleksii Rudenko <oleksii.rudenko@lge.com>
Reviewed-on: https://g2g.palm.com/5809
Reviewed-by: DCO Verification
Reviewed-by: Oleksii Rudenko <oleksii.rudenko@lge.com>
Tested-by: Oleksii Rudenko <oleksii.rudenko@lge.com>
Reviewed-by: Anatolii Sakhnik <anatolii.sakhnik@lge.com>
Clear timeouts on removing calls

:Release Notes:
Clear timers set for calls before call structure removed from call map
or when service cleans up its internal data on unregistering.

:Detailed Notes:
- we set timer to cancel call when timeout expired and no reply arrived
- we re-set timer every time new reply arrived for this call
- this way timer can remain when one-reply call removed
- or when multi-reply call not cancelled before unregistering
- thus timer can fire callback after unregister if loop is still running
- or if we reuse same default context for sequential loops
- this fix explicitly destroy timers associated with a call before call
removing or during service unregistering

:Testing Performed:
Unit and integration tests on desktop build.

:QA Notes:

:Issues Addressed:
[BHV-7106] LS2: tests CallTest.CallTimeout and .CallTimeoutExpiration fail sometimes

Open-webOS-DCO-1.0-Signed-off-by: Oleksii Rudenko <oleksii.rudenko@lge.com>

Change-Id: I3f5e1e31fb2111b0050b9e1314d7e27030bcfb0f
Reviewed-on: https://g2g.palm.com/5813
Reviewed-by: DCO Verification
Reviewed-by: Oleksii Rudenko <oleksii.rudenko@lge.com>
Tested-by: Oleksii Rudenko <oleksii.rudenko@lge.com>
Reviewed-by: Anatolii Sakhnik <anatolii.sakhnik@lge.com>
Merge branch 'master' into develop

Open-webOS-DCO-1.0-Signed-off-by: Anatolii Sakhnik <anatolii.sakhnik@lge.com>
Adjust version to 3.9.2

:Release Notes:

:Detailed Notes:

:Testing Performed:
Build and automatic tests

:QA Notes:

:Issues Addressed:
[BHV-1547] Create doxygen documentation of C++ API

Open-webOS-DCO-1.0-Signed-off-by: Anatolii Sakhnik <anatolii.sakhnik@lge.com>

Change-Id: I9b7c9c874135784debb81f60afdedf65815aea57
Reviewed-on: https://g2g.palm.com/5912
Reviewed-by: DCO Verification
Tested-by: Anatolii Sakhnik <anatolii.sakhnik@lge.com>
Reviewed-by: Oleksii Rudenko <oleksii.rudenko@lge.com>
Reviewed-by: Anatolii Sakhnik <anatolii.sakhnik@lge.com>
Merge branch 'develop'

Open-webOS-DCO-1.0-Signed-off-by: Anatolii Sakhnik <anatolii.sakhnik@lge.com>