Commit Graph
100 Commits
Author SHA1 Message Date
James Turner b5c1902a2d Tweaks to recursive listener behaviour 2016-12-03 14:09:56 +00:00
James Turner d088259739 Add aliased listener test, disabled for now. 2016-12-02 17:15:11 +00:00
James Turner d8acf44a3a Revert unintended change in listener refactoring. 2016-12-02 17:14:27 +00:00
James Turner 7a909d0c0b Improved Package search function.
Handle or/and groups, and search variant descriptions and names.
2016-11-30 21:32:31 +00:00
James Turner 919c25769c Quiet a canvas message. 2016-11-30 12:18:44 +00:00
James Turner 5a0908d5bb Package::indexOfvariant works on fully-qualified IDs.
Should fix issues restoring variants in the launcher.
2016-11-29 15:36:00 +00:00
James Turner 835ae941ce Unit-tests for localised-variant strings. 2016-11-26 14:28:22 +00:00
James Turner 63edff078f Fix warnings in sgvec4 test.
Use C++ type-overloaded fabs call.
2016-11-26 14:20:17 +00:00
James Turner 64531c85e3 Generalise per-variant localised string lookup.
Will be used for per-variant long-descriptions.
2016-11-25 22:44:24 +00:00
James Turner 14cdae5102 Unit-test for copy-installed children. 2016-11-25 22:19:55 +00:00
James Turner 2aaad212e8 Revert partial-update mode for TerraSync repos.
Going to implement this a different, simpler way now,
2016-11-25 22:19:51 +00:00
James Turner bd88bf1126 Explicit handling of recursive listeners.
Use a different strategy for recursive listeners, and make them opt-in.
2016-11-25 16:07:18 +00:00
James Turner ea9da65b7c Expanded property unit-tests. 2016-11-25 16:07:18 +00:00
James Turner 5681fcbdc5 Unit-tests for property listener. 2016-11-22 00:19:18 +00:00
James Turner 7755f8e094 Override changes for atomic listener. 2016-11-22 00:15:14 +00:00
James Turner e266e44f63 Extended scenery/STG suffix handling 2016-11-22 00:09:51 +00:00
James Turner 5ecc1ab6f2 Simplify timing code.
Assumes we have timegm on Unix, and use _mkgmtime on Windows.
This means we never need to use ftime() / timeb.h
2016-11-17 21:23:56 +01:00
James Turner 3009aadaa6 Simplify Boost auto-detection on MSVC. 2016-11-14 23:05:10 +01:00
James Turner fca64343ae Attempting to fix Windows include issues.
Only handle PackageRef by reference in the header file, so we don’t
create calls to the copy constructor and/or destructor. If this doesn’t
work will need to create a stub implementation file.
2016-11-14 07:52:15 +01:00
James Turner 042a2659f6 Disable Codecvt for now, libstdc++ is problematic.
Need to research which libstdc++ versions implement codecvt.
2016-11-14 07:45:23 +01:00
James Turner fe54af405c Zlib is a public, not private include in Simgear.
Should fix Windows compilation as reported by Alan Teeder on the list.
2016-11-14 07:31:54 +01:00
James Turner ab70090a0a Finally fix bogus terrasync download numbers.
(Staying a hotel with sufficiently slow wi-fi to debug this!)
2016-11-13 22:18:32 +01:00
James Turner ee02750e95 Enforce VS2013/2015 requirement on Windows. 2016-11-13 14:57:39 +00:00
James Turner f55007394e Make more includes target-specific. 2016-11-13 14:57:21 +00:00
James Turner 60a9e8fb7e Implement UTF-8 conversion using codecvt 2016-11-13 14:56:52 +00:00
James Turner 7f8455f731 Multi-thumbnail support in packages.
Allow multiple thumbnails per variant / package, including
tagging with types so we can require certain thumbnails in the future.
2016-11-13 14:56:31 +00:00
James Turner 6ae86fc4ca Fix a warning. 2016-11-13 12:02:12 +00:00
James Turner ab1d4e651e Bugfix: avoid bogus download size on start
Missed a default init of the HTTP repo download content size, so until
the request response header was received, this could report a very
large value.
2016-11-07 15:49:07 +01:00
James Turner 5cd250e452 Packages: notify delegate of uninstalls. 2016-11-06 21:58:01 +01:00
James Turner 2dcff4bb8e Ensure build include location is used first.
Otherwise PREFIX_PATH headers might be found first, but these could be
from an older SimGear version.
2016-11-06 21:57:30 +01:00
James Turner 604a9ff614 Hopefully fix Win32 linkage. 2016-11-02 22:57:39 +00:00
James Turner a09630bcca Cmake export fixes.
Should hopefully fix importing in FlightGear
2016-11-02 13:59:43 +00:00
James Turner b44c70b3f4 Simplify isnan detection with C++11 library. 2016-10-30 22:49:38 +00:00
James Turner e4cddb100e Drastically simplify compiler.h 2016-10-30 22:49:11 +00:00
James Turner 51e7d95bf2 Require CMake 3.0, enable C++11
Let’s see what this breaks.
2016-10-24 22:52:51 +02:00
James Turner 202571386b Exported package fix.
https://sourceforge.net/p/flightgear/codetickets/1892/
2016-10-20 20:26:51 +01:00
James Turner dd52b6af50 Remove some archaic code. 2016-10-09 11:08:17 +02:00
James Turner 7b2507cb19 Config changes to warn on older tools.
Warn on to-be-deprecated versions of Cmake, Visual Studio and GCC
2016-09-28 17:20:51 -05:00
James Turner 2e19aaaff9 Remove multi-arch workaround in CMake
Since we now require 2.8.11, we can rely on this bug being fixed.
2016-09-27 20:43:03 -05:00
James Turner 6854598b79 Initial pieces for full OBJ support.
Needs testing by aircraft developers, this is just the first piece.
2016-09-27 20:41:31 -05:00
James Turner 87590cafb2 Fix terrasync behaviour when net is down. 2016-09-07 22:49:03 +01:00
James Turner 9b997ea1f7 Only reopen the streams if AllocConsole succeeds.
Avoid a crash with FGRun when OSG tries to use the console.
2016-09-02 00:05:13 +01:00
James Turner d7d59b08a2 Copy-from-install support in TerraSync
Allows repositories to be initialised based on data in the install.
This avoids duplicate downloading of the Model and Airport data,
and the starting scenery.

