From b5622ce91307589b03ad5d903214b47ff2277e48 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Mon, 7 Mar 2022 15:51:15 -0500 Subject: Update for app framework removal Changes: - Remove the autobuild scripts and config.xml used by the app framework widget build. - Update the CMake files to just build a "qt-cluster-receiver" binary and install it into /usr/bin by default. - Remove the code in main.cpp that handled reading the WebSocket command-line arguments and passing them to binding related code. Also removed the now unnecessary port and token caching in surface.{hpp,cpp}. Bug-AGL: SPEC-4283 Signed-off-by: Scott Murray Change-Id: I88979f6049212ff790014b9674a87c4c0a582ccb --- app/CMakeLists.txt | 33 ++++++++++++++------------------- app/main.cpp | 15 +-------------- app/surface.cpp | 4 +--- app/surface.hpp | 4 +--- 4 files changed, 17 insertions(+), 39 deletions(-) (limited to 'app') diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index ff8eb93..b668f93 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -16,20 +16,24 @@ # limitations under the License. ########################################################################### -set(CMAKE_INCLUDE_CURRENT_DIR ON) -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) +project(qt-cluster-receiver VERSION 2.0.0 LANGUAGES CXX) + +if(CMAKE_VERSION VERSION_LESS "3.7.0") + set(CMAKE_INCLUDE_CURRENT_DIR ON) +endif() +set(OE_QMAKE_PATH_EXTERNAL_HOST_BINS $ENV{OE_QMAKE_PATH_HOST_BINS}) + set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(OE_QMAKE_PATH_EXTERNAL_HOST_BINS $ENV{OE_QMAKE_PATH_HOST_BINS}) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) find_package(Qt5 COMPONENTS Core Gui QuickControls2 QuickWidgets REQUIRED) find_package(Qt5Gui ${QT_MIN_VERSION} CONFIG REQUIRED Private) find_package(PkgConfig REQUIRED) find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner) -PROJECT_TARGET_ADD(cluster-receiver) - add_custom_command( OUTPUT agl-shell-desktop-client-protocol.h COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header @@ -38,7 +42,6 @@ add_custom_command( DEPENDS ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell-desktop.xml ) - add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/app/agl-shell-desktop-client-protocol.h COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header @@ -62,7 +65,7 @@ pkg_check_modules(GSTREAMER_PLUGINS_BAD REQUIRED gstreamer-plugins-bad-1.0) pkg_check_modules(WAYLAND_CLIENT REQUIRED wayland-client) -add_executable(${TARGET_NAME} +add_executable(${PROJECT_NAME} main.cpp surface.cpp agl-shell-desktop-protocol.c @@ -80,23 +83,15 @@ include_directories( "${GSTREAMER_VIDEO_INCLUDE_DIRS}" ) -set_target_properties(${TARGET_NAME} PROPERTIES - LABELS "EXECUTABLE" - PREFIX "" - COMPILE_FLAGS "${EXTRAS_CFLAGS} -DFOR_AFB_BINDING" - LINK_FLAGS "${BINDINGS_LINK_FLAG}" - LINK_LIBRARIES "${EXTRAS_LIBRARIES}" - OUTPUT_NAME "${TARGET_NAME}" -) - -target_link_libraries(${TARGET_NAME} +target_link_libraries(${PROJECT_NAME} Qt5::QuickControls2 Qt5::QuickWidgets ${GSTREAMER_LIBRARIES} "${GSTREAMER_PLUGINS_BASE_LIBRARIES}" "${GSTREAMER_PLUGINS_BAD_LIBRARIES}" "${GSTREAMER_VIDEO_LIBRARIES}" - ${QTAPPFW_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} -lgstwayland-1.0 ) + +install(TARGETS ${PROJECT_NAME} DESTINATION bin) diff --git a/app/main.cpp b/app/main.cpp index b68aeac..f46baa0 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -154,8 +154,6 @@ drop: int main(int argc, char *argv[]) { - int port = 0; - std::string token; std::string role = "receiver"; QString my_role = "receiver"; @@ -175,17 +173,6 @@ int main(int argc, char *argv[]) gargv[0] = strdup(argv[0]); gargv[1] = strdup("--gst-debug-level=2"); - try { - port = std::stol(argv[1]); - token = argv[2]; - } catch (const std::invalid_argument& e) { - std::cerr << "Invalid argument" << std::endl; - exit(1); - } catch (const std::out_of_range& e) { - std::cerr << "Port out of range" << std::endl; - exit(1); - } - std::string pipeline_str = \ "rtpbin name=rtpbin udpsrc " "caps=\"application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=JPEG,payload=26\" " @@ -203,7 +190,7 @@ int main(int argc, char *argv[]) // mark the application id -> my_role app.setDesktopFileName(my_role); - SurfaceHandler handler(port, token, role); + SurfaceHandler handler(role); // we already have the app_id -> role this will set-up the x and y // position and a bounding box that will be used to clip out the diff --git a/app/surface.cpp b/app/surface.cpp index c0cd8ac..3e9d5ca 100644 --- a/app/surface.cpp +++ b/app/surface.cpp @@ -107,10 +107,8 @@ register_agl_shell_desktop(QPlatformNativeInterface *native) return shell; } -SurfaceHandler::SurfaceHandler(const int port, const std::string &token, const std::string &role) +SurfaceHandler::SurfaceHandler(const std::string &role) { - m_port = port; - m_token = token; m_role = role; if (init_agl_shell()) { diff --git a/app/surface.hpp b/app/surface.hpp index 82b5c86..6ed5e17 100644 --- a/app/surface.hpp +++ b/app/surface.hpp @@ -37,12 +37,10 @@ class SurfaceHandler { public: - SurfaceHandler(const int port, const std::string &token, const std::string &role); + SurfaceHandler(const std::string &role); void set_bounding_box(int x, int y, int bx, int by, int width, int height); private: - int m_port; - std::string m_token; std::string m_role; int init_agl_shell(void); -- cgit 1.2.3-korg