summaryrefslogtreecommitdiffstats
path: root/opensuse/tdebase/ksysguardd-openslp.diff
diff options
context:
space:
mode:
Diffstat (limited to 'opensuse/tdebase/ksysguardd-openslp.diff')
-rw-r--r--opensuse/tdebase/ksysguardd-openslp.diff288
1 files changed, 0 insertions, 288 deletions
diff --git a/opensuse/tdebase/ksysguardd-openslp.diff b/opensuse/tdebase/ksysguardd-openslp.diff
deleted file mode 100644
index 4cb0e3795..000000000
--- a/opensuse/tdebase/ksysguardd-openslp.diff
+++ /dev/null
@@ -1,288 +0,0 @@
---- ksysguard/configure.in.in
-+++ ksysguard/configure.in.in
-@@ -45,5 +45,34 @@
- AC_SUBST(LIBHOSTS)
- AC_SUBST(LIBSENSORS)
-
-+# check for SLP
-+dnl define the configure option that disables slp
-+AC_ARG_ENABLE(slp, [ --disable-slp don't require libslp (ksysguard do not find daemons) ], with_slp=$enableval, with_slp=yes)
-+if test "$with_slp" = "yes"; then
-+AC_MSG_CHECKING(for SLP support)
-+save_slptest_LIBS="$LIBS"
-+save_slptest_LDFLAGS="$LDFLAGS"
-+save_slptest_CPPFLAGS="$CPPFLAGS"
-+LDFLAGS="$all_libraries $LDFLAGS"
-+CPPFLAGS="$CPPFLAGS $all_includes"
-+LIBS="-lslp"
-+AC_TRY_LINK( [
-+ #include <slp.h>
-+ ],[
-+ SLPOpen(0, SLP_FALSE, (SLPHandle*) 0);
-+ ],[
-+ AC_DEFINE(HAVE_SLP,1,[Define if SLP is available])
-+ LIB_SLP="-lslp"
-+ AC_MSG_RESULT(yes)
-+ ],[
-+ AC_MSG_RESULT(no)
-+ LIB_SLP=""
-+])
-+CPPFLAGS=$save_slptest_CPPFLAGS
-+LDFLAGS=$save_slptest_LDFLAGS
-+LIBS=$save_slptest_LIBS
-+fi
-+AC_SUBST(LIB_SLP)
-+
- dnl Check for dell laptop support
- AM_CONDITIONAL(supports_i8k, test -f /proc/i8k)
---- ksysguard/example/ksysguarddrc
-+++ ksysguard/example/ksysguarddrc
-@@ -1,5 +1,8 @@
- # /etc/ksysguardd.conf
-
-+# refresh SLP registration
-+SLPrefresh=1800
-+
- # LogFiles: the list of all available logfiles
- LogFiles=messages:/var/log/messages,kern:/var/log/kern.log,daemon:/var/log/daemon.log
-
---- ksysguard/gui/Makefile.am
-+++ ksysguard/gui/Makefile.am
-@@ -31,7 +31,7 @@
- ksysguard_LDADD = \
- ksgrd/libksgrd.la \
- SensorDisplayLib/libsensordisplays.la \
-- $(LIB_KDEUI) $(LIB_KIO) $(LIB_KDNSSD)
-+ $(LIB_KDEUI) $(LIB_KIO) $(LIB_KDNSSD) $(LIB_SLP)
- ksysguard_LDFLAGS = $(all_libraries) $(KDE_RPATH)
-
- kpm_SOURCES = kpm.c
---- ksysguard/gui/ksysguard.cc
-+++ ksysguard/gui/ksysguard.cc
-@@ -34,6 +34,8 @@
- #include <stdlib.h>
- #include <unistd.h>
-
-+#include <qregexp.h>
-+
- #include <kaboutdata.h>
- #include <kaction.h>
- #include <kapplication.h>
-@@ -280,6 +282,46 @@
- mSplitter->setSizes( sizes );
- }
-
-+#if HAVE_SLP
-+
-+SLPBoolean MySLPSrvURLCallback( SLPHandle phslp,
-+ const char* srvurl,
-+ unsigned short lifetime,
-+ SLPError errcode,
-+ void* cookie )
-+{
-+ QRegExp r("^service:ksysguardd.kde://(\\w+):(.*)$");
-+
-+ if ( r.search(srvurl) >= 0 ){
-+ QString host( r.cap(1) );
-+ int port = r.cap(2).toInt() ;
-+
-+ if ( !host.isEmpty() && port > 0 )
-+ KSGRD::SensorMgr->engage( host, "", "", port );
-+ };
-+ return SLP_TRUE;
-+}
-+
-+void TopLevel::rescanSLP( bool enableErrorPopup )
-+{
-+ SLPHandle phslp;
-+ SLPError result;
-+ result = SLPOpen( NULL, SLP_FALSE, &phslp);
-+ if (result != SLP_OK)
-+ qWarning( "SLPOpen failed" ); // TODO: KMessagebox
-+ else {
-+ result = SLPFindSrvs( phslp,
-+ "service:ksysguardd.kde",
-+ "", // TODO: Scope selector
-+ "", // all services
-+ MySLPSrvURLCallback,
-+ this );
-+ if (result != SLP_OK)
-+ qWarning( "unable to register SLP service" ); // TODO: KMessageBox
-+ }
-+}
-+#endif
-+
- void TopLevel::initStatusBar()
- {
- KSGRD::SensorMgr->engage( "localhost", "", "ksysguardd" );
-@@ -363,6 +405,10 @@
- KSGRD::SensorMgr->sendRequest( "localhost", "mem/swap/used",
- (KSGRD::SensorClient*)this, 4 );
- }
-+
-+#if HAVE_SLP
-+ rescanSLP();
-+#endif
- }
-
- bool TopLevel::queryClose()
---- ksysguard/gui/ksysguard.h
-+++ ksysguard/gui/ksysguard.h
-@@ -24,6 +24,8 @@
- #ifndef KSG_KSYSGUARD_H
- #define KSG_KSYSGUARD_H
-
-+#include <config.h>
-+
- #include <qevent.h>
-
- #include <dcopclient.h>
-@@ -34,6 +36,10 @@
-
- #include <ksgrd/SensorClient.h>
-
-+#if HAVE_SLP
-+#include <slp.h>
-+#endif
-+
- class KRecentFilesAction;
- class KToggleAction;
-
-@@ -77,6 +83,9 @@
- virtual void customEvent( QCustomEvent* );
- virtual void timerEvent( QTimerEvent* );
- virtual bool queryClose();
-+#if HAVE_SLP
-+ virtual void rescanSLP( bool enableErrorPopup = FALSE );
-+#endif
-
- protected slots:
- void connectHost();
---- ksysguard/ksysguardd/Makefile.am
-+++ ksysguard/ksysguardd/Makefile.am
-@@ -31,5 +31,5 @@
- bin_PROGRAMS = ksysguardd
-
- ksysguardd_SOURCES = Command.c conf.c ksysguardd.c PWUIDCache.c
--ksysguardd_LDFLAGS = $(all_libraries)
-+ksysguardd_LDFLAGS = $(all_libraries) $(LIB_SLP)
- ksysguardd_LDADD = $(top_builddir)/ksysguard/ksysguardd/$(UNAME)/libksysguardd.a ../CContLib/libccont.a -lkdefakes_nonpic $(LIBHOSTS) $(LIB_DNSSD) $(LIB_KINFO)
---- ksysguard/ksysguardd/conf.c
-+++ ksysguard/ksysguardd/conf.c
-@@ -56,6 +56,7 @@
- char *begin, *token, *tmp;
- ConfigLogFile *confLog;
-
-+ confSLPrefresh = 0;
- LogFileList = new_ctnr();
- SensorList = new_ctnr();
-
-@@ -93,6 +94,10 @@
- if ( line[ strlen( line ) - 1 ] == '\n' )
- line[ strlen( line ) - 1 ] = '\0';
-
-+ if ( !strncmp( line, "SLPrefresh=", 11 ) ) {
-+ confSLPrefresh = atoi( line + 11 );
-+ };
-+
- if ( !strncmp( line, "RegisterDomain",14) && (begin = strchr( line, '=' )) ) RegisterDomain=strdup(begin+1);
-
- if ( !strncmp( line, "LogFiles", 8 ) && (begin = strchr( line, '=' )) ) {
---- ksysguard/ksysguardd/conf.h
-+++ ksysguard/ksysguardd/conf.h
-@@ -30,6 +30,8 @@
-
- extern char* RegisterDomain;
-
-+short confSLPrefresh;
-+
- void parseConfigFile( const char *filename );
- void freeConfigFile();
-
---- ksysguard/ksysguardd/ksysguardd.c
-+++ ksysguard/ksysguardd/ksysguardd.c
-@@ -43,6 +43,10 @@
- #ifdef HAVE_DNSSD
- #include <dns_sd.h>
- #endif
-+#if HAVE_SLP
-+#include <slp.h>
-+#endif
-+
- #include "modules.h"
-
- #include "ksysguardd.h"
-@@ -348,6 +352,62 @@
- #endif
-
-
-+#if HAVE_SLP
-+void mySLPRegReport(SLPHandle hslp, SLPError errcode, void *cookie)
-+{
-+ if (errcode)
-+ log_error( "SLP (de)registration error" );
-+}
-+
-+void register_slp();
-+
-+void refresh_slp()
-+{
-+ register_slp();
-+}
-+
-+void register_slp()
-+{
-+ SLPHandle phslp;
-+ SLPError result;
-+ int slp_timeout = confSLPrefresh;
-+ struct sigaction act, oact;
-+
-+ if ( slp_timeout < 120 ) /* do not bomb the slp server with wrong config */
-+ slp_timeout = 120 ;
-+ if ( slp_timeout > SLP_LIFETIME_MAXIMUM )
-+ slp_timeout = SLP_LIFETIME_MAXIMUM;
-+
-+ result = SLPOpen( NULL, SLP_FALSE, &phslp);
-+ if (result != SLP_OK)
-+ log_error( "SLPOpen failed" );
-+ else {
-+ char hostname[1024];
-+ char SLPServiceUrl[2048];
-+ gethostname( hostname, 1023 );
-+ snprintf( SLPServiceUrl, 1023, "service:ksysguardd.kde://%s:%i", hostname, SocketPort );
-+
-+ result = SLPReg( phslp,
-+ SLPServiceUrl,
-+ slp_timeout,
-+ 0,
-+ "",
-+ SLP_TRUE,
-+ mySLPRegReport,
-+ 0 );
-+
-+ if (result != SLP_OK)
-+ log_error( "unable to register SLP service" );
-+ SLPClose( phslp );
-+
-+ act.sa_handler = refresh_slp;
-+ if (0 != sigaction(SIGALRM, &act, &oact))
-+ log_error("Error establishing signal handler for SLP");
-+ alarm(slp_timeout - 15);
-+ }
-+}
-+#endif
-+
- int createServerSocket()
- {
- int i = 1;
-@@ -402,6 +462,10 @@
- ServiceSocket = DNSServiceRefSockFD(Ref);
- #endif
-
-+#if HAVE_SLP
-+ if ( BindToAllInterfaces )
-+ register_slp();
-+#endif
- return newSocket;
- }
-