Requires a corresponding FlightGear change to be functional.
2016-08-18 16:21:31 +01:00
James Turner 6b82b78c7c Warn when OSG is not in UTF-8 mode.
This will become an error in the near future.
2016-08-15 22:38:00 +01:00
James Turner 8201301064 Improve Windows linkage.
When using a patched OSG, avoid /FORCE:MULTIPLE work-around.
2016-08-15 22:38:00 +01:00
James Turner 899778b354 Fix inverted logic in any-bindings test. 2016-08-08 16:59:06 +01:00
James Turner a31d1342d5 Simplify Aeonwave/OpenAL logic in Cmake slightly 2016-08-06 14:40:14 +01:00
James Turner 5ea01039f9 Improve pick-callback enabled testing. 2016-07-31 22:21:03 +01:00
James Turner 8b8dbeb00d Quiet a log message 2016-07-31 22:21:03 +01:00
James Turner 93226fc500 Change location used for path tests
Jenkins seems to dislike non-Latin-1 characters inside the build
tree on Linux, so use a location inside /tmp instead.
2016-07-15 17:57:32 +01:00
James Turner 31ba9dfa70 Further SGPath API usage cleanups. 2016-07-15 16:33:52 +01:00
James Turner 19df18fefb Use wide-string APIs on Windows.
SGPath and simgear::Dir use ‘w’ versions of POSIX APIs on Windows,
and convert UTF-8 SGPath to wide-strings as part of this.

Includes improved unit-tests for this code, with some very basic
tests of creating and iterating files with Unicode characters in
their names.

