1
0
mirror of https://github.com/binary-kitchen/doorlockd synced 2024-12-22 10:24:26 +01:00
Commit Graph

168 Commits

Author SHA1 Message Date
Ralf Ramsauer
ab8f33ebb1 Fix JSON Bug
Json::Values do not necessarily need to be JSON objects. This Patch
checks if the JSON::Value is in deed an object.

Reported-by: Markus Dollinger <dolli@ignifax.de>
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-10-27 16:05:09 +01:00
Ralf Ramsauer
c31deb10dc Version: 1.2
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-10-11 19:58:04 +02:00
Ralf Ramsauer
ac0c5f3dba Improved GUI 2015-10-11 19:54:42 +02:00
Ralf Ramsauer
d504b191d5 Small bugfix 2015-10-11 19:38:06 +02:00
Ralf Ramsauer
5c8ca78c99 Cached playback of audio files
doorlock_client now caches wave files in memory for faster playback.
LibAO is used for audio playback and libsndfile for wave file header
parsing.
2015-10-11 19:33:19 +02:00
Ralf Ramsauer
811917b334 Asynchronous Wave playback 2015-10-11 19:15:50 +02:00
Ralf Ramsauer
4865a6bb9f Added new wave class to CMakeLists.txt 2015-10-11 19:07:03 +02:00
Ralf Ramsauer
365bdb755c Added new Class for playing WAVE files from memory
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-10-11 19:06:05 +02:00
Ralf Ramsauer
bb703cb5b5 Defaulted location of LED pictures 2015-10-07 17:44:45 +02:00
Ralf Ramsauer
6634d1fd71 Playing different sounds on different actions
still bloody beta
2015-10-07 17:42:52 +02:00
Ralf Ramsauer
10560644de Added doorlock sounds
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-10-07 17:42:12 +02:00
Ralf Ramsauer
38a8ccadea Improved Clientmessage 2015-10-07 15:54:28 +02:00
Ralf Ramsauer
cba6e337ee Added new define for share-location 2015-10-07 15:44:43 +02:00
Ralf Ramsauer
6af49dcbda Version: 1.1
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-10-06 01:14:40 +02:00
Ralf Ramsauer
9ac1e22af3 Improved GUI 2015-10-06 00:22:35 +02:00
Ralf Ramsauer
99ddc88c6b Improved GUI 2015-10-05 23:59:18 +02:00
Ralf Ramsauer
70a4b3de03 Bugfix & logical change
- Improved doormessage
- Moved isOpen from Doormessage to Logic
2015-10-05 23:30:25 +02:00
Ralf Ramsauer
a113fbae26 Resized images 2015-10-05 22:37:19 +02:00
Ralf Ramsauer
28d08ac40b Added new LED images and removed old templante.png 2015-10-05 22:13:54 +02:00
Ralf Ramsauer
791904b799 Improved GUI 2015-10-05 21:03:09 +02:00
Ralf Ramsauer
8f80d5b39c Better layout for LCD 2015-10-02 20:19:53 +02:00
Ralf Ramsauer
7874dafd3a Improved GUI 2015-10-02 19:39:47 +02:00
Ralf Ramsauer
77b3c82916 removed usings from logger.cpp 2015-10-02 17:27:51 +02:00
Ralf Ramsauer
54f22393a4 Improved Logging
- removed daemon.cpp
- Added additional output logfile to Logger class
2015-10-02 17:25:16 +02:00
Ralf Ramsauer
f504cf4e92 common code style 2015-10-02 16:40:12 +02:00
Ralf Ramsauer
0d92d15432 Added definitions to surpress compiler warnings 2015-10-01 23:07:14 +02:00
Ralf Ramsauer
2b620d37e9 automatic shutdown & reconnection 2015-10-01 22:57:01 +02:00
Ralf Ramsauer
6181412d7b Automatic reconnect 2015-10-01 22:31:10 +02:00
Ralf Ramsauer
b66c82aad8 Added tool for simple command injection 2015-10-01 22:10:35 +02:00
Ralf Ramsauer
49a5b88f6c Big rewrite of several things
- Data type Token changed from uint64_t to std::string
- Added new class "Request" that describes a JSON TCP request
- Classes may now throw Responses for proper error handling
- Removed JSON parsing from Logic
- proper Error handling everywhere
- Many small fixes
- removed unnecessary includes
- removed using namespace std everywhere
2015-10-01 22:09:55 +02:00
Ralf Ramsauer
abf69d70fa Fixed typo 2015-10-01 18:02:25 +02:00
Ralf Ramsauer
c9fa75201f Changed window sizes 2015-09-30 15:36:11 +02:00
Ralf Ramsauer
cde0521d6f Added ui file for MainWindow 2015-09-30 15:26:28 +02:00
Ralf Ramsauer
765e41afd5 Switched to asynchronous asio handling 2015-09-30 15:21:41 +02:00
Ralf Ramsauer
b2244ed9be Fix segfaults 2015-09-30 00:44:06 +02:00
Ralf Ramsauer
1984f6720e bugfix 2015-09-29 15:03:43 +02:00
Ralf Ramsauer
2b2ec56a9b Bugfix 2015-09-29 15:00:36 +02:00
Ralf Ramsauer
b1ea4426a9 Some improvements 2015-09-29 14:55:20 +02:00
Ralf Ramsauer
60ed23486b Improved directory structure
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-29 14:33:53 +02:00
Ralf Ramsauer
4366e117d1 Improved GUI 2015-09-29 02:13:48 +02:00
Ralf Ramsauer
a45fc4ca33 Bugfix: QR code generation was case insensitive
Also changed Qstring back to std::string
2015-09-29 02:13:35 +02:00
Ralf Ramsauer
2ab091679f Removed sending status code as answer to subscription message 2015-09-29 02:12:02 +02:00
Ralf Ramsauer
a3bf378458 Added mainwindow.h to CMakeLists.txt 2015-09-29 02:11:29 +02:00
Ralf Ramsauer
fb9f5f835e Fixed include bug 2015-09-28 17:07:21 +02:00
Ralf Ramsauer
9c7cc532fe Created new MainWindow QT Frontend
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-28 17:05:05 +02:00
Ralf Ramsauer
8f8d8a75b1 std::string -> QString 2015-09-28 17:03:03 +02:00
Ralf Ramsauer
3d7b6fbe08 Moved common code parts to static library
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 16:53:17 +02:00
Ralf Ramsauer
13b0b8744a Added simple Qt Qr widget 2015-09-25 13:12:07 +02:00
Ralf Ramsauer
69dcbe6b59 Write first tokenupdate on session initialization 2015-09-25 13:11:02 +02:00
Ralf Ramsauer
b8cb8f9876 Added door state to Clientmessage / Doormessage 2015-09-25 03:26:07 +02:00
Ralf Ramsauer
404f219b6c added install rule for doorlock-client 2015-09-25 01:31:39 +02:00
Ralf Ramsauer
cb5de7eba9 First working version of doorlock-client 2015-09-25 00:50:11 +02:00
Ralf Ramsauer
b9dc2f5ee1 Improved Clientmessage
- Added Clientmessage::fromJson
- Improved JSON key handling
2015-09-25 00:50:10 +02:00
Ralf Ramsauer
aa79228e47 Added Response::fromJSON 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
4c05636ff0 Improved exception handling 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
80d8610559 Added response to subscription 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
b07c0e8f54 Bugfix
socket might be closed after session-thread is spawned.
socket might throw errors very early.
2015-09-25 00:50:10 +02:00
Ralf Ramsauer
93fccda5d8 Small fix 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
36787b91b3 Some refactoring 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
9b58de4b5d Added stub for doorlock-client
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:10 +02:00
Ralf Ramsauer
9e4de23dff Renamed main.cpp to doorlockd.cpp
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:10 +02:00
Ralf Ramsauer
8ed116bf7f Added proper client and doormessage classes
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:10 +02:00
Ralf Ramsauer
92d19bfc98 Added subscriptions 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
3de8855dac Added Client messages 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
4f22e652e8 Added door callbacks 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
8b4be48811 Some refactoring 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
deccb94cd5 Added new response code: AccessDenied 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
2234c58371 Typos 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
364a1f36fc Logical bugfix 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
1d6719269b Resend version string after redirection stdout 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
85f8e3a3bc Bugfix: Timeout was uninitialized 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
4d2bdba703 Simplified version string 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
32ebec327d Added version information 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
201ffe1e44 Added baudrate 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
d6b092ea9f Changed default serial port 2015-09-25 00:50:10 +02:00
Ralf Ramsauer
dcdc8bcfe2 Removed manual change of tokenTimeout
Epaper display is gone, this is not necessary any more.
2015-09-25 00:50:09 +02:00
Ralf Ramsauer
7496a0bab2 Rearranged code 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
542f5518a6 TCP connection logging 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
c01eb22f91 Moved Command handling from logic to main 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
211127f9d3 Refactored action to command 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
5c825a0958 Implemented better Response handling
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:09 +02:00
Ralf Ramsauer
3b7338ea6e Added proper Response handling 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
48565ef37e Moved JSON parsing to main.cpp 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
60bbe3df76 Added condition variable, which is notified on Token updates 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
a06a2669e5 Check if logic is running 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
4581e4da20 Removed using of std namespace 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
09a1c613cc Improved error handling 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
25c07e28a1 Implemented multi-threaded TCP session handling 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
cd1fcdc96b Removed unreachable code 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
0f67ed23c5 moved License file 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
703ecc9c86 Removed foreground option (default now)
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:09 +02:00
Ralf Ramsauer
d979310893 Added emergency unlock scripts 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
5808ef8677 doorlockd now uses doorcmds.h 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
5af124000b Improved door responses 2015-09-25 00:50:09 +02:00
Ralf Ramsauer
ad77fbe86b Typo 2015-09-25 00:50:08 +02:00
Ralf Ramsauer
9141b502c3 Readded PRE/POST Lock scripts 2015-09-25 00:50:08 +02:00
Ralf Ramsauer
73868b2d4d Rewrite of Door class
Removed old epaper display and added stub for qrcode printing.

Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:08 +02:00
Ralf Ramsauer
b4d6a46025 removed wiringPi 2015-09-25 00:50:08 +02:00
Ralf Ramsauer
4d965f3614 Added proper json-cpp include directory 2015-09-25 00:50:08 +02:00
Ralf Ramsauer
392763f720 Added mutex to door.cpp to prevent lock collissions
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:08 +02:00