Commit Graph

629 Commits

Author SHA1 Message Date
csoler
a802e494f8
Merge pull request #1401 from G10h4ck/forum_api
0.6.5 Safer forum API
2018-11-20 21:45:45 +01:00
csoler
ddca91b0c9
moved some files to unfinished and deleted soem unused files 2018-11-11 14:24:48 +01:00
Gioacchino Mazzurco
72dd985162
Deprecate TLV items, to avoid temptation to use them in new code 2018-11-10 16:28:15 +01:00
Gioacchino Mazzurco
f84824271f
Implement ostream operator<< for RsSerializable
So it is not necessary to define it for each class we want to print in
  debug
2018-11-10 16:24:47 +01:00
Gioacchino Mazzurco
2bb24075c4
Print warning also when serializing negative rstime_t 2018-10-16 16:19:23 +02:00
G10h4ck
03cdd6c7b6
Merge pull request #1363 from G10h4ck/jsonapi
New cross-platform target retroshare-service
2018-10-16 16:06:09 +02:00
sehraf
e6febe0297
remove debug output 2018-10-12 18:20:55 +02:00
G10h4ck
047ae7f723
Merge branch 'master' into jsonapi 2018-10-10 22:23:28 +02:00
csoler
18eee374f1
Merge pull request #1361 from sehraf/pr_jsonfy-rsMsg
[jsonapi] add most remaining functions of rsMsg
2018-10-10 22:04:32 +02:00
Gioacchino Mazzurco
a47eec14e4
Print a warning if deserialized rstime_t is negative 2018-10-10 21:54:50 +02:00
Gioacchino Mazzurco
2139090f5d
Fix bug in JSON t_RsFlags32 deserialization
If the member was not present in the JSON it was zeroed while it should
be left untouched in that case.
This was discovered because in JSON API defualt argument value for
methods wasn't onored for t_RsFlags32 arguments.
2018-10-09 22:43:15 +02:00
Gioacchino Mazzurco
329050a9c2
Use safer rstime_t instead of time_t
Avoid problems to serialization on different platforms, without breaking
nested STL containers serialization.

The conversion have been made with sed, and checked with grep, plus
kdiff3 visual ispection, plus rutime tests, so it should be fine.
2018-10-07 13:07:06 +02:00
sehraf
137bd9cd6d
jsonapi: fix nested std types 2018-10-06 23:50:29 +02:00
Gioacchino Mazzurco
341a68ce07
rstypeserializer fix uninitialized variable usage 2018-10-05 01:23:17 +02:00
sehraf
897c8e0a8a
jsonapi: more rsMsg functions 2018-10-04 22:43:13 +02:00
sehraf
70678ad508
jsonapi: fix std::map<T,U> 2018-10-04 22:43:13 +02:00
csoler
5c2f714ada
merged with upstream/master 2018-08-30 14:50:16 +02:00
Gioacchino Mazzurco
dd55ddea95
Add more consistency checks to serialization code
As suggested by Cyril
2018-08-28 15:20:41 +02:00
sehraf
c754435944
fix deserialisation and improve PRINT job 2018-08-25 17:10:01 +02:00
sehraf
4d03b906b8
convert values properly to string 2018-08-25 16:51:49 +02:00
Gioacchino Mazzurco
afb92999d8
Enable JSON conversion for RsGxsImage via MemBlockProxy 2018-08-24 00:31:25 +02:00
Gioacchino Mazzurco
3b72f912e4
Improve API
Manually expose /rsFiles/getFileData to stream/preview files
Automatically expose a bunch of methods via JSON API
Implement serial_process for std::pair
2018-08-23 01:39:26 +02:00
Gioacchino Mazzurco
4b6f751b09
Implement JSON API generation for async API calls
Move JSON helpers to util/rsjson.* for better usability
Implement JSON ostream manipulator to print compact and pretty JSON
Use lambdas for API wrappers, integrate better and avoid namespace
  pollution
Removed experimental JSON API for notify client wrapper, notifications
  can be implemented automatically with moderns async API calls
Implement and automatically expose to JSON API
  RsGxsChannels::turtleSearchRequest(
        const std::string& matchString,
        const std::function<void (const RsGxsGroupSummary&)>& multiCallback,
        std::time_t maxWait )
2018-08-16 23:48:21 +02:00
csoler
5b1c150acb
added background for post pinning and logic to edit others posts 2018-08-12 15:30:07 +02:00
Gioacchino Mazzurco
1bc518041c
Experiment of notification via NotifyClient + JSON API 2018-07-23 14:52:17 +02:00
Gioacchino Mazzurco
130007b578
Merge branch 'master' into jsonapi 2018-07-23 13:44:01 +02:00
csoler
2bab688dec
fixed merge with upstream/master 2018-07-19 23:22:24 +02:00
sehraf
55e99ef0d1
add auto detection of installed rapidjson 2018-07-16 23:22:04 +02:00
csoler
6848a586f3
merged upstream/master 2018-07-08 21:17:48 +02:00
Gioacchino Mazzurco
102558afdf
Merge fixes to serialization from master branch 2018-06-29 00:13:07 +02:00
sehraf
f7625e3526
fix json uint64 2018-06-28 20:25:10 +02:00
Gioacchino Mazzurco
15f39129f1
Complete GxsChannels JSON API with blocking methods
RsGxsIfaceHelper::requestStatus expose it to JSON API
Implemented RsGxsIfaceHelper::waitToken to wait for GXS operations
RsItem::serial_process fix doxygen warning as it's a comment not documentation
RsTypeSerializer add JSON conversion methods for double [de]serialization not
	implemented yet
