Fix windows compile due to rsversion JSON API

This commit is contained in:
Gioacchino Mazzurco 2019-11-28 16:29:10 +01:00
parent 6bae8237e1
commit 5bf8792bc5
No known key found for this signature in database
GPG Key ID: A1FBCA3872E87051
7 changed files with 37 additions and 80 deletions

View File

@ -2,8 +2,7 @@
RetroShare is a decentralized, private, secure, cross-platform, communication RetroShare is a decentralized, private, secure, cross-platform, communication
toolkit. toolkit.
RetroShare provides filesharing, chat, messages, forums, channels and RetroShare provides filesharing, chat, messages, forums, channels and more.
more.
.Build Status .Build Status
|=============================================================================== |===============================================================================
@ -15,13 +14,13 @@ more.
== Compilation == Compilation
It is very difficult to keep a comprehensive (we support many platforms) and It is very difficult to keep a comprehensive (we support many platforms) and
updated documentation on how to build retroshare, instead we provide scripts and updated documentation on how to build RetroShare, instead we provide scripts and
receipts that are used to create the packages for the supported platforms and recipes that are used to create the packages for the supported platforms and
more in the `build_scripts` directory of this repository. more in the `build_scripts` directory of this repository.
Those packaging receipts toghether with the continuous integration files Those packaging receipts together with the continuous integration files
`.travis.yml` and `appveyor.yml` are a good source of knoweldge on how to `.travis.yml` and `appveyor.yml` are a good source of knowledge on how to
compile retroshare on different platforms. compile RetroShare on different platforms.
== Using RetroShare on a headless computer with WebUI == Using RetroShare on a headless computer with WebUI

View File

@ -90,8 +90,10 @@ install:
# Configuring MSys2 # Configuring MSys2
- set PATH=C:\msys64\usr\bin;%PATH% - set PATH=C:\msys64\usr\bin;%PATH%
- set PATH=C:\msys64\mingw32\bin;%PATH% - set PATH=C:\msys64\mingw32\bin;%PATH%
- pacman --noconfirm -S mingw-w64-i686-qt5 mingw-w64-i686-miniupnpc mingw-w64-i686-rapidjson mingw-w64-i686-sqlcipher mingw-w64-i686-xapian-core mingw-w64-i686-cmark - >
#- pacman --noconfirm -S mingw-w64-i686-qt5-static mingw-w64-i686-miniupnpc mingw-w64-i686-sqlcipher mingw-w64-i686-libmicrohttpd pacman --noconfirm -S
mingw-w64-i686-qt5 mingw-w64-i686-miniupnpc mingw-w64-i686-rapidjson
mingw-w64-i686-sqlcipher mingw-w64-i686-xapian-core mingw-w64-i686-cmark
#- set PATH=C:\msys64\mingw32\qt5-static\bin\;%PATH% #- set PATH=C:\msys64\mingw32\qt5-static\bin\;%PATH%
# Configuring Qt # Configuring Qt

View File

@ -17,8 +17,6 @@
* * * *
*******************************************************************************/ *******************************************************************************/
#include "jsonapi.h"
#include <string> #include <string>
#include <sstream> #include <sstream>
#include <memory> #include <memory>
@ -26,6 +24,9 @@
#include <vector> #include <vector>
#include <openssl/crypto.h> #include <openssl/crypto.h>
#include "jsonapi.h"
#include "util/rsjson.h" #include "util/rsjson.h"
#include "retroshare/rsfiles.h" #include "retroshare/rsfiles.h"
#include "util/radix64.h" #include "util/radix64.h"
@ -36,6 +37,7 @@
#include "util/rsurl.h" #include "util/rsurl.h"
#include "util/rstime.h" #include "util/rstime.h"
#include "retroshare/rsevents.h" #include "retroshare/rsevents.h"
#include "retroshare/rsversion.h"
// Generated at compile time // Generated at compile time
#include "jsonapi-includes.inl" #include "jsonapi-includes.inl"
@ -644,3 +646,14 @@ void JsonApiServer::runloop()
RsInfo() << __PRETTY_FUNCTION__ << " finished!" << std::endl; RsInfo() << __PRETTY_FUNCTION__ << " finished!" << std::endl;
} }
/*static*/ void RsJsonApi::version(
uint32_t& major, uint32_t& minor, uint32_t& mini, std::string& extra,
std::string& human )
{
major = RS_MAJOR_VERSION;
minor = RS_MINOR_VERSION;
mini = RS_MINI_VERSION;
extra = RS_EXTRA_VERSION;
human = RS_HUMAN_READABLE_VERSION;
}

