Commit Graph

134 Commits

Author SHA1 Message Date
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
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
Roman Isaikin 363e20d2c6 Merge pull request #21 from romixlab/static-build
Static build, tests for QMap, missing export & includes for Windows build
2016-04-26 23:45:30 +03:00
Roman Isaikin b3ee428ee6 Merge pull request #19 from pixraider/master
Add test for QMap to tests/unpack
2016-04-26 23:13:02 +03:00
Roman Isaikin 565224e797 Update README.md 2016-04-26 22:49:13 +03:00
Roman Isaikin 7cbc3c3138 Fix 64bit integers pack, issue #20. 2016-04-26 22:26:46 +03:00
pixraider 4354e25e6c Merge remote-tracking branch 'upstream/static-build' 2016-04-22 15:03:45 +03:00
pixraider 5278792441 Add test for QMap;
!BUG pack-unpack some 64-bit integers;
2016-04-21 20:59:26 +03:00
Roman Isaikin 49b6c10986 Merge branch 'master' into static-build 2016-04-09 22:37:40 +03:00
Roman Isaikin 66c8a7cf33 Merge remote-tracking branch 'pixraider-remote/master' into static-build 2016-04-09 22:30:20 +03:00
Roman Isaikin 46f6184f22 Merge pull request #18 from lugia-kun/master
MSVC build fix
2016-04-09 22:06:13 +03:00
Роман Исайкин 6e023af9e0 Fix MsgPackStream export. 2016-04-06 11:33:23 +03:00
Hajime Yoshimori af0e130c58 Merge branch 'master' of https://github.com/romixlab/qmsgpack 2016-01-09 21:16:48 +09:00
Hajime Yoshimori 530ff27c0b Remove invalid symlink 2016-01-09 21:15:37 +09:00
Roman Isaikin b23c76ddf0 Nil packing and unpacking fix 2015-12-31 10:36:25 +03:00
Roman Isaikin 349c5051d6 Disabled Qt4 Travis build. 2015-12-03 23:31:09 +03:00
Roman Isaikin ecd9111c07 Little doc fix. 2015-12-03 23:28:04 +03:00
pixraider 17e7b9f6f9 ! MAKE_LIB define for proper resolve Q_DECL_EXPORT in win32 2015-11-28 20:39:09 +03:00
pixraider a0a1956aec + qmsgpack.pri for static linking to any project 2015-11-27 21:52:10 +03:00
Hajime Yoshimori 527fb32676 Fix build under MSVC18.0 (2012)
- stdint.h (which defines uint16_t and uint32_t) is bundled with the
  versions starting from MSVC14.0 (2010)
2015-10-05 10:42:03 +09:00
Isaikin Roman f000efd79d Merge branch 'master' of https://github.com/jiangcaiyang/qmsgpack-patched 2015-09-12 17:09:12 +03:00
Isaikin Roman 65598cffd7 Another Qt4 build fix. 2015-09-12 17:05:08 +03:00
Isaikin Roman 02b8cb0260 Qt4 build fix. 2015-09-12 16:59:01 +03:00
Isaikin Roman 5761f66683 Qt types stream operators, documentation updated, custom types support improved, bug fixes and new tests. 2015-09-12 16:48:21 +03:00
jiangcaiyang 45c485476a To work with Windows Phone
Changed some code to cater to MSVC compiler, it potentially support
Windows Runtime ( i.e. Windows Metro Applications ).
2015-09-10 10:18:10 +08:00
Isaikin Roman 4da435044d MsgPackStream missing dev() added. Some little improvements. 2015-08-28 21:12:09 +03:00
Roman Isaikin 5be342038a .pro make install now working. 2015-08-07 22:56:51 +03:00