Merge remote-tracking branch 'origin/candidate-3.8.x' into candidate-3.8.0

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Community Edition 3.8.0 Release Candidate 8

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Merge branch 'candidate-3.8.x' into candidate-3.8.0

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Community Edition 3.8.0 Gold

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Split off closedown branch for 3.8.2

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Merge remote-tracking branch 'origin/candidate-3.8.x' into candidate-3.8.2

Conflicts:
	version.cmake

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Add template classes for implementing the linkcounts.

* Introduce template classes for implementing the linkcounts.
  This avoids having an extra VMT for CInterface - it can reuse the
  vmt of the interface.
  Only recommended for memory critical classes.

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Use the same module initialisation under windows.

As it stands windows uses the built in static variable construction,
while linux uses an internal mechanism.  The windows mechanism works
for dll dependencies, but it doesn't work for different priorities
within a module.

I hit an example where I wanted two priorities within the same module
which didn't work.  (Since worked around.)  I suspect it is partly
luck with the alphametic order of modules in eclcc that  stops it
causing problems already.

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Fix gh-2860 https connection to EclWatch failed

This only happens on Linux. The error comes from
openssl lib. Browser is trying to create multiple
SSL connections to ESP. ESP creates multiple threads
and each thread uses openssl lib to accept the
connections. To make openssl thread-safe, ESP has to
provide a callback fucntion: CRYPTO_set_id_callback().

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
Fix gh-2888 add superfile operations to esp log

Superfile operations (add/remove) should be logged
into esp log. This fix also cleans ESP code for
superfile operations, including the method
SuperfileAddRaw() which has not been used for years.

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
Revised based on review.

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
Fix gh-1629 Spray file default target file name

When a file is selected to spray, the target file
name should be defaulted to the base name of the
source file (ignoring any extension).

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
Simplify the context flag for tracking skips

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Update the way some throw flags are set

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Clean up the code and start use  more specific flags

Instead of the more generic isPure() start checking for more specific
attributes - e.g. whether a transform skips.

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Some more examples of nested conditional execution

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Fix gh-2287 CSV options not visible in DFU workunit

This fix adds CSV options to DFU Workunit Details page
for DFU sprays of CSV sources.

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
Fix gh-2649 Configmgr - duplicate component
  - Add 'Duplicate Componenet/Service' to context menu
  - Duplicate components and assign unique name

Signed-off-by: Gleb Aronsky <gleb.aronsky@lexisnexis.com>
Fix for pull request #2593
- Fix for center context menu not accepting clicks

Signed-off-by: Gleb Aronsky <gleb.aronsky@lexisnexis.com>
Fix based on feedback.
- Removed ForEach loop since only 1 iteration is needed
- Cleaned up StringBuffer assignment
- Add check for NULL pointer and will throw an exception if encountered

Signed-off-by: Gleb Aronsky <gleb.aronsky@lexisnexis.com>