Commit Graph

48 Commits

Author SHA1 Message Date
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
csoler
51710c10a0 merge comments between channel item versions 2017-05-20 17:33:05 +02:00
Phenom
d84fdff2e1 Fix GxsChannelPostItem when received comment. 2016-06-18 20:10:14 +02:00
csoler
46a4273668 added back functionality to choose DL directory for each channel
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8581 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-07-07 00:52:52 +00:00
thunder2
a0af7def27 Added initialize of RsGxsChannelPost members.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8565 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-28 11:08:26 +00:00
csoler
c9d5c7b3cb turned some std::list<PeerId> into std::set, as it automatically prevents duplicates
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8138 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-04-17 21:36:22 +00:00
csoler
d0469ccfc3 implemented publish key sharing between peers for channels.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7582 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-05 19:14:05 +00:00
chrisparker126
0f29d28b1b merge of branch v0.6-idclean 7180
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7187 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-03-17 20:56:06 +00:00
drbob
1b2ed66814 Implementation of GxsId Opinion, and start of Reputation system.
- Removed old reputation system from p3idservice
 - Removed old Msg types as well (no longer needed)
 - Added real submitOpinion()
 - Modified serviceString to support Reputation System.
 - Added reputation information to both Cached Data, and Standard ID Data.
 - Added basics of new reputation system as alternative service. (not gxs).
 - Added Generic TLV types for maps.
 - Moved configuration files to their own directory .rs/config/
 - Finally, fixed up bits missed from the change to updateGroup!



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7131 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-02-19 11:08:37 +00:00
drbob
d9e483c48a added updateGroup functions to gxs services.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7101 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-02-09 10:33:16 +00:00
drbob
c9a8c0e4ec fixed up function signature for subscribeToGroup() was missing token reference.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6278 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-24 16:32:20 +00:00
drbob
42c6a9282a fixed up subscribe Macros and fn for channels.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6276 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-24 15:56:21 +00:00
drbob
a4aa011207 GxsChannels are basically complete now!:
- Fixed up Automatic downloads for GxsChannels. 
 - Tweaked GXS backend to make Meta Changes happen before requests.
 - Added some new Macros.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6231 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-16 12:31:31 +00:00
drbob
b9f2708927 Improvements to Comment Handling and GxsChannels.
- Added Vote dummy data into channels.
 - Fixed up RsGxsImage handling to avoid memory issues - need to switch to shared_ptr later.
 - Added "BestScore" calculations into Comments - not sure if the maths is right.
 - Added Hashing interface to Channels.
 - misc bugfixes.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6218 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-13 00:24:57 +00:00
drbob
123d4a630b Major commit of progress on new GxsServices (Channels and Posted). These are not complete yet!
- Reorganisation of p3posted, stripped out lots of previous stuff.
 - Converted p3posted to use GxsComment system.
 - Disabled much of the DummyData - switch it on manually when testing.
 - Added Basics of ChannelPost processing for AutoDownload. (incomplete).
 - Added GxsCommon backend for RsGxsImage and RsGxsFile.
 - Completed Serialiser for GxsChannels.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6207 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-11 20:40:28 +00:00
chrisparker126
23209c8c45 handled validation/sign of message when key not available
(set for 5 attempts before message is dropped)
moved rstokenservice.h to retroshare interface folder
groups do not sync anymore unless user is subscribed to it

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6194 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-06 23:33:23 +00:00
drbob
22782e5edd Adding Basics of GxsChannel Service into libretroshare.
This includes a generic CommentService, which will be used by other Services.
+ Bugfix, gxs service threads were started before global variables were set.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6186 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-04 20:26:48 +00:00