summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2022-03-07 15:51:15 -0500
committerScott Murray <scott.murray@konsulko.com>2022-03-07 15:54:23 -0500
commitb5622ce91307589b03ad5d903214b47ff2277e48 (patch)
treeb6ec6bc48522cbbf720c0a621692a0251143b38f /app
parent0fc2ae068b0440cfd885f4a934db203680972fe0 (diff)
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 <scott.murray@konsulko.com> Change-Id: I88979f6049212ff790014b9674a87c4c0a582ccb
Diffstat (limited to 'app')
-rw-r--r--app/CMakeLists.txt33
-rw-r--r--app/main.cpp15
-rw-r--r--app/surface.cpp4
-rw-r--r--app/surface.hpp4
4 files changed, 17 insertions, 39 deletions
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);