RsTypeSerializer_PRIVATE_{FROM,TO}_JSON_ARRAY fix doxygen warning as it's a
	comment not documentation
make GxsChannels::ExtraFileHash a bit more reasonable
jsonapi-generator fix unused variable warning if there is no input or output
	paramethers
jsonapi-generator fix generation for inerithed jsonapi methods
Convert to RsSerializable some Gxs structs for the JSON API
2018-06-26 13:20:24 +02:00
Gioacchino Mazzurco
7ad337c8d2
Implement automatic JSON API generation
qmake file add jsonapi-generator target to compile JSON API generator
qmake files add rs_jsonapi CONFIG option to enable/disable JSON API at compile
  time
RsTypeSerializer pass down same serialization flags when creating new context
  for nested objects serial job
RsGxsChannels expose a few methods through JSON API as example
Derive a few GXS types (RsGxsChannelGroup, RsGxsChannelPost, RsGxsFile,
  RsMsgMetaData) from RsSerializables so they can be used for the JSON API
Create RsGenericSerializer::SERIALIZATION_FLAG_YIELDING so JSON objects that
  miss some fields can be still deserialized, this improve API usability
SerializeContext offer friendly constructor with default paramethers
Add restbed 4.6 library as git submodule as most systems doesn't have it yet
Add a bit of documentation about JSON API into jsonapi-generator/README.adoc
Add JsonApiServer class to expose the JSON API via HTTP protocol
2018-06-24 16:28:33 +02:00
Gioacchino Mazzurco
6010104127
Merge commit '9886840b79d617a32764ad52ef4747f5fd999250' 2018-06-09 18:10:22 +02:00
Gioacchino Mazzurco
9886840b79
Provide proper constructor for SerializeContext
Deprecate constructor that depends on deprecated declarations.
2018-06-09 17:59:11 +02:00
csoler
70f09b654c
re-licensed serialiser/ 2018-05-29 21:27:12 +02:00
csoler
8e111c2ee2
added rapidjson-1.1.0 code hard-coded in the source directory to allow everyone to compile without the need to tweak too much. When v1.1.0 is mainstream (espcially on ubuntu) we can revert back to an external dependency 2018-05-02 22:46:27 +02:00
Gioacchino Mazzurco
86ce177228 time_t may be signed in JSON 2018-01-27 19:57:15 +01:00
Gioacchino Mazzurco
ef6681b6f9 Remove outdated documentation 2018-01-27 19:40:39 +01:00
Gioacchino Mazzurco
8b774595d7 Better usage of type traits
Don't need register types for serializationanymore
Don't need casting helpers for serialization
2018-01-27 17:57:33 +01:00
Gioacchino Mazzurco
ba6f2d7e81 Remove default template for to/from_JSON
This way the compiler will complain if a type is added directly to
RsTypeSerializer without specify all needed serial operations
2018-01-26 17:18:05 +01:00
Gioacchino Mazzurco
13d4a2c916 Safer and elgant serial helper macros 2018-01-26 13:43:09 +01:00
Gioacchino Mazzurco
7409de5170 Fix compilation on systems with atipic time_t 2018-01-22 21:53:12 +01:00
Gioacchino Mazzurco
443ffb9f85 Fix some warnings 2018-01-22 15:02:33 +01:00
Gioacchino Mazzurco
9c68bcbca4 Fix some warnings 2018-01-22 14:50:07 +01:00
Gioacchino Mazzurco
04d32d2f44 Remove duplicated include 2018-01-22 12:55:22 +01:00
Gioacchino Mazzurco
b95e3380c0 Fix Android compilation 2018-01-22 11:09:00 +01:00
Gioacchino Mazzurco
9d40d416f6 Better naming for serialization helper macro 2018-01-21 20:27:49 +01:00
Gioacchino Mazzurco
5cdc5aa58d Add automatic JSON serialization/deserialization
Abstract serialization concept to pure virtaul class RsSerializable
  from which every other serializable class must inherit from
Use RapidJSON for JSON manipulation
Add TO_JSON and FROM_JSON SerializeJob
Deprecate unused SerializationFormat
Remove some unused old piece of code
Adjust many lines to max 80 columns for better readability on little
  screens
Clean up documentation and code, remove old cruft
Add copyright notice on edited files that miss it
2018-01-16 03:31:03 +01:00
Phenom
fea9c0a851 Fix CppCheck in rstlvstring.h
/libretroshare/src/serialiser/rstlvstring.h:40: warning:
Cppcheck(noExplicitConstructor): Class 'RsTlvStringSet' has a
constructor with 1 argument that is not explicit.
2017-11-07 21:58:10 +01:00