66 Commits

Author SHA1 Message Date
csoler
6c1f09a53b
completely removed TokenQueue from GxsGroupDialog and GxsGroupFrameDialog 2020-03-22 21:47:14 +01:00
csoler
2387150f64
1/4 convertion of GxsGroupFrameDialog to blocking API 2020-03-21 15:25:34 +01:00
Gioacchino Mazzurco
c9728cead0
Fix typo in channels deprecated method notice 2020-02-14 23:30:10 +01:00
csoler
595df99310
fixed notifications for distant search results in channels 2020-02-03 21:39:05 +01:00
csoler
fb9282f588
moved UserNotify to MainPage level, and added RsEvent handling code in Posted 2020-01-26 23:19:20 +01:00
Gioacchino Mazzurco
37b5d8f307
Fix few glitches in Cyril PR 2020-01-07 00:54:49 +01:00
csoler
3d7ae59df7
changed enum to enum class and made names globally more consistent for RsEvents 2019-12-17 21:41:21 +01:00
csoler
a54cf981a6
fixed forum/channel subscribe notifications 2019-12-16 22:44:37 +01:00
csoler
da6e7f9e9b
fixed conflicts with master 2019-12-14 18:27:41 +01:00
csoler
4fe6e46410
added handling of channel, forum and posted events in GUI 2019-12-12 21:23:42 +01:00
Gioacchino Mazzurco
d9a8c5c09f
Implement links for RsGxsChannels 2019-10-29 12:10:33 +01:00
Gioacchino Mazzurco
828251cc18
Solve vtable warnings in gxschannels 2019-10-26 01:22:47 +02:00
Gioacchino Mazzurco
3b8f6997bb
Avoid crash when subscribeToChannel is fed with invaled channel id
Fix a couple compiler warning too
2019-09-28 00:12:56 +02:00
Gioacchino Mazzurco
ddde80ddff
Expose comment editing capability in JSON API 2019-07-30 18:56:55 +02:00
csoler
6a18e242bb
added compile option to use sanitizer and already fixed a few misalignment errors with it 2019-05-11 22:25:02 +02:00
Gioacchino Mazzurco
b25c4ecb77
Fix channels JSON API 2019-04-12 23:10:31 +02:00
Gioacchino Mazzurco
4d703b9df9
Increase waitToken interval for channel creation
Creating GXS groups imply a bunch of crypto operations that require lot
  of time expecially on embedded device, channel creation was reported
  as failed while it was still pending.
Reduce too long lines.
Print API error messages also on std::cerr.
2019-04-12 22:14:16 +02:00
csoler
4c8851801f
fixed merging with pending modifications 2019-04-11 21:04:13 +02:00
Gioacchino Mazzurco
ab80d9a374
Fix compilation, retrocompatibility and enums
Workaround miss-behaviour on old Android phones
Cleanup indentation a bit
Consistent param naming
Introduce default parameter values also for output paramethers
2019-04-05 01:43:23 +02:00
csoler
44c1f1580f
added other clean API entries for channel: createComment(), createVote() and createPost() 2019-03-31 22:11:09 +02:00
csoler
e0af46eb85
added new method to create a channel with more explicit parameters and JSon API for it 2019-03-30 22:53:14 +01:00
Gioacchino Mazzurco
ac1d24dba4
Remove misleading comment from channels public API 2019-02-13 17:07:59 -03:00
Gioacchino Mazzurco
7113eb7bfc
GxsChannels optimizable API 2018-12-12 21:35:31 +01:00
Gioacchino Mazzurco
abec811d31
Forum API add missing subscribe method 2018-11-22 16:41:19 +01:00
Gioacchino Mazzurco
2b58e3f461
RsGxsChannels local search support 2018-11-17 17:19:13 +01:00
Gioacchino Mazzurco
e311b28870
Complete channel API with comment and vote creation 2018-11-16 17:50:34 +01:00
Gioacchino Mazzurco
1d110600fc
Minor cleanups in GxsChannels 2018-11-10 16:29:39 +01:00
Gioacchino Mazzurco
e449ffba04
Better include in RsGxsChannels 2018-11-09 23:46:21 +01:00
Gioacchino Mazzurco
ea86fe2615
Safer RsGxsChannel API
Deprecated old method which exposed interna async mechanism to the API
  users, making their and out life difficult
Things that really need to be async like turtle search/requests now accept
  callbacks, so the caller can be notified everytime some result is got
  back
Implement RsThread::async commodity wrapper to execute blocking API
  calls without blocking the caller, this could be optimized
  trasparently using a thread pool if necessary
Added hints into some retroshare-gui files on how to use RsThread::async
  thoghether with QMetaObject::invokeMethod and blocking RetroShare API
  to simplyfy interaction between GUI and libretroshare
2018-11-09 12:41:08 +01:00
Gioacchino Mazzurco
8fd22c8fd1
Safer rsGxsChannel API
Protect data members with mutexes
Print messages when errors happens
2018-11-09 12:41:08 +01:00
G10h4ck
047ae7f723
Merge branch 'master' into jsonapi 2018-10-10 22:23:28 +02:00
Gioacchino Mazzurco
321fc8a8d4
Implement mostly decent JSON API for channels and post creation
Now the possible id of the cannel/post is returned and channel/post is
indexed on creation without having to wait for gxsutil scan to happen

Note that the id is correct in normal usage, but if one try to overload
the API per eventually get the id of another channel/post with same data
but created by a different call, it is not dangerous so one trying to
overload the API is just getting a possibly wrong but equivalent
channel/post id returned.
2018-10-10 06:40:56 +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
Gioacchino Mazzurco
321d2e84bd
gxschannel expose blocking create post and channels API 2018-10-04 23:36:01 +02:00
Gioacchino Mazzurco
eb77f921ec
Implement JSON API HTTP Basic authentication
jsonapi-generator is now capable of generating API for headers outside
  retroshare/ directory
jsonapi-generator do a bit of methods parameter sanity check
JsonApiServer is now integrated in the rsinit hell like other services
Add *::exportGPGKeyPairToString to a bunch of classes in cascade
RsControl is now capable of calling back a function when retroshare is almost
  completely stopped, this is useful when running retroshare toghether with
  externally managed runloop such as QCoreApplication
Expose a bunch of methods through JSON API
retroshare-nogui remove some dead code and fix stopping from the RetroShare API
2018-09-19 21:28:26 +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
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
csoler
4a64ea5f1f
added optional use of dist sync in GroupFrameDialog 2018-07-05 14:00:04 +02:00
csoler
00dfa0f3c2
added fallback for GXS GroupMessage UI to look into cached distant group data 2018-06-26 22:20:02 +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
d731b665db
Expose tokenservice methods trough GxsIfaceHelper 2018-06-25 10:44:39 +02:00
csoler
e351d7257e
added retrieval of search results in UI 2018-06-24 16:55:38 +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
csoler
7a135c5c43
added quick and dirty turtle search for channels in Files search tab 2018-06-13 22:46:27 +02:00
csoler
7caf06b57d
added structures for generic turtle search and access functions in Gxs objects 2018-06-06 23:15:29 +02:00
csoler
ff8c37f169
fixed license in retroshare/ 2018-05-28 22:28:51 +02:00
Phenom
dd4ed2a7f1 Fix CppCheck in rsgxschannels.h
/libretroshare/src/retroshare/rsgxschannels.h:82: warning:
Cppcheck(noExplicitConstructor): Class 'RsGxsChannels' has a constructor
with 1 argument that is not explicit.
2017-11-06 22:20:44 +01:00