summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac23
-rw-r--r--src/rda.c21
-rw-r--r--src/rda_ogon.c4
-rw-r--r--src/rda_ogon.h4
-rw-r--r--src/rda_x2go.c4
-rw-r--r--src/rda_x2go.h4
6 files changed, 60 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index baad8eb..6f6f2c4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -56,6 +56,26 @@ dnl pkg-config dependency checks
PKG_CHECK_MODULES(LIBRDA, glib-2.0 >= $GLIB_REQUIRED gio-2.0 >= $GIO_REQUIRED)
+dnl enable/disable awarenesses
+
+AC_ARG_ENABLE([x2go],
+ [AS_HELP_STRING([--enable-x2go],
+ [enable awareness of X2Go sessions])],
+ [enable_x2go=yes],
+ [enable_x2go=no])
+if test "x$enable_x2go" != "x"; then
+ AC_DEFINE([WITH_X2GO_AWARENESS],,[Build with X2Go awareness])
+fi
+
+AC_ARG_ENABLE([ogon],
+ [AS_HELP_STRING([--enable-ogon],
+ [enable awareness of Ogon sessions])],
+ [enable_ogon=yes],
+ [enable_ogon=no])
+if test "x$enable_ogon" != "x"; then
+ AC_DEFINE([WITH_OGON_AWARENESS],,[Build with Ogon awareness])
+fi
+
dnl Language Support
IT_PROG_INTLTOOL([0.50.1])
@@ -109,4 +129,7 @@ librda $VERSION
Use *_DISABLE_DEPRECATED: ${enable_deprecation_flags}
Build introspection support: ${found_introspection}
+
+ Enable X2Go awareness ${enable_x2go}
+ Enable Ogon awareness ${enable_ogon}
"
diff --git a/src/rda.c b/src/rda.c
index 055d0a2..855a7cc 100644
--- a/src/rda.c
+++ b/src/rda.c
@@ -56,11 +56,16 @@ rda_session_is_local(void)
gboolean
rda_session_is_remote (void)
{
+
+#ifdef WITH_X2GO_AWARENESS
if (rda_session_is_x2go())
return TRUE;
+#endif
+#ifdef WITH_OGON_AWARENESS
if (rda_session_is_ogon())
return TRUE;
+#endif
/* possibly add more checks for other remote desktop technologies */
@@ -96,13 +101,17 @@ rda_get_remote_technology_name (void)
remote_technology_name = _("local");
break;
+#ifdef WITH_X2GO_AWARENESS
case REMOTE_TECHNOLOGY_X2GO:
remote_technology_name = _("X2Go");
break;
+#endif
+#ifdef WITH_OGON_AWARENESS
case REMOTE_TECHNOLOGY_OGON:
remote_technology_name = _("OgonRDP");
break;
+#endif
case REMOTE_TECHNOLOGY_UNKNOWN:
remote_technology_name = _("unknown");
@@ -118,11 +127,15 @@ rda_get_remote_technology_name (void)
gboolean
rda_session_can_be_suspended(void)
{
+#ifdef WITH_X2GO_AWARENESS
if (rda_session_is_x2go())
return TRUE;
+#endif
+#ifdef WITH_OGON_AWARENESS
if (rda_session_is_ogon())
return TRUE;
+#endif
/* possibly add more checks for other remote desktop frameworks
that have a session suspension feature */
@@ -133,11 +146,15 @@ rda_session_can_be_suspended(void)
gboolean
rda_session_suspend(void)
{
+#ifdef WITH_X2GO_AWARENESS
if (rda_session_is_x2go())
return rda_session_suspend_x2go();
+#endif
+#ifdef WITH_OGON_AWARENESS
if (rda_session_is_ogon())
return rda_session_suspend_ogon();
+#endif
return FALSE;
}
@@ -145,11 +162,15 @@ rda_session_suspend(void)
gboolean
rda_session_terminate(void)
{
+#ifdef WITH_X2GO_AWARENESS
if (rda_session_is_x2go())
return rda_session_terminate_x2go();
+#endif
+#ifdef WITH_OGON_AWARENESS
if (rda_session_is_ogon())
return rda_session_terminate_ogon();
+#endif
return FALSE;
}
diff --git a/src/rda_ogon.c b/src/rda_ogon.c
index ab86b57..f4338f6 100644
--- a/src/rda_ogon.c
+++ b/src/rda_ogon.c
@@ -26,6 +26,8 @@
#include <rda.h>
+#ifdef WITH_OGON_AWARENESS
+
gboolean
rda_session_is_ogon (void)
{
@@ -92,3 +94,5 @@ rda_session_terminate_ogon(void)
return FALSE;
}
}
+
+#endif /* WITH_OGON_AWARENESS */ \ No newline at end of file
diff --git a/src/rda_ogon.h b/src/rda_ogon.h
index 76e60f7..dcd4463 100644
--- a/src/rda_ogon.h
+++ b/src/rda_ogon.h
@@ -29,6 +29,8 @@
#include <rda.h>
+#ifdef WITH_OGON_AWARENESS
+
gboolean
rda_session_is_ogon (void);
@@ -38,4 +40,6 @@ rda_session_suspend_ogon (void);
gboolean
rda_session_terminate_ogon (void);
+#endif /* WITH_OGON_AWARENESS */
+
#endif /* RDA_OGON_H */
diff --git a/src/rda_x2go.c b/src/rda_x2go.c
index 8850aa0..6072888 100644
--- a/src/rda_x2go.c
+++ b/src/rda_x2go.c
@@ -26,6 +26,8 @@
#include <rda.h>
+#ifdef WITH_X2GO_AWARENESS
+
gboolean
rda_session_is_x2go (void)
{
@@ -92,3 +94,5 @@ rda_session_terminate_x2go(void)
return FALSE;
}
}
+
+#endif /* WITH_X2GO_AWARENESS */ \ No newline at end of file
diff --git a/src/rda_x2go.h b/src/rda_x2go.h
index f063a0e..34b8ebc 100644
--- a/src/rda_x2go.h
+++ b/src/rda_x2go.h
@@ -29,6 +29,8 @@
#include <rda.h>
+#ifdef WITH_X2GO_AWARENESS
+
gboolean
rda_session_is_x2go (void);
@@ -38,4 +40,6 @@ rda_session_suspend_x2go(void);
gboolean
rda_session_terminate_x2go(void);
+#endif /* WITH_X2GO_AWARENESS */
+
#endif /* RDA_X2GO_H */