Reinder Feenstra
de34b0553c
trainlist: added lob and weigth columns
2023-03-06 00:17:42 +01:00
Reinder Feenstra
2eed611da9
fix: object is empty after move
2023-03-06 00:05:35 +01:00
Reinder Feenstra
27125314a1
fix: object list didn't always register property changed on load
2023-03-05 23:05:07 +01:00
Reinder Feenstra
0c4094b365
implemented add/remove vehicles to a train, see #25
2023-03-05 23:03:54 +01:00
Reinder Feenstra
471db84655
removed restriction to only create/delete trains in edit mode, see #25
2023-03-03 00:03:12 +01:00
Reinder Feenstra
a424213779
fix: updated tests for previous change
2023-02-25 23:40:19 +01:00
Reinder Feenstra
63a5b8c7af
rename list add/remove to create/delete
...
add = add existing item
remove = remove item, but don't destroy it
2023-02-25 23:15:38 +01:00
Reinder Feenstra
4f5e4f2992
fix: set socket options from network thread, see #33
2023-02-21 23:46:57 +01:00
Reinder Feenstra
6e3d2e68fc
added version property to Traintastic object
2023-02-19 12:23:34 +01:00
Reinder Feenstra
f7fd18ea1a
Merge branch 'master' of github.com:traintastic/traintastic
2023-02-18 23:14:40 +01:00
Reinder Feenstra
5a407e5ba1
fix: socket shutdown and close wasn't called by the io context thread
...
see #33
2023-02-18 23:14:37 +01:00
Filippo Gentile
2d035b6bac
logging: Fix MinGW broken std::put_time()
...
Workaround missing specifier support in MinGW 12.2.0 by using old pre-C+
+11 specifiers.
2023-02-15 21:32:10 +01:00
Reinder Feenstra
7397cb9e16
Merge branch 'master' of github.com:traintastic/traintastic
2023-02-10 20:36:50 +01:00
Reinder Feenstra
ac9505f1f7
fix: disconnect() not called by the eventloop thread, see #34
2023-02-10 20:36:47 +01:00
Reinder Feenstra
312950c28c
Merge pull request #31 from gfgit/work/object_list_removed
...
model: HACK to let client refresh after object is removed
2023-02-06 23:23:44 +01:00
Filippo Gentile
54c2dc7c72
model: HACK to let client refresh after object is removed
...
When an object is removed from a list, Clients need to clear cached
values and reload the model.
This could be more efficient but it will be adressed in a separate pull
request.
2023-02-06 23:17:12 +01:00
Reinder Feenstra
ea3fbd8022
bugfix: blocksAhead may only be decremented on block tile
2023-02-06 19:59:14 +01:00
Reinder Feenstra
86c4685b69
ObjectProperty: added getObject() to request object without knowing the id on the client
...
see #22
2023-01-30 23:33:25 +01:00
Reinder Feenstra
1d250f28f8
added object id validation, see #22
...
an id may only contain a-z 0-9 _ and must start with a-z
all chars must be lowercase
2023-01-25 23:25:13 +01:00
Reinder Feenstra
9ee10e8aff
Merge pull request #18 from gfgit/work/gcc_warnings
...
Fix gcc warnings
2023-01-22 21:56:07 +01:00
Filippo Gentile
536c82f739
server: remove unix specific signal handler header
2023-01-22 01:22:10 +01:00
Filippo Gentile
4277285591
Fix GCC warning -Werror=uninitialized
...
std::array has no explicit constructors but GCC 12.2.0 doesn't like it
so add brace initialization.
2023-01-22 01:19:32 +01:00
Reinder Feenstra
6ad267f333
Merge pull request #13 from gfgit/work/signal_handler
...
server: handle SIGINT, SIGTERM, SIGBREAK (all platforms)
2023-01-21 22:23:59 +01:00
Reinder Feenstra
d5ace6999b
some changes for code style
2023-01-21 22:22:17 +01:00
Reinder Feenstra
7ee8a6aad7
corrected spelling, some changes for code style
2023-01-21 22:20:17 +01:00
Filippo Gentile
280d3ae2c4
server: log signal handler
...
New static function for signal handling
2023-01-21 21:35:30 +01:00
Filippo Gentile
45fd09e071
server: removed Unix specific signal handlers
...
Now it uses Boost.Asio
2023-01-21 21:34:17 +01:00
Reinder Feenstra
e490c656bc
bugfix: Infinite recursion in SignalPath, closes #7
2023-01-20 21:54:36 +01:00
Reinder Feenstra
4f20ec4360
test: disabled some tests for arm64 / macOS
2023-01-20 17:15:27 +01:00
Filippo Gentile
e2b6c149d4
server: handle SIGINT, SIGTERM, SIGBREAK
...
Register signal handlers to shutdown gracefully
2023-01-19 23:31:15 +01:00
Reinder Feenstra
11d407b5af
bugfix: if an interface failed to go online and exception caused the event processing
...
closes #9
2023-01-18 19:48:53 +01:00
Reinder Feenstra
a440d3968d
fix: assigning another interface to an input didn't work
2023-01-18 19:17:42 +01:00
Reinder Feenstra
61b3db241a
bugfix: assert() triggered on invalid data on world close
...
closes #8
2023-01-17 23:43:39 +01:00
Reinder Feenstra
27e14f4bd1
eventloop: threadId writable during tests
...
some test require a working eventloop
2023-01-15 22:50:52 +01:00
Reinder Feenstra
b5c6d37e0c
test: set define TRAINTASTIC_TEST
...
useful for making some stuff available during testing
2023-01-15 22:49:46 +01:00
Reinder Feenstra
bf1cf30cae
test: moved hardware related test to seperate directory
2023-01-15 22:48:45 +01:00
Reinder Feenstra
1839233687
Merge pull request #5 from gfgit/work/diy_input_sim_fix
...
input: fix TraintasticDIY input simulation
2023-01-13 23:11:23 +01:00
Filippo Gentile
794b0a4dcc
input: fix TraintasticDIY input simulation
...
Toggling a disabled input caused crash.
Prevent iterator derefencing when invalid.
Other interfaces, like z21, allow toggling disabled inputs so the
behaviour is still correct.
2023-01-13 23:05:18 +01:00
Reinder Feenstra
37fc7bfcdb
fix: use memcpy, size is always known
...
(MinGW complained)
2023-01-13 00:14:08 +01:00
Reinder Feenstra
b22e011ded
fix: missing include for mingw
2023-01-11 23:55:45 +01:00
Reinder Feenstra
08e4b45268
Merge pull request #3 from gfgit/work/fix_mingw
...
Fix compilation on Windows with MinGW
2023-01-10 23:41:57 +01:00
Reinder Feenstra
db87ed9cc1
fix: m_socket -> m_socketTCP
2023-01-10 08:33:08 +01:00
Reinder Feenstra
e738a162bf
minor optimalizations
2023-01-09 23:01:39 +01:00
Filippo Gentile
8c12a50078
threading: fix MinGW thread name
...
SetThreadDescription() is not currently supported by MinGW compiler.
It was added in Windows 10 so it's relatively new function.
But MinGW comes with a Windows implementation of pthread library.
This means we can just use the same code as for linux which
calls 'pthread_setname_np()' and skip windows specific call.
2023-01-09 21:52:43 +01:00
Filippo Gentile
0bd6148a1e
TrayIcon: fix string literal conversion.
...
The member function menuAddItem() is called passing constant string
literals for "text" argument which is a pointer to non constant string.
MinGW refuses to compile so change the type to constant LPCSTR.
The variable is later passed inside explicit const_cast<LPSTR>(text).
2023-01-09 21:49:51 +01:00
Filippo Gentile
fc8ce2a891
endianess: fix MinGW on Windows
...
MinGW has _byteswap_ushort and the other functions like MSVC but
needs additional <cstdlib> header.
2023-01-09 21:46:31 +01:00
Filippo Gentile
09b9ed3de6
SerialPortListImplWin32: fix includes with MinGW on Windows
...
MinGW needs additional <ntdef.h> header to define PHYSICAL_ADDRESS.
The type is then used inside <ntddser.h>
2023-01-09 21:45:02 +01:00
Filippo Gentile
811536370e
CMake: fix linking with MinGW compiler
...
First commit of a series to fix issues when building with MinGW
Boost.Asio uses Windows Socket library version 2.
MinGW needs explicit linking to ws2_32.dll for socket functions.
Also mswsock.dll is needed for AcceptEx() function.
MinGW can link directly .dll files, without import libraries.
So keep the generation of import library only on MSVC builds.
The path to the library needs adjusmets as it is no longer generated
inside build directory.
2023-01-09 21:41:48 +01:00
Reinder Feenstra
f3e47be740
set MSVC warning level to 4
2023-01-09 17:09:28 +01:00
Reinder Feenstra
ff9b524593
fix: use localtime_s or localtime_r instead of localtime
2023-01-08 23:34:38 +01:00