No user-visible changes should result from this, on any platform; in
particular wide-string support is still incomplete so FlightGear will
not yet work with arbitrary Unicode paths on Windows.
2016-07-15 09:50:44 +01:00
James Turner a5a4bf6d41 Another HLA/SGPath fix 2016-07-04 09:31:34 +01:00
James Turner 9812315d96 realpath returns a path, not a string. 2016-07-04 09:04:46 +01:00
James Turner c40044feeb Fix HLAFederate for readXML API change 2016-07-04 07:20:23 +01:00
James Turner a636da6959 SGPath in easyXML API 2016-07-03 23:41:07 +01:00
James Turner ca84d2046a Fix sg_gzofstream path type (now SGPath) 2016-07-03 23:05:42 +01:00
James Turner c037a0e461 Windows string conversion for SGPath 2016-07-03 22:56:04 +01:00
James Turner cf18d4eaaf SGPath can convert to std::wstring 2016-07-02 09:34:27 +01:00
James Turner 32735428bb More SGPath APIs 2016-07-01 17:14:34 +01:00
James Turner b862cf7e54 Fix repository test. 2016-07-01 09:02:52 +01:00
James Turner f21eac8473 Building with clean SGPath API 2016-06-30 16:17:52 +01:00
James Turner 38c8931950 Fix debug runtime assert 2016-06-29 16:26:42 +01:00
James Turner cfe1c0933f Further SG stream APIs 2016-06-27 12:29:23 -05:00
James Turner a3b3280123 iostream overloads taking an SGPath 2016-06-25 16:30:24 +01:00
James Turner 8cfe5a2e08 Native SGPath API on SGInterpTable
- string-based version will be removed in the future.
2016-06-23 15:21:26 +01:00
James Turner bd896096cc Changing SGPath APIs, using SGPath in more places.
Change most places we control (i.e not helper libs) to use SGPath
to represent a path, instead of using std::string. Extend SGPath
API to explicitly expose the path in either UTF-8 or the
system 8-bit encoding.
2016-06-22 17:15:32 +01:00
James Turner 855ff5a8b0 Fix Linux compilation of untar.hxx 2016-06-16 04:46:37 -05:00
James Turner e695505e62 Tests for un-tar code. 2016-06-15 22:27:01 +01:00
James Turner f824cf85a4 Fix Untar namespacing. 2016-06-14 15:13:58 +01:00
James Turner fb8b60b6fe Export untar header
Needed for scenery installation helper.
2016-06-14 15:12:20 +01:00
James Turner 516d76d41b VS215 tweaks, warning fixes 2016-06-09 20:38:01 +01:00
James Turner daa10503e6 Fixes to Windows console interaction.
Thanks To Jasin Colegrove for helping me understand the issues here!
2016-06-09 15:11:44 +01:00
James Turner c762dbe864 Fix dependency on ‘version’ file. 2016-06-09 11:03:35 +01:00
James Turner 37c551bae7 Fix for HTTP/curl waiting on update
This improves responsiveness of TerraSync with small files and general
throughout dramatically.
2016-06-08 15:43:59 +01:00
James Turner 0ccf3e1629 Threadsafe terrasync state updates/reading. 2016-06-08 15:27:47 +01:00
James Turner 5ba9004853 More repository test tweaks for Jenkins. 2016-06-07 11:24:01 +01:00
James Turner cb80af0ebe Improving channel lifetime in HTTP-based tests.
Previously, closed channels were not cleaned up, which looks to be
the caused of the test failures on Jenkins.
2016-06-06 17:26:50 +01:00
James Turner 1492de4391 Fix a leak / potential crash 2016-06-06 11:36:47 +01:00
James Turner fad905e7e0 Increase test timeout value.
- investigating failing tests on Jenkins
2016-06-03 15:26:48 +01:00
James Turner fb1b1b9c5e Fix uninitialized var 2016-06-03 08:44:25 -05:00
James Turner b7b304ecfb Fix a warning with GCC 2016-06-03 08:40:55 -05:00
James Turner 8690e4617f CMake tweaks for MSVC detection 2016-06-03 12:19:21 +01:00
James Turner a6bed69d19 Fix user-after-free in HTTP repo code 2016-06-02 23:53:15 +01:00
James Turner 100e327684 More permissive catalog version checks
- support wildcard prefixes on FlightGear versions
- drop catalog version equality check
2016-06-01 22:46:17 +01:00
James Turner 729c9e3faa More VS2015 fixes 2016-06-01 22:36:36 +01:00
James Turner be4ebddb60 Fix for VS2015 compilation 2016-05-31 13:41:28 +01:00
James Turner 34e804b784 Fix VS2015 compilation 2016-05-31 13:40:32 +01:00
James Turner 75b2ef9372 Fix VS2015 compilation 2016-05-31 13:40:00 +01:00
James Turner 1ae9e74539 More libCurl version guards. 2016-05-30 13:02:25 +01:00
James Turner 980ae3115c Whitespace fixes. 2016-05-30 13:02:24 +01:00
James Turner 5ca9a06273 FreeBSD fixes from Ganael LAPLANCHE 2016-05-30 13:02:24 +01:00
James Turner 1b0289b11f HTTP: Always use absolute paths for hashes
Ensure we only compute / retrieve hashes for absolute paths. Fixes
duplicate paths in repository hash cache.
2016-05-26 23:36:03 +01:00
James Turner 00f4248137 Partial update support for HTTP repos.
Not used yet, we set full-update mode on repositories for the
moment. Pending Terrasync change will enable partial mode.
2016-05-26 23:35:11 +01:00
James Turner 8211f1c482 Allow updating a Catalog URL explicitly.
Needed for fallback Catalog URL support.
2016-05-26 17:38:02 +01:00
James Turner 43ebde9914 Expose pending count from terrasync
Total and expose HTTP pending download value as a new
property under terrasync-root.
2016-05-26 17:38:02 +01:00
James Turner 7d59dd977f AbstractRepository interface removed. 2016-05-26 17:38:02 +01:00
James Turner 3e2f37418a Remove SVN sync code. 2016-05-26 17:38:02 +01:00
James Turner 9d2df12ab8 Remove old terraysnc backend methods.
Only in-process HTTP access is supported now, SVN and rsync
and removed. This is to allow changes for better use of the
HTTP API.
2016-05-26 17:38:02 +01:00
James Turner 49bd96c55d Guard usage of CURLMOPT_MAX_TOTAL_CONNECTIONS
Check the Curl patch version to avoid breaking on older
sustems.
2016-05-25 20:08:40 +01:00