View File

@ -172,8 +172,6 @@ HEADERS += plugins/pluginmanager.h \
HEADERS += $$PUBLIC_HEADERS HEADERS += $$PUBLIC_HEADERS
SOURCES *= services/rsversion.cxx
################################# Linux ########################################## ################################# Linux ##########################################
linux-* { linux-* {
CONFIG += link_pkgconfig CONFIG += link_pkgconfig

View File

@ -158,5 +158,17 @@ public:
*/ */
virtual bool isAuthTokenValid(const std::string& token) = 0; virtual bool isAuthTokenValid(const std::string& token) = 0;
/**
* @brief Write version information to given paramethers
* @jsonapi{development,unauthenticated}
* @param[out] major storage
* @param[out] minor storage
* @param[out] mini storage
* @param[out] extra storage
* @param[out] human storage
*/
static void version( uint32_t& major, uint32_t& minor, uint32_t& mini,
std::string& extra, std::string& human );
virtual ~RsJsonApi() = default; virtual ~RsJsonApi() = default;
}; };

View File

@ -79,35 +79,3 @@ constexpr auto RS_HUMAN_READABLE_VERSION =
RS_PRIVATE_STRINGIFY(RS_MAJOR_VERSION) "." \ RS_PRIVATE_STRINGIFY(RS_MAJOR_VERSION) "." \
RS_PRIVATE_STRINGIFY(RS_MINOR_VERSION) "." \ RS_PRIVATE_STRINGIFY(RS_MINOR_VERSION) "." \
RS_PRIVATE_STRINGIFY(RS_MINI_VERSION) RS_EXTRA_VERSION; RS_PRIVATE_STRINGIFY(RS_MINI_VERSION) RS_EXTRA_VERSION;
#include <stdint.h>
#include <string>
/**
* Helper to expose version information to JSON API.
* From C++ you should use directly the macro and constants defined upstair
* @jsonapi{development}
*/
class RsVersion
{
public:
/**
* @brief Write version information to given paramethers
* @jsonapi{development,unauthenticated}
* @param[out] major storage
* @param[out] minor storage
* @param[out] mini storage
* @param[out] extra storage
* @param[out] human storage
*/
static void version( uint32_t& major, uint32_t& minor, uint32_t& mini,
std::string& extra, std::string& human );
};
/**
* Pointer to global instance of RsVersion, for the sake of JSON API, from C++
* you can use directly the macro and constants defined upstair
* @jsonapi{development}
*/
extern RsVersion* rsVersion;

View File

@ -1,35 +0,0 @@
/*******************************************************************************
* *
* libretroshare: retroshare core library *
* *
* Copyright (C) 2019 Gioacchino Mazzurco <gio@eigenlab.org> *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public License *
* along with this program. If not, see <https://www.gnu.org/licenses/>. *
* *
*******************************************************************************/
#include "retroshare/rsversion.h"
/*extern*/ RsVersion* rsVersion = new RsVersion;
/*static*/ void RsVersion::version(
uint32_t& major, uint32_t& minor, uint32_t& mini, std::string& extra,
std::string& human )
{
major = RS_MAJOR_VERSION;
minor = RS_MINOR_VERSION;
mini = RS_MINI_VERSION;
extra = RS_EXTRA_VERSION;
human = RS_HUMAN_READABLE_VERSION;
}