pythonology
6518148b50
pclass: Rename Type::is_byte_based -> Type::is_byte_aligned
...
Also introduced the Type::cast convenience method. This is primarily to
fix type casting over in kipy when deserializing XML values. This
was necessary since properties in kipy are not type-aware, and as such
couldn't determine if the value was actually a string, or meant to
be casted to something else.
2019-07-04 00:15:41 -04:00
pythonology
5a0ec6f2d7
pclass: Introduce the PUBLIC property flag, along with the WRITE_PUBLIC_ONLY serializer flag
...
Also fixed issues with serializer tests.
2019-06-27 19:42:18 -04:00
pythonology
6a89e22a29
serialization: Fix incorrect byte alignment when...
...
...dynamic properties contain object pointers that end with bit-based
properties.
2019-06-15 23:12:04 -04:00
pythonology
40d088efe3
serialization: Fix inconsistencies in binary serialization
...
- Fixed incorrect byte alignment following bit-based types.
- Boolean types are now serialized as 1 bit.
- write_to/read_from methods now take an is_file argument.
Types such as enums, and strings change their serialization format depending on if they're in file mode or not.
- Enums now serialize the element name in file mode, and element value otherwise.
2019-06-02 22:38:29 -04:00
Joshua Scott
69189e0fba
serialization: Add FileSerializer and XmlSerializer
2019-01-07 22:49:12 +00:00
Joshua Scott
4833f7fb76
etc: Refactoring, documentation, and more tests
2019-01-01 20:54:57 +00:00
Joshua Scott
bab80d20c7
pclass: Cleanup VectorProperty and fix build errors
2018-12-21 01:20:52 +00:00
Joshua Scott
2dad313885
pclass: Add value_caster specialization for json to bit integer
2018-12-20 15:45:52 +00:00
Joshua Scott
b5559834ac
etc: Combine IProperty with IDynamicProperty, and cleanup StaticProperty
2018-12-20 15:39:31 +00:00
Joshua Scott
f3aa42578d
serialization: Implement JsonSerializer loading functionality
2018-12-18 21:35:59 +00:00
Joshua Scott
f9ab6560d9
pclass: Fix CI build errors + small change to value_caster
2018-12-15 22:03:08 +00:00
Joshua Scott
c512185115
pclass: Second attempt to fix BitInteger casters on CI
2018-12-15 17:11:16 +00:00
Joshua Scott
8c70a249d8
pclass: Possible fix for BitInteger casters not building on CI
2018-12-15 17:07:33 +00:00
Joshua Scott
25355c22bc
pclass: Fix issue with Value compiling on CI
2018-12-15 16:56:09 +00:00
Joshua Scott
1a3dfbea48
serialization: Implement saving via JsonSerializer
2018-12-15 16:52:36 +00:00
Joshua Scott
def6549bcb
pclass: Implement casters between primitives and json object
2018-12-15 16:51:45 +00:00
Joshua Scott
20f74ee004
serialization: Rename SerializerBinary to BinarySerializer
2018-12-14 15:27:06 +00:00
Joshua Scott
187de3feba
util: Fix missing include build error on CI for std::unique_ptr<T>
2018-12-14 15:07:17 +00:00
Joshua Scott
a2c577ce47
etc: Start using smart pointers
2018-12-13 22:12:04 +00:00
Joshua Scott
1955e72bb9
pclass: Fix a potential future problem
2018-12-13 00:57:56 +00:00
Joshua Scott
c7829e5235
etc: Fix build and test errors on CI
2018-12-11 01:19:30 +00:00
Joshua Scott
377136ef0d
pclass: Attempt to fix macro issue on CI
2018-12-10 21:35:51 +00:00
Joshua Scott
c61a723174
etc: Make Type::read_from return a Value instead of reading into one
2018-12-10 21:26:34 +00:00
Joshua Scott
28eee3699c
pclass: Fix missing include compile error on CI
2018-12-09 23:31:55 +00:00
Joshua Scott
62fc1e13ef
util: Fix missing noexcept compile error on CI
2018-12-09 23:28:40 +00:00
Joshua Scott
4872d1a2a4
pclass: Improve Value casting and implement basic enum types
2018-12-09 23:21:22 +00:00
Joshua Scott
595b6167c0
pclass: Fix CI build errors
2018-12-05 00:45:01 +00:00
Joshua Scott
38f69d722c
pclass: Implement Value casting
2018-12-04 22:24:26 +00:00
Joshua Scott
6a213c18d4
etc: Change naming convention for base classes (prefix with "I")
2018-12-01 17:16:40 +00:00
Joshua Scott
34bc3d30bc
etc: Move the responsibility of type checking to properties
2018-11-27 15:36:57 +00:00
Joshua Scott
3a22c992b5
etc: Implement deserialization and object copying
...
Also make BitStream tests use REQUIRE instead of SUCCESS and FAIL for better output.
2018-11-27 11:51:56 +00:00
Joshua Scott
4e3b3de391
util: Implement a common interface for bit streams
2018-11-18 17:10:21 +00:00
Joshua Scott
050a63152b
util: Attempt to fix error with FlagsEnum
2018-11-16 15:32:17 +00:00
Joshua Scott
abbaf7ce58
pclass: Fix build errors on CI
2018-11-16 15:18:32 +00:00
Joshua Scott
d6442068ed
serialization: Start implementing SerializerBinary
...
This current implementation can fully save objects, but cannot currently load them.
2018-11-16 15:04:00 +00:00
Joshua Scott
48aba1f0df
pclass: Implement string primitives and class types
2018-11-16 15:02:43 +00:00
Joshua Scott
25d371b49f
util: Forgot to push header file for previous commit
2018-11-16 14:53:46 +00:00
Joshua Scott
fd84614450
pclass: Implement floating point primitives
2018-10-26 18:40:11 +01:00
Joshua Scott
1fbfaee8cb
pclass: Define bit integers as primitive types on TypeSystem
2018-10-26 15:03:18 +01:00
Joshua Scott
a6e7ba11df
pclass: Fix build errors on CI
2018-10-26 14:53:40 +01:00
Joshua Scott
8f5d31d071
pclass: Implement BitInteger and other bit utilities
2018-10-26 14:42:00 +01:00
Joshua Scott
73608ce23c
pclass: Implement primitive types
2018-10-26 01:00:13 +01:00
Joshua Scott
8fbb9ba906
pclass: Start implementing TypeSystem
2018-10-25 11:39:16 +01:00
Joshua Scott
c9f99e1f1a
util: Add a postfix increment operator to BitStream::stream_pos
2018-10-20 20:08:17 +01:00
Joshua Scott
3f5450c64e
util: Fix buffer expansion and reformat unit tests
2018-10-20 18:17:35 +01:00
Joshua Scott
44cb15d4d2
etc: Fix build problems on CI
2018-10-20 01:21:06 +01:00
Joshua Scott
6249d6ee32
util: Add BitStream class + tests
2018-10-20 00:09:50 +01:00
Joshua Scott
9c6a756f68
Merge branch 'master' into messaging
2018-04-22 17:25:22 +01:00
Joshua Scott
6d02bfe06a
protocol: Give exceptions their own error codes
2018-04-22 17:11:12 +01:00
Joshua Scott
a00f9b5003
net: Pass a pointer rather than a reference in DMLSession::on_message
2018-04-20 18:57:05 +01:00