mirror of
https://github.com/logos-co/logos-cpp-sdk.git
synced 2026-08-31 01:31:10 +00:00
group between client and provider
This commit is contained in:
+18
-3
@@ -18,6 +18,8 @@ pkgs.stdenv.mkDerivation {
|
||||
# Install headers with proper structure
|
||||
mkdir -p $out/include/core
|
||||
mkdir -p $out/include/logos-cpp-sdk
|
||||
mkdir -p $out/include/logos-cpp-sdk/client
|
||||
mkdir -p $out/include/logos-cpp-sdk/provider
|
||||
mkdir -p $out/include/logos-transport
|
||||
|
||||
# Install core headers
|
||||
@@ -25,14 +27,27 @@ pkgs.stdenv.mkDerivation {
|
||||
cp src/core/interface.h $out/include/core/
|
||||
fi
|
||||
|
||||
# Install logos-cpp-sdk headers and sources
|
||||
for file in logos_api.cpp logos_api.h logos_api_client.cpp logos_api_client.h \
|
||||
token_manager.cpp token_manager.h module_proxy.cpp module_proxy.h; do
|
||||
# Install logos-cpp-sdk root headers and sources
|
||||
for file in logos_api.cpp logos_api.h token_manager.cpp token_manager.h; do
|
||||
if [ -f src/logos-cpp-sdk/$file ]; then
|
||||
cp src/logos-cpp-sdk/$file $out/include/logos-cpp-sdk/
|
||||
fi
|
||||
done
|
||||
|
||||
# Install logos-cpp-sdk client headers and sources
|
||||
for file in logos_api_client.cpp logos_api_client.h; do
|
||||
if [ -f src/logos-cpp-sdk/client/$file ]; then
|
||||
cp src/logos-cpp-sdk/client/$file $out/include/logos-cpp-sdk/client/
|
||||
fi
|
||||
done
|
||||
|
||||
# Install logos-cpp-sdk provider headers and sources
|
||||
for file in module_proxy.cpp module_proxy.h; do
|
||||
if [ -f src/logos-cpp-sdk/provider/$file ]; then
|
||||
cp src/logos-cpp-sdk/provider/$file $out/include/logos-cpp-sdk/provider/
|
||||
fi
|
||||
done
|
||||
|
||||
# Install logos-transport headers and sources
|
||||
for file in logos_api_consumer.cpp logos_api_consumer.h logos_api_provider.cpp logos_api_provider.h \
|
||||
logos_mode.h plugin_registry.h; do
|
||||
|
||||
+19
-7
@@ -13,12 +13,12 @@ find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core RemoteObjects)
|
||||
set(SDK_SOURCES
|
||||
logos-cpp-sdk/logos_api.cpp
|
||||
logos-cpp-sdk/logos_api.h
|
||||
logos-cpp-sdk/logos_api_client.cpp
|
||||
logos-cpp-sdk/logos_api_client.h
|
||||
logos-cpp-sdk/module_proxy.cpp
|
||||
logos-cpp-sdk/module_proxy.h
|
||||
logos-cpp-sdk/token_manager.cpp
|
||||
logos-cpp-sdk/token_manager.h
|
||||
logos-cpp-sdk/client/logos_api_client.cpp
|
||||
logos-cpp-sdk/client/logos_api_client.h
|
||||
logos-cpp-sdk/provider/module_proxy.cpp
|
||||
logos-cpp-sdk/provider/module_proxy.h
|
||||
)
|
||||
|
||||
# Transport sources (Qt RemoteObjects layer)
|
||||
@@ -41,6 +41,8 @@ target_link_libraries(logos_sdk PUBLIC Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSIO
|
||||
target_include_directories(logos_sdk PUBLIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/logos-cpp-sdk
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/logos-cpp-sdk/client
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/logos-cpp-sdk/provider
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/logos-transport
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/core
|
||||
)
|
||||
@@ -57,15 +59,25 @@ install(TARGETS logos_sdk
|
||||
RUNTIME DESTINATION bin
|
||||
)
|
||||
|
||||
# Install SDK headers
|
||||
# Install SDK root headers
|
||||
install(FILES
|
||||
logos-cpp-sdk/logos_api.h
|
||||
logos-cpp-sdk/logos_api_client.h
|
||||
logos-cpp-sdk/module_proxy.h
|
||||
logos-cpp-sdk/token_manager.h
|
||||
DESTINATION include/logos-cpp-sdk
|
||||
)
|
||||
|
||||
# Install SDK client headers
|
||||
install(FILES
|
||||
logos-cpp-sdk/client/logos_api_client.h
|
||||
DESTINATION include/logos-cpp-sdk/client
|
||||
)
|
||||
|
||||
# Install SDK provider headers
|
||||
install(FILES
|
||||
logos-cpp-sdk/provider/module_proxy.h
|
||||
DESTINATION include/logos-cpp-sdk/provider
|
||||
)
|
||||
|
||||
# Install transport headers
|
||||
install(FILES
|
||||
logos-transport/logos_api_consumer.h
|
||||
|
||||
+45
-31
@@ -46,7 +46,7 @@ else
|
||||
fi
|
||||
|
||||
# Add local include paths for the new directory structure
|
||||
LOCAL_INCLUDES="-I. -Ilogos-cpp-sdk -Ilogos-transport -Icore"
|
||||
LOCAL_INCLUDES="-I. -Ilogos-cpp-sdk -Ilogos-cpp-sdk/client -Ilogos-cpp-sdk/provider -Ilogos-transport -Icore"
|
||||
|
||||
echo "Using Qt includes: $QT_INCLUDES"
|
||||
echo "Using local includes: $LOCAL_INCLUDES"
|
||||
@@ -57,21 +57,31 @@ CXXFLAGS="-std=c++17 -fPIC"
|
||||
# Generate MOC files for headers with Q_OBJECT
|
||||
echo "Generating MOC files..."
|
||||
|
||||
# SDK headers that need MOC processing
|
||||
SDK_MOC_HEADERS=(
|
||||
# SDK root headers that need MOC processing
|
||||
SDK_ROOT_MOC_HEADERS=(
|
||||
"logos-cpp-sdk/logos_api.h"
|
||||
"logos-cpp-sdk/logos_api_client.h"
|
||||
"logos-cpp-sdk/module_proxy.h"
|
||||
"logos-cpp-sdk/token_manager.h"
|
||||
)
|
||||
|
||||
# SDK client headers that need MOC processing
|
||||
SDK_CLIENT_MOC_HEADERS=(
|
||||
"logos-cpp-sdk/client/logos_api_client.h"
|
||||
)
|
||||
|
||||
# SDK provider headers that need MOC processing
|
||||
SDK_PROVIDER_MOC_HEADERS=(
|
||||
"logos-cpp-sdk/provider/module_proxy.h"
|
||||
)
|
||||
|
||||
# Transport headers that need MOC processing
|
||||
TRANSPORT_MOC_HEADERS=(
|
||||
"logos-transport/logos_api_provider.h"
|
||||
"logos-transport/logos_api_consumer.h"
|
||||
)
|
||||
|
||||
for header in "${SDK_MOC_HEADERS[@]}" "${TRANSPORT_MOC_HEADERS[@]}"; do
|
||||
ALL_MOC_HEADERS=("${SDK_ROOT_MOC_HEADERS[@]}" "${SDK_CLIENT_MOC_HEADERS[@]}" "${SDK_PROVIDER_MOC_HEADERS[@]}" "${TRANSPORT_MOC_HEADERS[@]}")
|
||||
|
||||
for header in "${ALL_MOC_HEADERS[@]}"; do
|
||||
if [ -f "$header" ]; then
|
||||
basename=$(basename "$header" .h)
|
||||
echo "Generating MOC for $header..."
|
||||
@@ -86,7 +96,7 @@ done
|
||||
# Try to compile the headers (syntax check)
|
||||
echo "Checking header syntax..."
|
||||
|
||||
# SDK headers
|
||||
# SDK root headers
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c -x c++-header logos-cpp-sdk/logos_api.h -o /tmp/logos_api.h.gch
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ LogosAPI header syntax OK"
|
||||
@@ -96,7 +106,17 @@ else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c -x c++-header logos-cpp-sdk/logos_api_client.h -o /tmp/logos_api_client.h.gch
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c -x c++-header logos-cpp-sdk/token_manager.h -o /tmp/token_manager.h.gch
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Token manager header syntax OK"
|
||||
rm -f /tmp/token_manager.h.gch
|
||||
else
|
||||
echo "❌ Token manager header has syntax errors"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# SDK client headers
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c -x c++-header logos-cpp-sdk/client/logos_api_client.h -o /tmp/logos_api_client.h.gch
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Client header syntax OK"
|
||||
rm -f /tmp/logos_api_client.h.gch
|
||||
@@ -105,7 +125,8 @@ else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c -x c++-header logos-cpp-sdk/module_proxy.h -o /tmp/module_proxy.h.gch
|
||||
# SDK provider headers
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c -x c++-header logos-cpp-sdk/provider/module_proxy.h -o /tmp/module_proxy.h.gch
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Module proxy header syntax OK"
|
||||
rm -f /tmp/module_proxy.h.gch
|
||||
@@ -114,15 +135,6 @@ else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c -x c++-header logos-cpp-sdk/token_manager.h -o /tmp/token_manager.h.gch
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Token manager header syntax OK"
|
||||
rm -f /tmp/token_manager.h.gch
|
||||
else
|
||||
echo "❌ Token manager header has syntax errors"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Transport headers
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c -x c++-header logos-transport/logos_api_provider.h -o /tmp/logos_api_provider.h.gch
|
||||
if [ $? -eq 0 ]; then
|
||||
@@ -145,7 +157,7 @@ fi
|
||||
# Try to compile the implementations (without linking)
|
||||
echo "Checking implementation syntax..."
|
||||
|
||||
# SDK implementations
|
||||
# SDK root implementations
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c logos-cpp-sdk/logos_api.cpp -o /tmp/logos_api.o
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ LogosAPI implementation compiles OK"
|
||||
@@ -155,7 +167,17 @@ else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c logos-cpp-sdk/logos_api_client.cpp -o /tmp/logos_api_client.o
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c logos-cpp-sdk/token_manager.cpp -o /tmp/token_manager.o
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Token manager implementation compiles OK"
|
||||
rm -f /tmp/token_manager.o
|
||||
else
|
||||
echo "❌ Token manager implementation has compilation errors"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# SDK client implementations
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c logos-cpp-sdk/client/logos_api_client.cpp -o /tmp/logos_api_client.o
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Client implementation compiles OK"
|
||||
rm -f /tmp/logos_api_client.o
|
||||
@@ -164,7 +186,8 @@ else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c logos-cpp-sdk/module_proxy.cpp -o /tmp/module_proxy.o
|
||||
# SDK provider implementations
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c logos-cpp-sdk/provider/module_proxy.cpp -o /tmp/module_proxy.o
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Module proxy implementation compiles OK"
|
||||
rm -f /tmp/module_proxy.o
|
||||
@@ -173,15 +196,6 @@ else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c logos-cpp-sdk/token_manager.cpp -o /tmp/token_manager.o
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Token manager implementation compiles OK"
|
||||
rm -f /tmp/token_manager.o
|
||||
else
|
||||
echo "❌ Token manager implementation has compilation errors"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Transport implementations
|
||||
g++ $CXXFLAGS $QT_INCLUDES $LOCAL_INCLUDES -c logos-transport/logos_api_provider.cpp -o /tmp/logos_api_provider.o
|
||||
if [ $? -eq 0 ]; then
|
||||
@@ -203,7 +217,7 @@ fi
|
||||
|
||||
# Clean up generated MOC files
|
||||
echo "Cleaning up generated MOC files..."
|
||||
for header in "${SDK_MOC_HEADERS[@]}" "${TRANSPORT_MOC_HEADERS[@]}"; do
|
||||
for header in "${ALL_MOC_HEADERS[@]}"; do
|
||||
basename=$(basename "$header" .h)
|
||||
moc_file="moc_${basename}.cpp"
|
||||
if [ -f "$moc_file" ]; then
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
#include "logos_api_client.h"
|
||||
#include "../logos-transport/logos_api_consumer.h"
|
||||
#include "token_manager.h"
|
||||
#include "../../logos-transport/logos_api_consumer.h"
|
||||
#include "../token_manager.h"
|
||||
|
||||
LogosAPIClient::LogosAPIClient(const QString& module_to_talk_to, const QString& origin_module, TokenManager* token_manager, QObject *parent)
|
||||
: QObject(parent)
|
||||
@@ -8,7 +8,7 @@
|
||||
#include <QMap>
|
||||
#include <functional>
|
||||
|
||||
#include "../logos-transport/logos_mode.h"
|
||||
#include "../../logos-transport/logos_mode.h"
|
||||
|
||||
class LogosAPIConsumer;
|
||||
class TokenManager;
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "logos_api.h"
|
||||
#include "logos_api_client.h"
|
||||
#include "client/logos_api_client.h"
|
||||
#include "../logos-transport/logos_api_provider.h"
|
||||
#include "token_manager.h"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "logos_api_consumer.h"
|
||||
#include "../logos-cpp-sdk/module_proxy.h"
|
||||
#include "../logos-cpp-sdk/logos_api_client.h"
|
||||
#include "../logos-cpp-sdk/provider/module_proxy.h"
|
||||
#include "../logos-cpp-sdk/client/logos_api_client.h"
|
||||
#include "../logos-cpp-sdk/token_manager.h"
|
||||
#include "logos_mode.h"
|
||||
#include "plugin_registry.h"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "logos_api_provider.h"
|
||||
#include "../logos-cpp-sdk/module_proxy.h"
|
||||
#include "../logos-cpp-sdk/provider/module_proxy.h"
|
||||
#include "../logos-cpp-sdk/logos_api.h"
|
||||
#include "logos_mode.h"
|
||||
#include "plugin_registry.h"
|
||||
|
||||
Reference in New Issue
Block a user