Reinder Feenstra
52bf436769
Limit decoder address range by selected protocol
...
see #72
2023-06-27 00:39:04 +02:00
Reinder Feenstra
02c674e061
property: enum type now checks if value is in values attribute
2023-06-23 23:12:30 +02:00
Reinder Feenstra
ab81ad73b3
#72 Decoder.protocol is now limited by DecoderController
2023-06-23 00:19:35 +02:00
Reinder Feenstra
5d01de9b32
Replace ArrayAttribute by more versatile SpanAttribute
2023-06-21 20:07:15 +02:00
Filippo Gentile
7b411163f7
method.tpp fix copyright
2023-06-18 13:23:34 +02:00
Filippo Gentile
4c58c9d829
server: split method.hpp implementation
...
- Added method.tpp file
- Include it where needed
- Use CREATE_DEF when needed
2023-06-18 13:23:31 +02:00
Filippo Gentile
781f5b20e3
ObjectVectorProperty: add reverseInternal()
...
New function which reverses the items order
2023-06-18 13:23:25 +02:00
Filippo Gentile
9945f23155
ObjectList: use static_assert
2023-06-18 13:23:24 +02:00
Reinder Feenstra
43a8713047
bugfix: updateRegion call missed bounds checking
2023-05-27 23:20:06 +02:00
Reinder Feenstra
dfec2a5f23
added StateObject base class
...
Base class for objects that only store state data
2023-05-25 23:15:19 +02:00
Reinder Feenstra
1c0066ab6f
objectvectorproperty: moved methods to tpp, to make forward declaration possible
2023-05-06 17:21:43 +02:00
Reinder Feenstra
e0b3eba685
objectvectorproperty: added reverse iterators
2023-05-06 17:21:43 +02:00
Reinder Feenstra
46072d8198
interfacelist: re-implemented status column
2023-04-23 16:57:06 +02:00
Reinder Feenstra
e6f3c69462
object: don't fire propertyChanged while dying
2023-04-23 16:42:18 +02:00
Reinder Feenstra
246b27c434
moved ObjectProperty<> implementation to seperate file
...
world.hpp now uses forward decl. for many classes, this reduces built time!
see #43
2023-03-30 15:09:11 +02:00
Reinder Feenstra
ffcc9bd877
add support for StoreState save/load object vector properties
2023-03-29 23:49:54 +02:00
Reinder Feenstra
f3d7bee1ef
objectvectorproperty: added clearInternal()
2023-03-28 23:15:30 +02:00
Reinder Feenstra
cf27823cc9
objectproperty: added setValueInternal(std::nullptr_t) overload
...
saves constructing an empty std::shared_ptr
2023-03-27 22:39:10 +02:00
Reinder Feenstra
77851bbbc3
rail vehicle: added power property
...
for future physics simulation
2023-03-20 23:01:59 +01:00
Reinder Feenstra
6e03b67a08
added volume unit and property
2023-03-06 23:35:39 +01:00
Reinder Feenstra
b0aa99a8de
objectlist: moved property changed to virtual method
...
so sub classes can do something with it if required
2023-03-06 00:20:50 +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
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
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
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
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
896bd2a13f
bugfix: added keepalive, to make sure object isn't deleted during destroy() call
2023-01-06 00:50:56 +01:00
Reinder Feenstra
1ef5e847b5
bugfix: propertyChanged signals were not disconnected
2023-01-06 00:11:46 +01:00
Reinder Feenstra
8659fc1d52
bugfix: vector iterator was used while modifing the vector
2022-12-25 23:42:08 +01:00
Reinder Feenstra
34abfafd21
added special serial device property and serial port list
2022-12-19 23:55:24 +01:00
Reinder Feenstra
3e1121ee04
added throttle objects to aquire/release decoder control
2022-12-04 23:16:08 +01:00
Reinder Feenstra
a22c42dc71
eventloop now uses boost::asio::io_context
...
make it easier to use timers etc.
2022-11-06 23:53:32 +01:00
Reinder Feenstra
8e0de0e410
bugfix: added missing overload (could cause UB)
2022-08-17 00:11:10 +02:00
Reinder Feenstra
202fa7e929
objectlist: replaced static_assert by assert, to allow forward declaration of T
2022-08-07 18:02:56 +02:00
Reinder Feenstra
0bf58424d6
cleanup
2022-06-01 17:51:31 +02:00
Reinder Feenstra
b774642610
method: call() can now handle any number of args
...
implementated using fold expression and std::index_sequence
2022-05-29 23:37:30 +02:00
Reinder Feenstra
f990e79afe
method: moved indexing into getArgument template
2022-05-29 19:46:19 +02:00
Reinder Feenstra
af7834af8d
cleanup
2022-05-29 19:43:44 +02:00
Reinder Feenstra
bc7025d9eb
bugfix: AbstractEvent didn't disconnect handlers
...
causing use after free
2022-05-29 00:20:19 +02:00
Reinder Feenstra
49c7cd7ada
fix: added missing include due to df1d9d33711c6dbe5c6f0224d1e00c67299e9bc7
2022-05-26 10:01:26 +02:00
Reinder Feenstra
37ddc710fd
added contains() overload for easier use with set properties
2022-05-24 00:03:55 +02:00
Reinder Feenstra
cdc5dab129
moved server to seperate object and thread, eventloop now runs in main thread
2022-05-22 11:33:25 +02:00
Reinder Feenstra
18a5a8a1dd
added network support for object events
2022-05-03 23:14:05 +02:00
Reinder Feenstra
01b3379a76
added assert to check for illegal use
2022-05-02 08:59:04 +02:00
Reinder Feenstra
781129bc1d
signal: replaced nextAspect by setAspect (aspect is now readonly)
2022-04-12 21:21:28 +02:00
Reinder Feenstra
6d677f2300
board: move tile now supports rotating
2022-04-06 23:05:34 +02:00
Reinder Feenstra
f159668406
Added new typeinfo for method and event
2022-03-22 23:39:59 +01:00