Roman Isaikin
1560252d1a
Add peek(), readArrayHeader(), add length return to readExtHeader().
2019-07-11 14:35:24 +03:00
Roman Isaikin
7e1ca5b414
Fix CI build.
2019-06-30 10:14:39 +03:00
Roman Isaikin
1733bc7847
Fix CI build.
2019-06-30 09:15:59 +03:00
Roman Isaikin
024d901605
Fix CI build.
2019-06-30 09:12:01 +03:00
Roman Isaikin
a9e429a30f
Pack QMetaType::Nullptr QVariant's as nil.
2019-06-30 09:03:04 +03:00
Roman Isaikin
efc99ef590
Merge pull request #36 from KonstantinRitt/mr/let_me_see_you_stripped
...
Make it possible to disable Qt type pack/unpack handlers at build time
2019-05-04 10:16:13 +03:00
Roman Isaikin
8a4f180c00
Merge pull request #37 from antis81/fix/data_types
...
Fixes type and type cast compiler warnings.
2019-05-04 10:14:38 +03:00
Nils Fenner
3cafa3b006
fix type casts in msgpack
2019-02-20 14:02:05 +01:00
Nils Fenner
166fd5acad
interim fix for the "const QByteArray&" casts
...
Did not dive much into the address logic here, but I think we would
be better of with index counting instead of addresses.
2019-02-20 14:01:32 +01:00
Nils Fenner
538f28dc24
fix pointer comparison warning
2019-02-20 13:57:13 +01:00
Nils Fenner
fc8f9d7c66
fix msgpack private type casts
2019-02-20 13:51:15 +01:00
Nils Fenner
e1d8226780
rename endianhelper.h include guard
...
Also fixes "reserved macro" warning.
2019-02-20 13:47:37 +01:00
Nils Fenner
1591ebddd4
fix type casts in endian helper macros
2019-02-20 13:46:18 +01:00
Konstantin Ritt
0b8282d592
Make it possible to disable Qt type pack handlers at build time
...
usable with either
qmake DEFINES+=MSGPACK_NO_PACKTYPES
or
DEFINES += MSGPACK_STATIC MSGPACK_NO_PACKTYPES
include(path/to/qmsgpack/qmsgpack.pri)
2018-12-02 14:25:14 +03:00
Konstantin Ritt
34afb5aba3
Refactor MsgPack::registerType() a little bit
...
move MsgPackPrivate::register_qtype() impl to MsgPack::registerType();
warn and return false when the requested type is not known to qmsgpack
2018-12-02 14:25:14 +03:00
Roman Isaikin
e3819fc5b3
Fix Travis build.
2018-12-02 00:33:11 +03:00
Roman Isaikin
639a96428e
Update CMakeLists.txt
2018-12-02 00:31:33 +03:00
Roman Isaikin
f98072b753
Fix Travis build, again.
2018-12-02 00:24:44 +03:00
Roman Isaikin
11888b97e7
Merge pull request #34 from KonstantinRitt/mr/symbols_visibility
...
Improve symbols visibility control
2018-12-02 00:19:49 +03:00
Roman Isaikin
4bc12f75e5
Merge pull request #35 from KonstantinRitt/mr/pri
...
Modernize qmake project files and fix some build issues
2018-12-02 00:19:14 +03:00
Konstantin Ritt
d9f37afe2e
Build and run tests with qmake
...
as of now, running tests is as simple as just typing
qmake && make check
2018-11-20 21:21:07 +03:00
Konstantin Ritt
6455058b4f
Do not override user configs and flags
...
the default ones from Qt should be fine
2018-11-20 21:21:05 +03:00
Konstantin Ritt
172c71b027
Consolidate target lib name, path and version across platforms and configs
2018-11-20 21:19:30 +03:00
Konstantin Ritt
b15b5efdb4
Re-use qmsgpack.pri in library builds
...
Deduplicates the build rules and ensures no differences in
source-in and library build rules
2018-11-20 21:14:04 +03:00
Konstantin Ritt
ca968dbb4e
Make the QtGui module an optional dependency
...
detect and link with it, if found
2018-11-20 21:13:55 +03:00
Konstantin Ritt
a579f324d7
Install missing stream header
2018-11-20 20:29:10 +03:00
Konstantin Ritt
2c7a329c48
Improve symbols visibility control
...
visibility 'hidden' should be normally preferred for static builds,
which is also true for source-in builds as well
2018-11-20 15:12:43 +03:00
Roman Isaikin
0cd5fd2d68
Comment out paths to Qt installation.
2018-10-26 22:49:01 +03:00
Roman Isaikin
a672db294a
Update .travis.yml
2018-10-26 22:44:29 +03:00
Roman Isaikin
c91993750d
Remove broken cmake package from TravisCI.
2018-10-26 22:28:54 +03:00
Roman Isaikin
47128d5771
Update to TravisCI Qt5.9.
2018-10-26 22:25:22 +03:00
Roman Isaikin
4f1c4d3d80
Merge pull request #30 from KonstantinRitt/fixes/build
...
build fixes
2018-03-03 22:27:20 +03:00
Konstantin Ritt
5ca284052c
Fix build when including qmsgpack.pri from another project
...
presence of .qmake.conf file in an included sub-project
overrides the root project thus breaking the build
2018-03-02 16:01:00 +03:00
Konstantin Ritt
a412eedf24
Fix build with QT_NO_CAST_FROM_ASCII
2018-03-02 16:01:00 +03:00
Roman Isaikin
b7284725e8
Fix bugs in msgpackstream.cpp, add PVS Studio headers and how to, add stream test to Qt project.
v0.9.9
2017-07-10 16:02:38 +03:00
Roman Isaikin
aa613f658f
Merge pull request #26 from arturo182/master
...
Fix location module detection
2017-03-02 11:52:33 +03:00
Roman Isaikin
e64de7eac3
Merge pull request #27 from mtstickney/stream_partial_writes
...
Stream partial writes
2017-03-02 11:52:18 +03:00
Matthew Stickney
ca56d9e362
Add an option to flush writes.
...
There is a bug with QLocalSockets on Windows where data will be silently
dropped if two consecutive writes are performed without flushing and the
remote end hasn't read all the data between the two (see
https://bugreports.qt.io/browse/QTBUG-18385 ). Since qmsgpack performs
several write operations as part of a single stream output, it must allow
callers to specify whether to flush writes in order to work around this
bug.
2017-02-27 17:32:49 -05:00
arturo182
22750cf88b
Fix location module detection
2017-02-20 10:20:18 +01:00
Matthew Stickney
067c72767a
Handle partial writes correctly.
...
QIODevice::write() can theoretically write any number of bytes less than
the amount that was requested. If the result was >= 0, we haven't hit EOF
or an actual error yet and should continue attempting to write. Note that
the docs[1] for QIODevice::writeData() specify that writeData should write
all available data before returning or else QDataStream won't work, but
that's no guarantee that all implementors of QIODevice will actually do so.
Also note that this does not call QIODevice::waitForBytesWritten after
writing, which would negate the benefits of buffering for buffered devices.
As a side-effect, that means this will spin if the writes don't complete.
[1] http://doc.qt.io/qt-5/qiodevice.html#writeData
2017-02-16 16:24:13 -05:00
Matthew Stickney
bec0d71cc1
Initialize the stream status to OK in the QIODevice constructor.
...
Without this, the status is an an uninitialize state, which causes the
precondition checks to fail on writes.
2017-02-16 16:24:04 -05:00
Roman Isaikin
9d017281fe
Update .travis.yml
2017-02-16 23:06:59 +03:00
Roman Isaikin
51932532d2
Merge pull request #24 from arturo182/master
...
Improvement and a fix
2017-02-16 23:02:49 +03:00
Roman Isaikin
bf12914846
Merge pull request #23 from mtstickney/stream_partial_reads
...
Handle partial reads correctly.
2017-02-16 22:59:24 +03:00
arturo182
6e753f0669
Fix erroneous comparison instead of assignment
2017-02-15 10:20:25 +01:00
arturo182
2d8af48459
Make the qtlocation module an optional dependency
2017-02-15 10:13:28 +01:00
Matthew Stickney
4ff4ba8448
Handle partial reads correctly.
...
QIODevice::read() can read any number of bytes less than the amount
requested if there wasn't that much data available. If the result is >= 0,
we haven't actually hit EOF yet and should continue trying to read data.
Since QIODevice::read() doesn't block, we use QIODevice::waitForReadyRead()
to avoid spinning waiting for input to arrive.
If we encounter EOF or another error during a read, we set the ReadPastEnd
status and walk away as normal.
2017-02-08 18:46:31 -05:00
Roman Isaikin
4691007c84
Merge pull request #22 from enochc/master
...
changed QMetaType::Type T to int to allow registration of custom QMet…
2016-05-31 11:44:56 +03:00
Enoch Carter
35b0e9108c
changed QMetaType::Type T to int to allow registration of custom QMetaTypes
2016-05-26 08:51:54 -06:00
Roman Isaikin
098655e14e
Update README.md
2016-05-03 10:31:39 +03:00