parent
7d92c9326f
commit
941d8c3b96
@ -1 +1 @@
|
||||
SUBDIRS = scope commanalyzer fpgaview fpgaprogram sensormonitor adminconsole
|
||||
SUBDIRS = scope commanalyzer fpgaview fpgaprogram sensormonitor adminconsole adminusermgmt
|
||||
|
@ -0,0 +1,11 @@
|
||||
INCLUDES = $(all_includes) -I$(top_srcdir)/src -I$(top_srcdir)/src/widgets $(KDE_INCLUDES)/tde
|
||||
KDE_CXXFLAGS = $(USE_EXCEPTIONS)
|
||||
METASOURCES = AUTO
|
||||
|
||||
KDE_ICON = libremotelab_adminconsole
|
||||
|
||||
# Part
|
||||
kde_module_LTLIBRARIES = libremotelab_adminconsole.la
|
||||
libremotelab_adminconsole_la_LIBADD = ../../widgets/libtracewidget.la ../../widgets/libfloatspinbox.la $(LIB_KFILE) $(LIB_KPARTS) $(LIB_TDEUI) $(LIB_QT) -ltdekrbsocket -ltqtrla
|
||||
libremotelab_adminconsole_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) $(LIB_TDECORE) $(LIB_TDEUI) -lkio -ltdefx
|
||||
libremotelab_adminconsole_la_SOURCES = part.cpp layout.ui terminatedlg.cpp terminatedlgbase.ui
|
After Width: | Height: | Size: 650 B |
@ -0,0 +1,341 @@
|
||||
<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
|
||||
<class>AdminConsoleBase</class>
|
||||
<widget class="TQWidget">
|
||||
<property name="name">
|
||||
<cstring>AdminConsoleBase</cstring>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>519</width>
|
||||
<height>356</height>
|
||||
</rect>
|
||||
</property>
|
||||
<grid>
|
||||
<property name="name">
|
||||
<cstring>unnamed_grid</cstring>
|
||||
</property>
|
||||
<widget class="TQGroupBox" row="0" column="0">
|
||||
<property name="name">
|
||||
<cstring>groupTerminalServices</cstring>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Terminal Services</string>
|
||||
</property>
|
||||
<grid>
|
||||
<property name="name">
|
||||
<cstring>unnamed_grid</cstring>
|
||||
</property>
|
||||
<widget class="TQSplitter" row="1" column="0" colspan="4">
|
||||
<property name="name">
|
||||
<cstring>splitter1</cstring>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Vertical</enum>
|
||||
</property>
|
||||
<widget class="KListView" row="1" column="0" colspan="4">
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Session ID</string>
|
||||
</property>
|
||||
<property name="clickable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="resizeable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>User Name</string>
|
||||
</property>
|
||||
<property name="clickable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="resizeable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Server Name</string>
|
||||
</property>
|
||||
<property name="clickable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="resizeable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Control PID</string>
|
||||
</property>
|
||||
<property name="clickable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="resizeable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Window Manager PID</string>
|
||||
</property>
|
||||
<property name="clickable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="resizeable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>X11 Display Number</string>
|
||||
</property>
|
||||
<property name="clickable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="resizeable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Logon Date</string>
|
||||
</property>
|
||||
<property name="clickable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="resizeable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Last Session Management Activity</string>
|
||||
</property>
|
||||
<property name="clickable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="resizeable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</column>
|
||||
<property name="name">
|
||||
<cstring>ts_list</cstring>
|
||||
</property>
|
||||
<property name="rootIsDecorated">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="TQLayoutWidget" row="2" column="0" colspan="4">
|
||||
<property name="name">
|
||||
<cstring>unnamed_layoutwidget1</cstring>
|
||||
</property>
|
||||
<grid>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="TQLayoutWidget" row="0" column="0">
|
||||
<property name="name">
|
||||
<cstring>ts_controls</cstring>
|
||||
</property>
|
||||
<grid>
|
||||
<property name="name">
|
||||
<cstring>unnamed_grid3</cstring>
|
||||
</property>
|
||||
<widget class="TQPushButton" row="0" column="0" colspan="1">
|
||||
<property name="name">
|
||||
<cstring>ts_buttonKill</cstring>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Terminate Session</string>
|
||||
</property>
|
||||
</widget>
|
||||
</grid>
|
||||
</widget>
|
||||
<spacer row="4" column="0">
|
||||
<property name="name" stdset="0">
|
||||
<cstring>Spacer4</cstring>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</grid>
|
||||
</widget>
|
||||
</widget>
|
||||
</grid>
|
||||
</widget>
|
||||
<widget class="TQGroupBox" row="1" column="0">
|
||||
<property name="name">
|
||||
<cstring>groupWorkspaces</cstring>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Workspaces</string>
|
||||
</property>
|
||||
<grid>
|
||||
<property name="name">
|
||||
<cstring>unnamed_grid</cstring>
|
||||
</property>
|
||||
<widget class="TQSplitter" row="1" column="0" colspan="4">
|
||||
<property name="name">
|
||||
<cstring>splitter1</cstring>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Vertical</enum>
|
||||
</property>
|
||||
<widget class="KListView" row="1" column="0" colspan="4">
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Session ID</string>
|
||||
</property>
|
||||
<property name="clickable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="resizeable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>User Name</string>
|
||||
</property>
|
||||
<property name="clickable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="resizeable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Realm Name</string>
|
||||
</property>
|
||||
<property name="clickable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="resizeable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Server ID</string>
|
||||
</property>
|
||||
<property name="clickable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="resizeable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Logon Date</string>
|
||||
</property>
|
||||
<property name="clickable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="resizeable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Forced Logoff Date</string>
|
||||
</property>
|
||||
<property name="clickable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="resizeable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</column>
|
||||
<property name="name">
|
||||
<cstring>workspace_list</cstring>
|
||||
</property>
|
||||
<property name="rootIsDecorated">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="TQLayoutWidget" row="2" column="0" colspan="4">
|
||||
<property name="name">
|
||||
<cstring>unnamed_layoutwidget1</cstring>
|
||||
</property>
|
||||
<grid>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="TQLayoutWidget" row="0" column="0">
|
||||
<property name="name">
|
||||
<cstring>workspace_controls</cstring>
|
||||
</property>
|
||||
<grid>
|
||||
<property name="name">
|
||||
<cstring>unnamed_grid3</cstring>
|
||||
</property>
|
||||
<widget class="TQPushButton" row="0" column="0" colspan="1">
|
||||
<property name="name">
|
||||
<cstring>workspace_buttonTerminate</cstring>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Terminate Workspace</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="TQPushButton" row="0" column="1" colspan="1">
|
||||
<property name="name">
|
||||
<cstring>workspace_buttonCancelTermination</cstring>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Cancel Termination</string>
|
||||
</property>
|
||||
</widget>
|
||||
</grid>
|
||||
</widget>
|
||||
<spacer row="4" column="0">
|
||||
<property name="name" stdset="0">
|
||||
<cstring>Spacer4</cstring>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</grid>
|
||||
</widget>
|
||||
</widget>
|
||||
</grid>
|
||||
</widget>
|
||||
</grid>
|
||||
</widget>
|
||||
<includes>
|
||||
<include location="local" impldecl="in implementation">AdminConsoleBase.ui.h</include>
|
||||
</includes>
|
||||
<includes>
|
||||
<include location="local" impldecl="in implementation">tracewidget.h</include>
|
||||
<include location="local" impldecl="in implementation">floatspinbox.h</include>
|
||||
<include location="local" impldecl="in implementation">part.h</include>
|
||||
</includes>
|
||||
<layoutdefaults spacing="3" margin="6"/>
|
||||
<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
|
||||
</UI>
|
@ -0,0 +1,639 @@
|
||||
/*
|
||||
* Remote Laboratory User Management Part
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* (c) 2013 Timothy Pearson
|
||||
* Raptor Engineering
|
||||
* http://www.raptorengineeringinc.com
|
||||
*/
|
||||
|
||||
#include "define.h"
|
||||
#include "part.h"
|
||||
|
||||
#include <kaboutdata.h> //::createAboutData()
|
||||
#include <kaction.h>
|
||||
#include <klocale.h>
|
||||
#include <ktextedit.h>
|
||||
#include <kfiledialog.h>
|
||||
#include <kmessagebox.h> //::start()
|
||||
#include <kparts/genericfactory.h>
|
||||
#include <kstatusbar.h>
|
||||
#include <kstdaction.h>
|
||||
#include <knuminput.h>
|
||||
#include <kmdcodec.h>
|
||||
#include <kurlrequester.h>
|
||||
#include <tqfile.h> //encodeName()
|
||||
#include <tqtimer.h> //postInit() hack
|
||||
#include <tqvbox.h>
|
||||
#include <tqsocket.h>
|
||||
#include <tqmutex.h>
|
||||
#include <tqeventloop.h>
|
||||
#include <tqapplication.h>
|
||||
#include <tqgroupbox.h>
|
||||
#include <tqcheckbox.h>
|
||||
#include <tqpushbutton.h>
|
||||
#include <tqprogressbar.h>
|
||||
#include <tqlistview.h>
|
||||
#include <klistview.h>
|
||||
#include <unistd.h> //access()
|
||||
#include <stdint.h>
|
||||
|
||||
#include <tqpainter.h>
|
||||
|
||||
#include "tracewidget.h"
|
||||
#include "floatspinbox.h"
|
||||
#include "layout.h"
|
||||
#include "terminatedlg.h"
|
||||
|
||||
#define NETWORK_COMM_TIMEOUT_MS 2500
|
||||
|
||||
enum connectionModes {
|
||||
ModeIdle = 0,
|
||||
ModeTerminate = 1
|
||||
};
|
||||
|
||||
enum connectionStates {
|
||||
ModeIdle_None = 0,
|
||||
ModeIdle_StateTerminalListRequest = 1,
|
||||
ModeIdle_StateProcessTerminalList = 2,
|
||||
ModeIdle_StateWorkspaceListRequest = 3,
|
||||
ModeIdle_StateProcessWorkspaceList = 4,
|
||||
ModeIdle_StateDelay = 5,
|
||||
ModeTerminate_TerminalServices = 6,
|
||||
ModeTerminate_LaboratoryWorkspace = 7,
|
||||
ModeTerminate_CancelTerminationOfWorkspace = 8,
|
||||
ModeTerminate_ProcessResponse = 9
|
||||
};
|
||||
|
||||
namespace RemoteLab {
|
||||
|
||||
typedef KParts::GenericFactory<RemoteLab::UserManagementPart> Factory;
|
||||
#define CLIENT_LIBRARY "libremotelab_adminconsole"
|
||||
K_EXPORT_COMPONENT_FACTORY(libremotelab_adminconsole, RemoteLab::Factory)
|
||||
|
||||
UserManagementPart::UserManagementPart(TQWidget *parentWidget, const char *widgetName, TQObject *parent, const char *name, const TQStringList&)
|
||||
: RemoteInstrumentPart( parent, name ), m_base(NULL), m_commHandlerState(0), m_connectionActiveAndValid(false), m_tickerState(0)
|
||||
{
|
||||
// Initialize important base class variables
|
||||
m_clientLibraryName = CLIENT_LIBRARY;
|
||||
|
||||
// Initialize mutex
|
||||
m_connectionMutex = new TQMutex(false);
|
||||
|
||||
// Initialize kpart
|
||||
setInstance(Factory::instance());
|
||||
setWidget(new TQVBox(parentWidget, widgetName));
|
||||
|
||||
// Create timers
|
||||
m_forcedUpdateTimer = new TQTimer(this);
|
||||
connect(m_forcedUpdateTimer, SIGNAL(timeout()), this, SLOT(mainEventLoop()));
|
||||
m_updateTimeoutTimer = new TQTimer(this);
|
||||
connect(m_updateTimeoutTimer, SIGNAL(timeout()), this, SLOT(mainEventLoop()));
|
||||
m_pingDelayTimer = new TQTimer(this);
|
||||
connect(m_pingDelayTimer, SIGNAL(timeout()), this, SLOT(mainEventLoop()));
|
||||
|
||||
// Create widgets
|
||||
m_base = new UserManagementBase(widget());
|
||||
|
||||
// Initialize widgets
|
||||
connect(m_base->ts_buttonKill, SIGNAL(clicked()), this, SLOT(terminalServiceKillButtonClicked()));
|
||||
connect(m_base->workspace_buttonTerminate, SIGNAL(clicked()), this, SLOT(workspaceTerminateButtonClicked()));
|
||||
connect(m_base->workspace_buttonCancelTermination, SIGNAL(clicked()), this, SLOT(workspaceCancelTerminationButtonClicked()));
|
||||
|
||||
m_base->ts_list->setAllColumnsShowFocus(true);
|
||||
connect(m_base->ts_list, SIGNAL(selectionChanged()), this, SLOT(terminalServiceListSelect()));
|
||||
m_base->workspace_list->setAllColumnsShowFocus(true);
|
||||
connect(m_base->workspace_list, SIGNAL(selectionChanged()), this, SLOT(workspaceListSelect()));
|
||||
|
||||
TQTimer::singleShot(0, this, TQT_SLOT(postInit()));
|
||||
}
|
||||
|
||||
UserManagementPart::~UserManagementPart() {
|
||||
if (m_connectionMutex->locked()) {
|
||||
printf("[WARNING] Exiting when data transfer still in progress!\n\r"); fflush(stdout);
|
||||
}
|
||||
|
||||
disconnectFromServer();
|
||||
delete m_connectionMutex;
|
||||
}
|
||||
|
||||
void UserManagementPart::processLockouts() {
|
||||
TQWidget* mainWidget = widget();
|
||||
if (mainWidget) {
|
||||
if ((m_socket) && (m_socket->state() == TQSocket::Connected) && (connToServerState > 0) && (connToServerConnecting == false) && (m_commHandlerNextMode == ModeIdle)) {
|
||||
mainWidget->setEnabled(true);
|
||||
}
|
||||
else {
|
||||
mainWidget->setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
if ((m_connectionActiveAndValid == true) && (m_base->ts_list->selectedItem())) {
|
||||
m_base->ts_buttonKill->setEnabled(true);
|
||||
}
|
||||
else {
|
||||
m_base->ts_buttonKill->setEnabled(false);
|
||||
}
|
||||
|
||||
if ((m_connectionActiveAndValid == true) && (m_base->workspace_list->selectedItem())) {
|
||||
m_base->workspace_buttonTerminate->setEnabled(true);
|
||||
}
|
||||
else {
|
||||
m_base->workspace_buttonTerminate->setEnabled(false);
|
||||
}
|
||||
|
||||
if ((m_connectionActiveAndValid == true) && (m_base->workspace_list->selectedItem())) {
|
||||
m_base->workspace_buttonCancelTermination->setEnabled(true);
|
||||
}
|
||||
else {
|
||||
m_base->workspace_buttonCancelTermination->setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
void UserManagementPart::resizeToHint() {
|
||||
resize(widget()->sizeHint());
|
||||
}
|
||||
|
||||
void UserManagementPart::connectionClosed() {
|
||||
closeURL();
|
||||
}
|
||||
|
||||
void UserManagementPart::postInit() {
|
||||
setUsingFixedSize(false);
|
||||
}
|
||||
|
||||
bool UserManagementPart::openURL(const KURL &url) {
|
||||
int ret;
|
||||
ret = connectToServer(url.url());
|
||||
processLockouts();
|
||||
return (ret != 0);
|
||||
}
|
||||
|
||||
bool UserManagementPart::closeURL() {
|
||||
disconnectFromServer();
|
||||
m_url = KURL();
|
||||
return true;
|
||||
}
|
||||
|
||||
void UserManagementPart::disconnectFromServerCallback() {
|
||||
m_forcedUpdateTimer->stop();
|
||||
m_updateTimeoutTimer->stop();
|
||||
}
|
||||
|
||||
void UserManagementPart::connectionFinishedCallback() {
|
||||
connect(m_socket, SIGNAL(readyRead()), m_socket, SLOT(processPendingData()));
|
||||
m_socket->processPendingData();
|
||||
connect(m_socket, SIGNAL(newDataReceived()), this, SLOT(mainEventLoop()));
|
||||
m_tickerState = 0;
|
||||
m_commHandlerState = ModeIdle_StateTerminalListRequest;
|
||||
m_commHandlerMode = ModeIdle;
|
||||
m_commHandlerNextState = ModeIdle_None;
|
||||
m_commHandlerNextMode = ModeIdle;
|
||||
m_socket->setDataTimeout(NETWORK_COMM_TIMEOUT_MS);
|
||||
m_updateTimeoutTimer->start(NETWORK_COMM_TIMEOUT_MS, TRUE);
|
||||
processLockouts();
|
||||
mainEventLoop();
|
||||
return;
|
||||
}
|
||||
|
||||
void UserManagementPart::connectionStatusChangedCallback() {
|
||||
processLockouts();
|
||||
}
|
||||
|
||||
void UserManagementPart::terminalServiceKillButtonClicked() {
|
||||
TQListViewItem* item = m_base->ts_list->selectedItem();
|
||||
|
||||
TerminateDialog termdlg(0);
|
||||
termdlg.setWarningLabelText(i18n("Configure termination of Terminal Services for user %1").arg(item->text(1)));
|
||||
termdlg.enableDelayedTermination(false);
|
||||
if (termdlg.exec() == TQDialog::Accepted) {
|
||||
terminateSessionID = item->text(0);
|
||||
terminateSessionDelayMinutes = termdlg.minutes();
|
||||
m_commHandlerNextState = ModeTerminate_TerminalServices;
|
||||
m_commHandlerNextMode = ModeTerminate;
|
||||
}
|
||||
|
||||
processLockouts();
|
||||
}
|
||||
|
||||
void UserManagementPart::workspaceTerminateButtonClicked() {
|
||||
TQListViewItem* item = m_base->workspace_list->selectedItem();
|
||||
|
||||
TerminateDialog termdlg(0);
|
||||
termdlg.setWarningLabelText(i18n("Configure termination of Laboratory Workspace for user %1").arg(item->text(1)));
|
||||
termdlg.enableDelayedTermination(true);
|
||||
if (termdlg.exec() == TQDialog::Accepted) {
|
||||
terminateSessionID = item->text(0);
|
||||
terminateSessionDelayMinutes = termdlg.minutes();
|
||||
m_commHandlerNextState = ModeTerminate_LaboratoryWorkspace;
|
||||
m_commHandlerNextMode = ModeTerminate;
|
||||
}
|
||||
|
||||
processLockouts();
|
||||
}
|
||||
|
||||
void UserManagementPart::workspaceCancelTerminationButtonClicked() {
|
||||
TQListViewItem* item = m_base->workspace_list->selectedItem();
|
||||
|
||||
terminateSessionID = item->text(0);
|
||||
m_commHandlerNextState = ModeTerminate_CancelTerminationOfWorkspace;
|
||||
m_commHandlerNextMode = ModeTerminate;
|
||||
|
||||
processLockouts();
|
||||
}
|
||||
|
||||
void UserManagementPart::terminalServiceListSelect() {
|
||||
// Highlight the matching user session in the workspace list,
|
||||
// or deselect all workspace list items if no matching workspace session is found
|
||||
|
||||
TQListViewItem* item = m_base->ts_list->selectedItem();
|
||||
if (item) {
|
||||
TQString username = item->text(1);
|
||||
|
||||
TQListViewItemIterator it;
|
||||
it = TQListViewItemIterator(m_base->workspace_list);
|
||||
bool found = false;
|
||||
TQListViewItem* item2 = NULL;
|
||||
while (it.current()) {
|
||||
item2 = *it;
|
||||
if (item2->text(1) == username) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
++it;
|
||||
}
|
||||
if (found) {
|
||||
m_base->workspace_list->setCurrentItem(item2);
|
||||
}
|
||||
else {
|
||||
m_base->workspace_list->clearSelection();
|
||||
}
|
||||
}
|
||||
else {
|
||||
m_base->workspace_list->clearSelection();
|
||||
}
|
||||
|
||||
processLockouts();
|
||||
}
|
||||
|
||||
void UserManagementPart::workspaceListSelect() {
|
||||
// Highlight the matching user session in the terminal services list,
|
||||
// or deselect all workspace list items if no matching terminal services session is found
|
||||
|
||||
TQListViewItem* item = m_base->workspace_list->selectedItem();
|
||||
if (item) {
|
||||
TQString username = item->text(1);
|
||||
|
||||
TQListViewItemIterator it;
|
||||
it = TQListViewItemIterator(m_base->ts_list);
|
||||
bool found = false;
|
||||
TQListViewItem* item2 = NULL;
|
||||
while (it.current()) {
|
||||
item2 = *it;
|
||||
if (item2->text(1) == username) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
++it;
|
||||
}
|
||||
if (found) {
|
||||
m_base->ts_list->setCurrentItem(item2);
|
||||
}
|
||||
else {
|
||||
m_base->ts_list->clearSelection();
|
||||
}
|
||||
}
|
||||
else {
|
||||
m_base->ts_list->clearSelection();
|
||||
}
|
||||
|
||||
processLockouts();
|
||||
}
|
||||
|
||||
#define UPDATEDISPLAY_TIMEOUT m_connectionActiveAndValid = false; \
|
||||
m_tickerState = 0; \
|
||||
m_commHandlerState = ModeIdle_StateTerminalListRequest; \
|
||||
m_commHandlerMode = ModeIdle; \
|
||||
m_commHandlerNextState = ModeIdle_None; \
|
||||
m_commHandlerNextMode = ModeIdle; \
|
||||
m_socket->clearIncomingData(); \
|
||||
setStatusMessage(i18n("Server ping timeout. Please verify the status of your network connection.")); \
|
||||
m_updateTimeoutTimer->start(NETWORK_COMM_TIMEOUT_MS, TRUE); \
|
||||
m_connectionMutex->unlock(); \
|
||||
return;
|
||||
|
||||
#define SET_WATCHDOG_TIMER if (!m_updateTimeoutTimer->isActive()) m_updateTimeoutTimer->start(NETWORK_COMM_TIMEOUT_MS, TRUE);
|
||||
#define PAT_WATCHDOG_TIMER m_updateTimeoutTimer->stop(); m_updateTimeoutTimer->start(NETWORK_COMM_TIMEOUT_MS, TRUE);
|
||||
|
||||
#define SET_NEXT_STATE(x) m_commHandlerState = x;
|
||||
|
||||
#define EXEC_NEXT_STATE_IMMEDIATELY m_forcedUpdateTimer->start(0, TRUE);
|
||||
|
||||
void UserManagementPart::setTickerMessage(TQString message) {
|
||||
m_connectionActiveAndValid = true;
|
||||
TQString tickerChar;
|
||||
switch (m_tickerState) {
|
||||
case 0:
|
||||
tickerChar = "-";
|
||||
break;
|
||||
case 1:
|
||||
tickerChar = "\\";
|
||||
break;
|
||||
case 2:
|
||||
tickerChar = "|";
|
||||
break;
|
||||
case 3:
|
||||
tickerChar = "/";
|
||||
break;
|
||||
}
|
||||
setStatusMessage(message + TQString("... %1").arg(tickerChar));
|
||||
m_tickerState++;
|
||||
if (m_tickerState > 3) {
|
||||
m_tickerState = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void UserManagementPart::mainEventLoop() {
|
||||
TQDataStream ds(m_socket);
|
||||
ds.setPrintableData(true);
|
||||
|
||||
if (!m_connectionMutex->tryLock()) {
|
||||
EXEC_NEXT_STATE_IMMEDIATELY
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_socket) {
|
||||
if (m_commHandlerMode == ModeIdle) {
|
||||
// Normal operation
|
||||
switch (m_commHandlerState) {
|
||||
case ModeIdle_StateTerminalListRequest:
|
||||
// Get status of remote system
|
||||
// Clear buffers to synchronize frames in case of data corruption
|
||||
m_socket->clearIncomingData();
|
||||
ds << TQString("USERS");
|
||||
ds << TQString("TERMINALS");
|
||||
m_socket->writeEndOfFrame();
|
||||
|
||||
SET_NEXT_STATE(ModeIdle_StateProcessTerminalList)
|
||||
break;
|
||||
case ModeIdle_StateProcessTerminalList:
|
||||
// Get all data
|
||||
if (m_socket->canReadFrame()) {
|
||||
PAT_WATCHDOG_TIMER
|
||||
|
||||
TQString status;
|
||||
TerminalServiceStatusList list;
|
||||
ds >> status;
|
||||
if (status == "OK") {
|
||||
ds >> list;
|
||||
m_socket->clearFrameTail();
|
||||
|
||||
TerminalServiceStatusList::iterator it;
|
||||
TQListViewItemIterator it2;
|
||||
|
||||
for (it = list.begin(); it != list.end(); ++it) {
|
||||
TerminalServiceStatusType info = *it;
|
||||
it2 = TQListViewItemIterator(m_base->ts_list);
|
||||
bool found = false;
|
||||
TQListViewItem* item = NULL;
|
||||
while (it2.current()) {
|
||||
item = *it2;
|
||||
if (info.sessionID == item->text(0).toInt()) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
++it2;
|
||||
}
|
||||
if (!found) {
|
||||
item = new TQListViewItem(m_base->ts_list);
|
||||
}
|
||||
item->setText(0, TQString("%1").arg(info.sessionID));
|
||||
item->setText(1, info.username);
|
||||
item->setText(2, info.serverName);
|
||||
item->setText(3, TQString("%1").arg(info.serverPID));
|
||||
item->setText(4, TQString("%1").arg(info.wmPID));
|
||||
item->setText(5, TQString(":%1").arg(info.display));
|
||||
item->setText(6, info.loginStamp.toString());
|
||||
item->setText(7, info.activityStamp.toString());
|
||||
}
|
||||
it2 = TQListViewItemIterator(m_base->ts_list);
|
||||
while (it2.current()) {
|
||||
TQListViewItem* item = *it2;
|
||||
bool found = false;
|
||||
for (it = list.begin(); it != list.end(); ++it) {
|
||||
TerminalServiceStatusType info = *it;
|
||||
if (info.sessionID == item->text(0).toInt()) {
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
delete item;
|
||||
}
|
||||
++it2;
|
||||
}
|
||||
|
||||
setTickerMessage(i18n("Connected"));
|
||||
}
|
||||
|
||||
SET_NEXT_STATE(ModeIdle_StateWorkspaceListRequest);
|
||||
EXEC_NEXT_STATE_IMMEDIATELY
|
||||
}
|
||||
else {
|
||||
if (!m_updateTimeoutTimer->isActive()) {
|
||||
UPDATEDISPLAY_TIMEOUT
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ModeIdle_StateWorkspaceListRequest:
|
||||
// Get status of remote system
|
||||
// Clear buffers to synchronize frames in case of data corruption
|
||||
m_socket->clearIncomingData();
|
||||
ds << TQString("USERS");
|
||||
ds << TQString("WORKSPACES");
|
||||
m_socket->writeEndOfFrame();
|
||||
|
||||
SET_NEXT_STATE(ModeIdle_StateProcessWorkspaceList)
|
||||
EXEC_NEXT_STATE_IMMEDIATELY
|
||||
break;
|
||||
case ModeIdle_StateProcessWorkspaceList:
|
||||
// Get all data
|
||||
if (m_socket->canReadFrame()) {
|
||||
PAT_WATCHDOG_TIMER
|
||||
|
||||
TQString status;
|
||||
WorkspaceServiceStatusList list;
|
||||
ds >> status;
|
||||
if (status == "OK") {
|
||||
ds >> list;
|
||||
m_socket->clearFrameTail();
|
||||
|
||||
WorkspaceServiceStatusList::iterator it;
|
||||
TQListViewItemIterator it2;
|
||||
|
||||
for (it = list.begin(); it != list.end(); ++it) {
|
||||
WorkspaceServiceStatusType info = *it;
|
||||
if (info.serviceID != 0) {
|
||||
continue;
|
||||
}
|
||||
it2 = TQListViewItemIterator(m_base->workspace_list);
|
||||
bool found = false;
|
||||
TQListViewItem* item = NULL;
|
||||
while (it2.current()) {
|
||||
item = *it2;
|
||||
if (info.sessionID == item->text(0).toInt()) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
++it2;
|
||||
}
|
||||
if (!found) {
|
||||
item = new TQListViewItem(m_base->workspace_list);
|
||||
}
|
||||
item->setText(0, TQString("%1").arg(info.sessionID));
|
||||
item->setText(1, info.username);
|
||||
item->setText(2, info.realmname);
|
||||
item->setText(3, TQString("%1").arg(info.stationName));
|
||||
item->setText(4, info.loginStamp.toString());
|
||||
item->setText(5, (info.terminateStamp.toTime_t()==0)?i18n("Not Set"):info.terminateStamp.toString());
|
||||
}
|
||||
it2 = TQListViewItemIterator(m_base->workspace_list);
|
||||
while (it2.current()) {
|
||||
TQListViewItem* item = *it2;
|
||||
bool found = false;
|
||||
for (it = list.begin(); it != list.end(); ++it) {
|
||||
WorkspaceServiceStatusType info = *it;
|
||||
if (info.serviceID != 0) {
|
||||
continue;
|
||||
}
|
||||
if (info.sessionID == item->text(0).toInt()) {
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
delete item;
|
||||
}
|
||||
++it2;
|
||||
}
|
||||
|
||||
setTickerMessage(i18n("Connected"));
|
||||
}
|
||||
|
||||
if (m_commHandlerState == ModeIdle_StateProcessWorkspaceList) {
|
||||
m_pingDelayTimer->start(250, TRUE);
|
||||
SET_NEXT_STATE(ModeIdle_StateDelay);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!m_updateTimeoutTimer->isActive()) {
|
||||
UPDATEDISPLAY_TIMEOUT
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ModeIdle_StateDelay:
|
||||
if (m_commHandlerNextMode == ModeIdle) {
|
||||
// Let the client and server rest for a bit to lower CPU/network overhead
|
||||
if (!m_pingDelayTimer->isActive()) {
|
||||
EXEC_NEXT_STATE_IMMEDIATELY
|
||||
// Execute query on next event loop
|
||||
SET_NEXT_STATE(ModeIdle_StateTerminalListRequest);
|
||||
}
|
||||
PAT_WATCHDOG_TIMER
|
||||
}
|
||||
else {
|
||||
m_commHandlerMode = m_commHandlerNextMode;
|
||||
SET_NEXT_STATE(m_commHandlerNextState);
|
||||
EXEC_NEXT_STATE_IMMEDIATELY
|
||||
m_commHandlerNextState = ModeIdle_None;
|
||||
m_commHandlerNextMode = ModeIdle;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (m_commHandlerMode == ModeTerminate) {
|
||||
switch (m_commHandlerState) {
|
||||
case ModeTerminate_TerminalServices:
|
||||
ds << TQString("SESSION");
|
||||
ds << TQString("KILL_TERMINAL");
|
||||
ds << terminateSessionID;
|
||||
m_socket->writeEndOfFrame();
|
||||
|
||||
SET_NEXT_STATE(ModeTerminate_ProcessResponse)
|
||||
EXEC_NEXT_STATE_IMMEDIATELY
|
||||
break;
|
||||
case ModeTerminate_LaboratoryWorkspace:
|
||||
ds << TQString("SESSION");
|
||||
ds << TQString("KILL_WORKSPACE");
|
||||
ds << terminateSessionID;
|
||||
ds << terminateSessionDelayMinutes;
|
||||
m_socket->writeEndOfFrame();
|
||||
|
||||
SET_NEXT_STATE(ModeTerminate_ProcessResponse)
|
||||
EXEC_NEXT_STATE_IMMEDIATELY
|
||||
break;
|
||||
case ModeTerminate_CancelTerminationOfWorkspace:
|
||||
ds << TQString("SESSION");
|
||||
ds << TQString("CANCEL_KILL_WORKSPACE");
|
||||
ds << terminateSessionID;
|
||||
m_socket->writeEndOfFrame();
|
||||
|
||||
SET_NEXT_STATE(ModeTerminate_ProcessResponse)
|
||||
EXEC_NEXT_STATE_IMMEDIATELY
|
||||
break;
|
||||
case ModeTerminate_ProcessResponse:
|
||||
// Get all data
|
||||
if (m_socket->canReadFrame()) {
|
||||
PAT_WATCHDOG_TIMER
|
||||
|
||||
TQString status;
|
||||
WorkspaceServiceStatusList list;
|
||||
ds >> status;
|
||||
|
||||
if (status != "OK") {
|
||||
// Command failed!
|
||||
KMessageBox::error(0, i18n("Command Failure"), i18n("Unable to execute command!"));
|
||||
}
|
||||
|
||||
m_commHandlerMode = ModeIdle;
|
||||
SET_NEXT_STATE(ModeIdle_StateTerminalListRequest);
|
||||
EXEC_NEXT_STATE_IMMEDIATELY
|
||||
}
|
||||
else {
|
||||
if (!m_updateTimeoutTimer->isActive()) {
|
||||
UPDATEDISPLAY_TIMEOUT
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
processLockouts();
|
||||
SET_WATCHDOG_TIMER
|
||||
}
|
||||
else {
|
||||
SET_NEXT_STATE(ModeIdle_StateTerminalListRequest);
|
||||
m_commHandlerMode = ModeIdle;
|
||||
}
|
||||
|
||||
m_connectionMutex->unlock();
|
||||
}
|
||||
|
||||
KAboutData* UserManagementPart::createAboutData() {
|
||||
return new KAboutData( APP_NAME, I18N_NOOP( APP_PRETTYNAME ), APP_VERSION );
|
||||
}
|
||||
|
||||
} //namespace RemoteLab
|
||||
|
||||
#include "part.moc"
|
@ -0,0 +1,105 @@
|
||||
/*
|
||||
* Remote Laboratory User Management Part
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* (c) 2013 Timothy Pearson
|
||||
* Raptor Engineering
|
||||
* http://www.raptorengineeringinc.com
|
||||
*/
|
||||
|
||||
#ifndef REMOTELAB_ADMINCONSOLEPART_H
|
||||
#define REMOTELAB_ADMINCONSOLEPART_H
|
||||
|
||||
#include <tdekrbclientsocket.h>
|
||||
|
||||
#include <tqcstring.h>
|
||||
#include <tqframe.h>
|
||||
#include <tqimage.h>
|
||||
|
||||
#include <kparts/browserextension.h>
|
||||
#include <kparts/statusbarextension.h>
|
||||
#include <kparts/part.h>
|
||||
#include <kurl.h>
|
||||
#include <kled.h>
|
||||
|
||||
#include <tqtrla.h>
|
||||
|
||||
class KAboutData;
|
||||
using KParts::StatusBarExtension;
|
||||
class TraceWidget;
|
||||
class TQSocket;
|
||||
class TQTimer;
|
||||
class TQMutex;
|
||||
class TQFile;
|
||||
class UserManagementBase;
|
||||
|
||||
namespace RemoteLab
|
||||
{
|
||||
class UserManagementPart : public KParts::RemoteInstrumentPart
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
UserManagementPart(TQWidget *, const char *, TQObject *, const char *, const TQStringList&);
|
||||
~UserManagementPart();
|
||||
|
||||
virtual bool openFile() { return false; } // pure virtual in the base class
|
||||
virtual bool closeURL();
|
||||
static KAboutData *createAboutData();
|
||||
|
||||
public slots:
|
||||
virtual bool openURL(const KURL &url);
|
||||
|
||||
private slots:
|
||||
void postInit();
|
||||
void resizeToHint();
|
||||
void mainEventLoop();
|
||||
void processLockouts();
|
||||
void connectionClosed();
|
||||
void connectionFinishedCallback();
|
||||
void disconnectFromServerCallback();
|
||||
void connectionStatusChangedCallback();
|
||||
void setTickerMessage(TQString message);
|
||||
|
||||
void terminalServiceKillButtonClicked();
|
||||
void workspaceTerminateButtonClicked();
|
||||
void workspaceCancelTerminationButtonClicked();
|
||||
|
||||
void terminalServiceListSelect();
|
||||
void workspaceListSelect();
|
||||
|
||||
private:
|
||||
UserManagementBase* m_base;
|
||||
TQMutex* m_connectionMutex;
|
||||
TQTimer* m_pingDelayTimer;
|
||||
TQTimer* m_forcedUpdateTimer;
|
||||
TQTimer* m_updateTimeoutTimer;
|
||||
|
||||
int m_commHandlerState;
|
||||
int m_commHandlerMode;
|
||||
int m_commHandlerNextState;
|
||||
int m_commHandlerNextMode;
|
||||
TQString terminateSessionID;
|
||||
TQ_INT32 terminateSessionDelayMinutes;
|
||||
bool m_connectionActiveAndValid;
|
||||
unsigned char m_tickerState;
|
||||
TQByteArray m_programmingFileData;
|
||||
TQ_ULONG m_programmingFileTotalSize;
|
||||
TQ_ULONG m_programmingFileTransferredBytes;
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
@ -0,0 +1,95 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2012 by Timothy Pearson *
|
||||
* kb9vqf@pearsoncomputing.net *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
#include <klocale.h>
|
||||
#include <klineedit.h>
|
||||
#include <ktextedit.h>
|
||||
#include <knuminput.h>
|
||||
#include <kactionselector.h>
|
||||
#include <tqlistbox.h>
|
||||
#include <kpushbutton.h>
|
||||
#include <tqpixmap.h>
|
||||
#include <tqiconset.h>
|
||||
#include <tqlabel.h>
|
||||
#include <kconfig.h>
|
||||
#include <tqcheckbox.h>
|
||||
#include <tqradiobutton.h>
|
||||
|
||||
#include "terminatedlgbase.h"
|
||||
#include "terminatedlg.h"
|
||||
|
||||
TerminateDialog::TerminateDialog(TQWidget* parent, const char* name)
|
||||
: KDialogBase(parent, name, true, i18n("Terminate Session"), Ok|Cancel, Ok, true)
|
||||
{
|
||||
m_base = new TerminateDlgBase(this);
|
||||
|
||||
setMainWidget(m_base);
|
||||
|
||||
connect(m_base->m_btnImmediate, SIGNAL(clicked()), this, SLOT(processLockouts()));
|
||||
connect(m_base->m_btnDelayed, SIGNAL(clicked()), this, SLOT(processLockouts()));
|
||||
|
||||
m_base->m_btnDelayed->setChecked(false);
|
||||
m_base->m_btnImmediate->setChecked(true);
|
||||
processLockouts();
|
||||
}
|
||||
|
||||
void TerminateDialog::processLockouts() {
|
||||
if (m_base->m_btnDelayed->isChecked()) {
|
||||
m_base->terminateMinutes->setEnabled(true);
|
||||
}
|
||||
if (m_base->m_btnImmediate->isChecked()) {
|
||||
m_base->terminateMinutes->setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
void TerminateDialog::setWarningLabelText(TQString text) {
|
||||
m_base->m_warningLabel->setText(text);
|
||||
}
|
||||
|
||||
void TerminateDialog::enableDelayedTermination(bool enabled) {
|
||||
if (enabled) {
|
||||
m_base->m_btnImmediate->setEnabled(true);
|
||||
m_base->m_btnDelayed->setEnabled(true);
|
||||
}
|
||||
else {
|
||||
m_base->m_btnImmediate->setChecked(true);
|
||||
m_base->m_btnImmediate->setEnabled(true);
|
||||
m_base->m_btnDelayed->setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
bool TerminateDialog::delayed() {
|
||||
return m_base->m_btnDelayed->isChecked();
|
||||
}
|
||||
|
||||
int TerminateDialog::minutes() {
|
||||
if (m_base->m_btnDelayed->isChecked()) {
|
||||
return m_base->terminateMinutes->value();
|
||||
}
|
||||
else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
void TerminateDialog::slotOk() {
|
||||
accept();
|
||||
}
|
||||
|
||||
#include "terminatedlg.moc"
|
@ -0,0 +1,53 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2012 by Timothy Pearson *
|
||||
* kb9vqf@pearsoncomputing.net *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef _TERMINATEDIALOG_H_
|
||||
#define _TERMINATEDIALOG_H_
|
||||
|
||||
#include <kdialogbase.h>
|
||||
#include <kcombobox.h>
|
||||
|
||||
class TerminateDlgBase;
|
||||
class TopLevel;
|
||||
|
||||
class TerminateDialog : public KDialogBase
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
TerminateDialog(TQWidget* parent = 0, const char* name = 0);
|
||||
|
||||
public slots:
|
||||
void slotOk();
|
||||
|
||||
public:
|
||||
void enableDelayedTermination(bool enabled);
|
||||
void setWarningLabelText(TQString text);
|
||||
bool delayed();
|
||||
int minutes();
|
||||
|
||||
private slots:
|
||||
void processLockouts();
|
||||
|
||||
private:
|
||||
TerminateDlgBase *m_base;
|
||||
};
|
||||
|
||||
#endif
|
@ -0,0 +1,84 @@
|
||||
<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
|
||||
<class>TerminateDlgBase</class>
|
||||
<widget class="TQWidget">
|
||||
<property name="name">
|
||||
<cstring>TerminateDlgBase</cstring>
|
||||
</property>
|
||||
<grid>
|
||||
<widget class="TQButtonGroup">
|
||||
<property name="name">
|
||||
<cstring>m_frameTerminate</cstring>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>Plain</enum>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string></string>
|
||||
</property>
|
||||
<grid>
|
||||
<property name="name">
|
||||
<cstring>unnamed</cstring>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="TQLabel" row="0" column="0" colspan="2">
|
||||
<property name="name">
|
||||
<cstring>m_warningLabel</cstring>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string></string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="TQRadioButton" row="1" column="0">
|
||||
<property name="name">
|
||||
<cstring>m_btnImmediate</cstring>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>NoFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Terminate Now</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="TQRadioButton" row="2" column="0">
|
||||
<property name="name">
|
||||
<cstring>m_btnDelayed</cstring>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>NoFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Terminate After</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="TQLayoutWidget" row="2" column="1">
|
||||
<grid>
|
||||
<property name="name">
|
||||
<cstring>unnamed</cstring>
|
||||
</property>
|
||||
<widget class="KIntNumInput" row="0" column="1">
|
||||
<property name="name">
|
||||
<cstring>terminateMinutes</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="TQLabel" row="0" column="2">
|
||||
<property name="name">
|
||||
<cstring>unnamed</cstring>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>minutes</string>
|
||||
</property>
|
||||
</widget>
|
||||
</grid>
|
||||
</widget>
|
||||
</grid>
|
||||
</widget>
|
||||
</grid>
|
||||
</widget>
|
||||
<layoutdefaults spacing="3" margin="6"/>
|
||||
<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
|
||||
</UI>
|
@ -0,0 +1 @@
|
||||
Timothy Pearson <kb9vqf@pearsoncomputing.net>
|
@ -0,0 +1 @@
|
||||
2012-05-17 - Initial Release
|
@ -0,0 +1,167 @@
|
||||
Basic Installation
|
||||
==================
|
||||
|
||||
These are generic installation instructions.
|
||||
|
||||
The `configure' shell script attempts to guess correct values for
|
||||
various system-dependent variables used during compilation. It uses
|
||||
those values to create a `Makefile' in each directory of the package.
|
||||
It may also create one or more `.h' files containing system-dependent
|
||||
definitions. Finally, it creates a shell script `config.status' that
|
||||
you can run in the future to recreate the current configuration, a file
|
||||
`config.cache' that saves the results of its tests to speed up
|
||||
reconfiguring, and a file `config.log' containing compiler output
|
||||
(useful mainly for debugging `configure').
|
||||
|
||||
If you need to do unusual things to compile the package, please try
|
||||
to figure out how `configure' could check whether to do them, and mail
|
||||
diffs or instructions to the address given in the `README' so they can
|
||||
be considered for the next release. If at some point `config.cache'
|
||||
contains results you don't want to keep, you may remove or edit it.
|
||||
|
||||
The file `configure.in' is used to create `configure' by a program
|
||||
called `autoconf'. You only need `configure.in' if you want to change
|
||||
it or regenerate `configure' using a newer version of `autoconf'.
|
||||
|
||||
The simplest way to compile this package is:
|
||||
|
||||
1. `cd' to the directory containing the package's source code and type
|
||||
`./configure' to configure the package for your system. If you're
|
||||
using `csh' on an old version of System V, you might need to type
|
||||
`sh ./configure' instead to prevent `csh' from trying to execute
|
||||
`configure' itself.
|
||||
|
||||
Running `configure' takes a while. While running, it prints some
|
||||
messages telling which features it is checking for.
|
||||
|
||||
2. Type `make' to compile the package.
|
||||
|
||||
3. Type `make install' to install the programs and any data files and
|
||||
documentation.
|
||||
|
||||
4. You can remove the program binaries and object files from the
|
||||
source code directory by typing `make clean'.
|
||||
|
||||
Compilers and Options
|
||||
=====================
|
||||
|
||||
Some systems require unusual options for compilation or linking that
|
||||
the `configure' script does not know about. You can give `configure'
|
||||
initial values for variables by setting them in the environment. Using
|
||||
a Bourne-compatible shell, you can do that on the command line like
|
||||
this:
|
||||
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
|
||||
|
||||
Or on systems that have the `env' program, you can do it like this:
|
||||
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
|
||||
You can compile the package for more than one kind of computer at the
|
||||
same time, by placing the object files for each architecture in their
|
||||
own directory. To do this, you must use a version of `make' that
|
||||
supports the `VPATH' variable, such as GNU `make'. `cd' to the
|
||||
directory where you want the object files and executables to go and run
|
||||
the `configure' script. `configure' automatically checks for the
|
||||
source code in the directory that `configure' is in and in `..'.
|
||||
|
||||
If you have to use a `make' that does not supports the `VPATH'
|
||||
variable, you have to compile the package for one architecture at a time
|
||||
in the source code directory. After you have installed the package for
|
||||
one architecture, use `make distclean' before reconfiguring for another
|
||||
architecture.
|
||||
|
||||
Installation Names
|
||||
==================
|
||||
|
||||
By default, `make install' will install the package's files in
|
||||
`/usr/local/bin', `/usr/local/man', etc. You can specify an
|
||||
installation prefix other than `/usr/local' by giving `configure' the
|
||||
option `--prefix=PATH'.
|
||||
|
||||
You can specify separate installation prefixes for
|
||||
architecture-specific files and architecture-independent files. If you
|
||||
give `configure' the option `--exec-prefix=PATH', the package will use
|
||||
PATH as the prefix for installing programs and libraries.
|
||||
Documentation and other data files will still use the regular prefix.
|
||||
|
||||
If the package supports it, you can cause programs to be installed
|
||||
with an extra prefix or suffix on their names by giving `configure' the
|
||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||
|
||||
Optional Features
|
||||
=================
|
||||
|
||||
Some packages pay attention to `--enable-FEATURE' options to
|
||||
`configure', where FEATURE indicates an optional part of the package.
|
||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||
is something like `gnu-as' or `x' (for the X Window System). The
|
||||
`README' should mention any `--enable-' and `--with-' options that the
|
||||
package recognizes.
|
||||
|
||||
For packages that use the X Window System, `configure' can usually
|
||||
find the X include and library files automatically, but if it doesn't,
|
||||
you can use the `configure' options `--x-includes=DIR' and
|
||||
`--x-libraries=DIR' to specify their locations.
|
||||
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
There may be some features `configure' can not figure out
|
||||
automatically, but needs to determine by the type of host the package
|
||||
will run on. Usually `configure' can figure that out, but if it prints
|
||||
a message saying it can not guess the host type, give it the
|
||||
`--host=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name with three fields:
|
||||
CPU-COMPANY-SYSTEM
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
`config.sub' isn't included in this package, then this package doesn't
|
||||
need to know the host type.
|
||||
|
||||
If you are building compiler tools for cross-compiling, you can also
|
||||
use the `--target=TYPE' option to select the type of system they will
|
||||
produce code for and the `--build=TYPE' option to select the type of
|
||||
system on which you are compiling the package.
|
||||
|
||||
Sharing Defaults
|
||||
================
|
||||
|
||||
If you want to set default values for `configure' scripts to share,
|
||||
you can create a site shell script called `config.site' that gives
|
||||
default values for variables like `CC', `cache_file', and `prefix'.
|
||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||
`CONFIG_SITE' environment variable to the location of the site script.
|
||||
A warning: not all `configure' scripts look for a site script.
|
||||
|
||||
Operation Controls
|
||||
==================
|
||||
|
||||
`configure' recognizes the following options to control how it
|
||||
operates.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Use and save the results of the tests in FILE instead of
|
||||
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
|
||||
debugging `configure'.
|
||||
|
||||
`--help'
|
||||
Print a summary of the options to `configure', and exit.
|
||||
|
||||
`--quiet'
|
||||
`--silent'
|
||||
`-q'
|
||||
Do not print messages saying which checks are being made.
|
||||
|
||||
`--srcdir=DIR'
|
||||
Look for the package's source code in directory DIR. Usually
|
||||
`configure' can determine that directory automatically.
|
||||
|
||||
`--version'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`configure' also accepts some other, not widely useful, options.
|
||||
|
@ -0,0 +1,22 @@
|
||||
SUBDIRS = $(TOPSUBDIRS)
|
||||
|
||||
$(top_srcdir)/configure.in: configure.in.in $(top_srcdir)/subdirs
|
||||
cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in ;
|
||||
|
||||
$(top_srcdir)/subdirs:
|
||||
cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs
|
||||
|
||||
$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in
|
||||
@cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in > acinclude.m4
|
||||
|
||||
MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files
|
||||
|
||||
package-messages:
|
||||
cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common package-messages
|
||||
$(MAKE) -C po merge
|
||||
|
||||
EXTRA_DIST = admin COPYING configure.in.in
|
||||
|
||||
dist-hook:
|
||||
cd $(top_distdir) && perl admin/am_edit -padmin
|
||||
cd $(top_distdir) && $(MAKE) -f admin/Makefile.common subdirs
|
@ -0,0 +1,10 @@
|
||||
all:
|
||||
@echo "This Makefile is only for the CVS repository"
|
||||
@echo "This will be deleted before making the distribution"
|
||||
@echo ""
|
||||
$(MAKE) -f admin/Makefile.common cvs
|
||||
|
||||
dist:
|
||||
$(MAKE) -f admin/Makefile.common dist
|
||||
|
||||
.SILENT:
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1 @@
|
||||
Subproject commit f30a3aea2526bd980eb0665c7f209dc6cadecb4f
|
@ -0,0 +1 @@
|
||||
Subproject commit 0953d90e24d84a91d72f741f3f8ea5791d84f41b
|
@ -0,0 +1,262 @@
|
||||
/* config.h.in. Generated from configure.in by autoheader. */
|
||||
|
||||
/* Define if building universal (internal helper macro) */
|
||||
#undef AC_APPLE_UNIVERSAL_BUILD
|
||||
|
||||
/* Define to 1 if you have the <Carbon/Carbon.h> header file. */
|
||||
#undef HAVE_CARBON_CARBON_H
|
||||
|
||||
/* Define if you have the CoreAudio API */
|
||||
#undef HAVE_COREAUDIO
|
||||
|
||||
/* Define to 1 if you have the <crt_externs.h> header file. */
|
||||
#undef HAVE_CRT_EXTERNS_H
|
||||
|
||||
/* Defines if your system has the crypt function */
|
||||
#undef HAVE_CRYPT
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define if you have libjpeg */
|
||||
#undef HAVE_LIBJPEG
|
||||
|
||||
/* Define if you have libpng */
|
||||
#undef HAVE_LIBPNG
|
||||
|
||||
/* Define if you have a working libpthread (will enable threaded code) */
|
||||
#undef HAVE_LIBPTHREAD
|
||||
|
||||
/* Define if you have libz */
|
||||
#undef HAVE_LIBZ
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define if your system needs _NSGetEnviron to set up the environment */
|
||||
#undef HAVE_NSGETENVIRON
|
||||
|
||||
/* Define if you have res_init */
|
||||
#undef HAVE_RES_INIT
|
||||
|
||||
/* Define if you have the res_init prototype */
|
||||
#undef HAVE_RES_INIT_PROTO
|
||||
|
||||
/* Define if you have a STL implementation by SGI */
|
||||
#undef HAVE_SGI_STL
|
||||
|
||||
/* Define to 1 if you have the `snprintf' function. */
|
||||
#undef HAVE_SNPRINTF
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define if you have strlcat */
|
||||
#undef HAVE_STRLCAT
|
||||
|
||||
/* Define if you have the strlcat prototype */
|
||||
#undef HAVE_STRLCAT_PROTO
|
||||
|
||||
/* Define if you have strlcpy */
|
||||
#undef HAVE_STRLCPY
|
||||
|
||||
/* Define if you have the strlcpy prototype */
|
||||
#undef HAVE_STRLCPY_PROTO
|
||||
|
||||
/* Define to 1 if you have the <sys/bitypes.h> header file. */
|
||||
#undef HAVE_SYS_BITYPES_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to 1 if you have the `vsnprintf' function. */
|
||||
#undef HAVE_VSNPRINTF
|
||||
|
||||
/* Suffix for lib directories */
|
||||
#undef KDELIBSUFF
|
||||
|
||||
/* Define a safe value for MAXPATHLEN */
|
||||
#undef KDEMAXPATHLEN
|
||||
|
||||
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||
*/
|
||||
#undef LT_OBJDIR
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#undef PACKAGE_URL
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* The size of `char *', as computed by sizeof. */
|
||||
#undef SIZEOF_CHAR_P
|
||||
|
||||
/* The size of `int', as computed by sizeof. */
|
||||
#undef SIZEOF_INT
|
||||
|
||||
/* The size of `long', as computed by sizeof. */
|
||||
#undef SIZEOF_LONG
|
||||
|
||||
/* The size of `short', as computed by sizeof. */
|
||||
#undef SIZEOF_SHORT
|
||||
|
||||
/* The size of `size_t', as computed by sizeof. */
|
||||
#undef SIZEOF_SIZE_T
|
||||
|
||||
/* The size of `unsigned long', as computed by sizeof. */
|
||||
#undef SIZEOF_UNSIGNED_LONG
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* Defined if compiling without arts */
|
||||
#undef WITHOUT_ARTS
|
||||
|
||||
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
|
||||
significant byte first (like Motorola and SPARC, unlike Intel). */
|
||||
#if defined AC_APPLE_UNIVERSAL_BUILD
|
||||
# if defined __BIG_ENDIAN__
|
||||
# define WORDS_BIGENDIAN 1
|
||||
# endif
|
||||
#else
|
||||
# ifndef WORDS_BIGENDIAN
|
||||
# undef WORDS_BIGENDIAN
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
|
||||
* headers and I'm too lazy to write a configure test as long as only
|
||||
* unixware is related
|
||||
*/
|
||||
#ifdef _UNIXWARE
|
||||
#define HAVE_BOOLEAN
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
|
||||
* that defines bzero.
|
||||
*/
|
||||
|
||||
#if defined(_AIX)
|
||||
#include <strings.h>
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
|
||||
# include <sys/time.h>
|
||||
# include <crt_externs.h>
|
||||
# define environ (*_NSGetEnviron())
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if !defined(HAVE_RES_INIT_PROTO)
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
int res_init(void);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if !defined(HAVE_STRLCAT_PROTO)
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
unsigned long strlcat(char*, const char*, unsigned long);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if !defined(HAVE_STRLCPY_PROTO)
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
unsigned long strlcpy(char*, const char*, unsigned long);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* On HP-UX, the declaration of vsnprintf() is needed every time !
|
||||
*/
|
||||
|
||||
#if !defined(HAVE_VSNPRINTF) || defined(hpux)
|
||||
#if __STDC__
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#else
|
||||
#include <varargs.h>
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
int snprintf(char *str, size_t n, char const *fmt, ...);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if defined(__SVR4) && !defined(__svr4__)
|
||||
#define __svr4__ 1
|
||||
#endif
|
||||
|
||||
|
||||
/* type to use in place of socklen_t if not defined */
|
||||
#undef kde_socklen_t
|
||||
|
||||
/* type to use in place of socklen_t if not defined (deprecated, use
|
||||
kde_socklen_t) */
|
||||
#undef ksize_t
|
@ -0,0 +1,2 @@
|
||||
./admin/configure.in.min
|
||||
configure.in.in
|
@ -0,0 +1,125 @@
|
||||
dnl =======================================================
|
||||
dnl FILE: ./admin/configure.in.min
|
||||
dnl =======================================================
|
||||
|
||||
dnl This file is part of the KDE libraries/packages
|
||||
dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org)
|
||||
|
||||
dnl This file is free software; you can redistribute it and/or
|
||||
dnl modify it under the terms of the GNU Library General Public
|
||||
dnl License as published by the Free Software Foundation; either
|
||||
dnl version 2 of the License, or (at your option) any later version.
|
||||
|
||||
dnl This library is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
dnl Library General Public License for more details.
|
||||
|
||||
dnl You should have received a copy of the GNU Library General Public License
|
||||
dnl along with this library; see the file COPYING.LIB. If not, write to
|
||||
dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
dnl Boston, MA 02110-1301, USA.
|
||||
|
||||
# Original Author was Kalle@kde.org
|
||||
# I lifted it in some mater. (Stephan Kulow)
|
||||
# I used much code from Janos Farkas
|
||||
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_INIT(acinclude.m4) dnl a source file from your sub dir
|
||||
|
||||
dnl This is so we can use kde-common
|
||||
AC_CONFIG_AUX_DIR(admin)
|
||||
|
||||
dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
|
||||
unset CDPATH
|
||||
|
||||
dnl Checking host/target/build systems, for make, install etc.
|
||||
AC_CANONICAL_SYSTEM
|
||||
dnl Perform program name transformation
|
||||
AC_ARG_PROGRAM
|
||||
|
||||
dnl Automake doc recommends to do this only here. (Janos)
|
||||
AM_INIT_AUTOMAKE(autostart, 0.1) dnl searches for some needed programs
|
||||
|
||||
KDE_SET_PREFIX
|
||||
|
||||
dnl generate the config header
|
||||
AM_CONFIG_HEADER(config.h) dnl at the distribution this done
|
||||
|
||||
dnl Checks for programs.
|
||||
AC_PROG_CC
|
||||
AC_PROG_CXX
|
||||
AC_CHECK_COMPILERS
|
||||
AC_ENABLE_SHARED(yes)
|
||||
AC_ENABLE_STATIC(no)
|
||||
KDE_PROG_LIBTOOL
|
||||
|
||||
dnl for NLS support. Call them in this order!
|
||||
dnl WITH_NLS is for the po files
|
||||
AM_KDE_WITH_NLS
|
||||
|
||||
KDE_USE_QT(3.2.0)
|
||||
AC_PATH_KDE
|
||||
dnl =======================================================
|
||||
dnl FILE: configure.in.in
|
||||
dnl =======================================================
|
||||
|
||||
#MIN_CONFIG(3.2.0)
|
||||
|
||||
dnl PACKAGE set before
|
||||
AC_C_BIGENDIAN
|
||||
AC_CHECK_KDEMAXPATHLEN
|
||||
|
||||
KDE_CREATE_SUBDIRSLIST
|
||||
AC_CONFIG_FILES([ Makefile ])
|
||||
AC_CONFIG_FILES([ doc/Makefile ])
|
||||
AC_CONFIG_FILES([ doc/en/Makefile ])
|
||||
AC_CONFIG_FILES([ po/Makefile ])
|
||||
AC_CONFIG_FILES([ src/Makefile ])
|
||||
AC_OUTPUT
|
||||
# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure
|
||||
if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
|
||||
# And if so, warn when they don't match
|
||||
if test "$kde_libs_prefix" != "$given_prefix"; then
|
||||
# And if kde doesn't know about the prefix yet
|
||||
echo ":"`tde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null
|
||||
if test $? -ne 0; then
|
||||
echo ""
|
||||
echo "Warning: you chose to install this package in $given_prefix,"
|
||||
echo "but KDE was found in $kde_libs_prefix."
|
||||
echo "For this to work, you will need to tell KDE about the new prefix, by ensuring"
|
||||
echo "that TDEDIRS contains it, e.g. export TDEDIRS=$given_prefix:$kde_libs_prefix"
|
||||
echo "Then restart KDE."
|
||||
echo ""
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test x$GXX = "xyes" -a x$kde_have_gcc_visibility = "xyes" -a x$kde_cv_val_qt_gcc_visibility_patched = "xno"; then
|
||||
echo ""
|
||||
echo "Your GCC supports symbol visibility, but the patch for Qt supporting visibility"
|
||||
echo "was not included. Therefore, GCC symbol visibility support remains disabled."
|
||||
echo ""
|
||||
echo "For better performance, consider including the Qt visibility supporting patch"
|
||||
echo "located at:"
|
||||
echo ""
|
||||
echo "http://bugs.kde.org/show_bug.cgi?id=109386"
|
||||
echo ""
|
||||
echo "and recompile all of Qt and KDE. Note, this is entirely optional and"
|
||||
echo "everything will continue to work just fine without it."
|
||||
echo ""
|
||||
fi
|
||||
|
||||
if test "$all_tests" = "bad"; then
|
||||
if test ! "$cache_file" = "/dev/null"; then
|
||||
echo ""
|
||||
echo "Please remove the file $cache_file after changing your setup"
|
||||
echo "so that configure will find the changes next time."
|
||||
echo ""
|
||||
fi
|
||||
else
|
||||
echo ""
|
||||
echo "Good - your configure finished. Start make now"
|
||||
echo ""
|
||||
fi
|
@ -0,0 +1,6 @@
|
||||
#MIN_CONFIG(3.2.0)
|
||||
|
||||
AM_INIT_AUTOMAKE(autostart, 0.1)
|
||||
AC_C_BIGENDIAN
|
||||
AC_CHECK_KDEMAXPATHLEN
|
||||
|
@ -0,0 +1,5 @@
|
||||
remotefpga-adminusermgmtserver (0.5-0ubuntu0) karmic; urgency=low
|
||||
|
||||
* Karmic rebuild
|
||||
|
||||
-- Timothy Pearson <kb9vqf@pearsoncomputing.net> Thu, 02 July 2009 16:08:00 -0600
|
@ -0,0 +1 @@
|
||||
5
|
@ -0,0 +1,14 @@
|
||||
Source: remotefpga-adminusermgmtserver
|
||||
Section: tde
|
||||
Priority: optional
|
||||
Maintainer: Timothy Pearson <kb9vqf@pearsoncomputing.net>
|
||||
Build-Depends: debhelper (>= 5), cdbs, tdelibs4-trinity-dev, libldap2-dev, automake, autoconf, libtool, libltdl-dev
|
||||
Standards-Version: 3.8.4
|
||||
|
||||
Package: remotefpga-adminusermgmtserver
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: RemoteFPGA System Administration User Management Server
|
||||
RemoteFPGA System Administration User Management Server
|
||||
This allows an administrator to manage user access and
|
||||
permissions of an active RemoteFPGA system.
|
@ -0,0 +1,31 @@
|
||||
This package was debianized by Timothy Pearson <kb9vqf@pearsoncomputing.net> on
|
||||
Thu, 17 May 2012 19:52:51 +0100.
|
||||
|
||||
It was downloaded from http://www.trinitydesktop.org
|
||||
|
||||
Upstream Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
|
||||
|
||||
copyright (C) 2012 Timothy Pearson <kb9vqf@pearsoncomputing.net>
|
||||
|
||||
License:
|
||||
|
||||
This package is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This package is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this package; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License can be found in `/usr/share/common-licenses/GPL'.
|
||||
|
||||
The Debian packaging is (C) 2012, Timothy Pearson <kb9vqf@pearsoncomputing.net> and
|
||||
is licensed under the GPL, see above.
|
||||
|
@ -0,0 +1,24 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
include /usr/share/cdbs/1/rules/simple-patchsys.mk
|
||||
include /usr/share/cdbs/1/class/autotools.mk
|
||||
include /usr/share/cdbs/1/rules/debhelper.mk
|
||||
|
||||
DEB_CONFIGURE_INCLUDEDIR := /opt/trinity/include/tde
|
||||
DEB_CONFIGURE_MANDIR := /opt/trinity/share/man
|
||||
DEB_CONFIGURE_PREFIX := /opt/trinity
|
||||
DEB_CONFIGURE_INFODIR := /opt/trinity/share/info
|
||||
|
||||
cdbs_configure_flags := --with-qt-dir=/usr/share/qt3 --disable-rpath --with-xinerama $(cdbs_kde_enable_final) $(cdbs_kde_enable_debug)
|
||||
|
||||
post-patches:: debian/stamp-bootstrap
|
||||
|
||||
debian/stamp-bootstrap:
|
||||
! [ -f /usr/share/libtool/ltmain.sh ] || \
|
||||
cp -f /usr/share/libtool/ltmain.sh admin/ltmain.sh
|
||||
! [ -f /usr/share/libtool/config/ltmain.sh ] || \
|
||||
cp -f /usr/share/libtool/config/ltmain.sh admin/ltmain.sh
|
||||
cp -f /usr/share/aclocal/libtool.m4 admin/libtool.m4.in
|
||||
|
||||
make -f admin/Makefile.common cvs
|
||||
touch debian/stamp-bootstrap
|
@ -0,0 +1,6 @@
|
||||
# the SUBDIRS is filled automatically by am_edit. If files are
|
||||
# in this directory they are installed into the english dir
|
||||
|
||||
KDE_LANG = en
|
||||
KDE_DOCS = autostart
|
||||
SUBDIRS = $(AUTODIRS)
|
@ -0,0 +1,814 @@
|
||||
# Makefile.in generated by automake 1.11.3 from Makefile.am.
|
||||
# KDE tags expanded automatically by am_edit - $Revision$
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
|
||||
# Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
# the SUBDIRS is filled automatically by am_edit. If files are
|
||||
# in this directory they are installed into the english dir
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
target_triplet = @target@
|
||||
subdir = doc
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
||||
$(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||
#>- html-recursive info-recursive install-data-recursive \
|
||||
#>- install-dvi-recursive install-exec-recursive \
|
||||
#>- install-html-recursive install-info-recursive \
|
||||
#>- install-pdf-recursive install-ps-recursive install-recursive \
|
||||
#>- installcheck-recursive installdirs-recursive pdf-recursive \
|
||||
#>- ps-recursive uninstall-recursive
|
||||
#>+ 7
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||
html-recursive info-recursive install-data-recursive \
|
||||
install-dvi-recursive install-exec-recursive \
|
||||
install-html-recursive install-info-recursive \
|
||||
install-pdf-recursive install-ps-recursive install-recursive \
|
||||
installcheck-recursive installdirs-recursive pdf-recursive \
|
||||
ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
|
||||
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
|
||||
distdir
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
#>+ 1
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
|
||||
am__relativize = \
|
||||
dir0=`pwd`; \
|
||||
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||
sed_rest='s,^[^/]*/*,,'; \
|
||||
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||
sed_butlast='s,/*[^/]*$$,,'; \
|
||||
while test -n "$$dir1"; do \
|
||||
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||
if test "$$first" != "."; then \
|
||||
if test "$$first" = ".."; then \
|
||||
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||
else \
|
||||
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||
if test "$$first2" = "$$first"; then \
|
||||
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||
else \
|
||||
dir2="../$$dir2"; \
|
||||
fi; \
|
||||
dir0="$$dir0"/"$$first"; \
|
||||
fi; \
|
||||
fi; \
|
||||
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||
done; \
|
||||
reldir="$$dir2"
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
ARTSCCONFIG = @ARTSCCONFIG@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTODIRS = @AUTODIRS@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CONF_FILES = @CONF_FILES@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DCOPIDL = @DCOPIDL@
|
||||
DCOPIDL2CPP = @DCOPIDL2CPP@
|
||||
DCOPIDLNG = @DCOPIDLNG@
|
||||
DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GREP = @GREP@
|
||||
HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
|
||||
KCONFIG_COMPILER = @KCONFIG_COMPILER@
|
||||
KDECONFIG = @KDECONFIG@
|
||||
KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
|
||||
KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
|
||||
KDE_INCLUDES = @KDE_INCLUDES@
|
||||
KDE_LDFLAGS = @KDE_LDFLAGS@
|
||||
KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
|
||||
KDE_MT_LIBS = @KDE_MT_LIBS@
|
||||
KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
|
||||
KDE_PLUGIN = @KDE_PLUGIN@
|
||||
KDE_RPATH = @KDE_RPATH@
|
||||
KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
|
||||
KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
|
||||
KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
|
||||
KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
|
||||
KDE_USE_FPIE = @KDE_USE_FPIE@
|
||||
KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
|
||||
KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
|
||||
KDE_USE_PIE = @KDE_USE_PIE@
|
||||
KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
|
||||
LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
|
||||
LIBCOMPAT = @LIBCOMPAT@
|
||||
LIBCRYPT = @LIBCRYPT@
|
||||
LIBDL = @LIBDL@
|
||||
LIBJPEG = @LIBJPEG@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBPNG = @LIBPNG@
|
||||
LIBPTHREAD = @LIBPTHREAD@
|
||||
LIBRESOLV = @LIBRESOLV@
|
||||
LIBS = @LIBS@
|
||||
LIBSM = @LIBSM@
|
||||
LIBSOCKET = @LIBSOCKET@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIBTQT_LDFLAGS = @LIBTQT_LDFLAGS@
|
||||
LIBUCB = @LIBUCB@
|
||||
LIBUTIL = @LIBUTIL@
|
||||
LIBZ = @LIBZ@
|
||||
LIB_KAB = @LIB_KAB@
|
||||
LIB_KABC = @LIB_KABC@
|
||||
LIB_KDED = @LIB_KDED@
|
||||
LIB_KDNSSD = @LIB_KDNSSD@
|
||||
LIB_KFILE = @LIB_KFILE@
|
||||
LIB_KFM = @LIB_KFM@
|
||||
LIB_KHTML = @LIB_KHTML@
|
||||
LIB_KIMPROXY = @LIB_KIMPROXY@
|
||||
LIB_KIO = @LIB_KIO@
|
||||
LIB_KJS = @LIB_KJS@
|
||||
LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
|
||||
LIB_KPARTS = @LIB_KPARTS@
|
||||
LIB_KSPELL = @LIB_KSPELL@
|
||||
LIB_KSYCOCA = @LIB_KSYCOCA@
|
||||
LIB_KUNITTEST = @LIB_KUNITTEST@
|
||||
LIB_KUTILS = @LIB_KUTILS@
|
||||
LIB_POLL = @LIB_POLL@
|
||||
LIB_QPE = @LIB_QPE@
|
||||
LIB_QT = @LIB_QT@
|
||||
LIB_QUI = @LIB_QUI@
|
||||
LIB_SMB = @LIB_SMB@
|
||||
LIB_TDECORE = @LIB_TDECORE@
|
||||
LIB_TDEPIM = @LIB_TDEPIM@
|
||||
LIB_TDEPRINT = @LIB_TDEPRINT@
|
||||
LIB_TDEUI = @LIB_TDEUI@
|
||||
LIB_X11 = @LIB_X11@
|
||||
LIB_XEXT = @LIB_XEXT@
|
||||
LIB_XRENDER = @LIB_XRENDER@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MCOPIDL = @MCOPIDL@
|
||||
MEINPROC = @MEINPROC@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MOC = @MOC@
|
||||
MSGFMT = @MSGFMT@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
NOOPT_CFLAGS = @NOOPT_CFLAGS@
|
||||
NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
QTE_NORTTI = @QTE_NORTTI@
|
||||
QT_INCLUDES = @QT_INCLUDES@
|
||||
QT_LDFLAGS = @QT_LDFLAGS@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TOPSUBDIRS = @TOPSUBDIRS@
|
||||
TQTDCOPIDL = @TQTDCOPIDL@
|
||||
TQTDCOPIDL2CPP = @TQTDCOPIDL2CPP@
|
||||
TQTDCOPIDLNG = @TQTDCOPIDLNG@
|
||||
TQTMCOPIDL = @TQTMCOPIDL@
|
||||
TQTMOC = @TQTMOC@
|
||||
UIC = @UIC@
|
||||
UIC_TR = @UIC_TR@
|
||||
USER_INCLUDES = @USER_INCLUDES@
|
||||
USER_LDFLAGS = @USER_LDFLAGS@
|
||||
USE_EXCEPTIONS = @USE_EXCEPTIONS@
|
||||
USE_RTTI = @USE_RTTI@
|
||||
USE_THREADS = @USE_THREADS@
|
||||
VERSION = @VERSION@
|
||||
WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XMKMF = @XMKMF@
|
||||
XMLLINT = @XMLLINT@
|
||||
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
||||
X_INCLUDES = @X_INCLUDES@
|
||||
X_LDFLAGS = @X_LDFLAGS@
|
||||
X_PRE_LIBS = @X_PRE_LIBS@
|
||||
X_RPATH = @X_RPATH@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
all_includes = @all_includes@
|
||||
all_libraries = @all_libraries@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
kde_appsdir = @kde_appsdir@
|
||||
kde_bindir = @kde_bindir@
|
||||
kde_confdir = @kde_confdir@
|
||||
kde_datadir = @kde_datadir@
|
||||
kde_htmldir = @kde_htmldir@
|
||||
kde_icondir = @kde_icondir@
|
||||
kde_includes = @kde_includes@
|
||||
kde_kcfgdir = @kde_kcfgdir@
|
||||
kde_libraries = @kde_libraries@
|
||||
kde_libs_htmldir = @kde_libs_htmldir@
|
||||
kde_libs_prefix = @kde_libs_prefix@
|
||||
kde_locale = @kde_locale@
|
||||
kde_mimedir = @kde_mimedir@
|
||||
kde_moduledir = @kde_moduledir@
|
||||
kde_qtver = @kde_qtver@
|
||||
kde_servicesdir = @kde_servicesdir@
|
||||
kde_servicetypesdir = @kde_servicetypesdir@
|
||||
kde_sounddir = @kde_sounddir@
|
||||
kde_styledir = @kde_styledir@
|
||||
kde_templatesdir = @kde_templatesdir@
|
||||
kde_wallpaperdir = @kde_wallpaperdir@
|
||||
kde_widgetdir = @kde_widgetdir@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
qt_includes = @qt_includes@
|
||||
qt_libraries = @qt_libraries@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
target_cpu = @target_cpu@
|
||||
target_os = @target_os@
|
||||
target_vendor = @target_vendor@
|
||||
tdeinitdir = @tdeinitdir@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
x_includes = @x_includes@
|
||||
x_libraries = @x_libraries@
|
||||
xdg_appsdir = @xdg_appsdir@
|
||||
xdg_directorydir = @xdg_directorydir@
|
||||
xdg_menudir = @xdg_menudir@
|
||||
KDE_LANG = en
|
||||
KDE_DOCS = autostart
|
||||
#>- SUBDIRS = $(AUTODIRS)
|
||||
#>+ 1
|
||||
SUBDIRS =. en
|
||||
#>- all: all-recursive
|
||||
#>+ 1
|
||||
all: docs-am all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
#>- @for dep in $?; do \
|
||||
#>- case '$(am__configure_deps)' in \
|
||||
#>- *$$dep*) \
|
||||
#>- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
#>- && { if test -f $@; then exit 0; else break; fi; }; \
|
||||
#>- exit 1;; \
|
||||
#>- esac; \
|
||||
#>- done; \
|
||||
#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
|
||||
#>- $(am__cd) $(top_srcdir) && \
|
||||
#>- $(AUTOMAKE) --gnu doc/Makefile
|
||||
#>+ 12
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu doc/Makefile
|
||||
cd $(top_srcdir) && perl admin/am_edit doc/Makefile.in
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run `make' without going through this Makefile.
|
||||
# To change the values of `make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in `config.status', edit `config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
*k*) failcom='fail=yes';; \
|
||||
esac; \
|
||||
done; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
$(RECURSIVE_CLEAN_TARGETS):
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
*k*) failcom='fail=yes';; \
|
||||
esac; \
|
||||
done; \
|
||||
dot_seen=no; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
rev=''; for subdir in $$list; do \
|
||||
if test "$$subdir" = "."; then :; else \
|
||||
rev="$$subdir $$rev"; \
|
||||
fi; \
|
||||
done; \
|
||||
rev="$$rev ."; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
for subdir in $$rev; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done && test -z "$$fail"
|
||||
tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
ctags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
empty_fix=.; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
empty_fix=; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test ! -f $$subdir/TAGS || \
|
||||
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||
$(am__relativize); \
|
||||
new_distdir=$$reldir; \
|
||||
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||
$(am__relativize); \
|
||||
new_top_distdir=$$reldir; \
|
||||
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||
($(am__cd) $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$new_top_distdir" \
|
||||
distdir="$$new_distdir" \
|
||||
am__remove_distdir=: \
|
||||
am__skip_length_check=: \
|
||||
am__skip_mode_fix=: \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
#>- clean: clean-recursive
|
||||
#>+ 1
|
||||
clean: kde-rpo-clean clean-recursive
|
||||
|
||||
#>- clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
#>+ 1
|
||||
clean-am: clean-bcheck clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-recursive
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-recursive
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-recursive
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-recursive
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
|
||||
install-am install-strip tags-recursive
|
||||
|
||||
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
|
||||
all all-am check check-am clean clean-generic clean-libtool \
|
||||
ctags ctags-recursive distclean distclean-generic \
|
||||
distclean-libtool distclean-tags distdir dvi dvi-am html \
|
||||
html-am info info-am install install-am install-data \
|
||||
install-data-am install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-man install-pdf install-pdf-am \
|
||||
install-ps install-ps-am install-strip installcheck \
|
||||
installcheck-am installdirs installdirs-am maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
|
||||
uninstall uninstall-am
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
||||
#>+ 2
|
||||
KDE_DIST=Makefile.in Makefile.am
|
||||
|
||||
#>+ 2
|
||||
docs-am:
|
||||
|
||||
#>+ 15
|
||||
force-reedit:
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu doc/Makefile
|
||||
cd $(top_srcdir) && perl admin/am_edit doc/Makefile.in
|
||||
|
||||
|
||||
#>+ 21
|
||||
clean-bcheck:
|
||||
rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
|
||||
|
||||
bcheck: bcheck-recursive
|
||||
|
||||
bcheck-am:
|
||||
@for i in ; do \
|
||||
if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
|
||||
echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
|
||||
echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
|
||||
echo "$$i"; \
|
||||
if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
|
||||
rm -f $$i.bchecktest.cc; exit 1; \
|
||||
fi ; \
|
||||
echo "" >> $$i.bchecktest.cc.class; \
|
||||
perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
|
||||
rm -f a.out; \
|
||||
fi ; \
|
||||
done
|
||||
|
||||
|
||||
#>+ 3
|
||||
final:
|
||||
$(MAKE) all-am
|
||||
|
||||
#>+ 3
|
||||
final-install:
|
||||
$(MAKE) install-am
|
||||
|
||||
#>+ 3
|
||||
no-final:
|
||||
$(MAKE) all-am
|
||||
|
||||
#>+ 3
|
||||
no-final-install:
|
||||
$(MAKE) install-am
|
||||
|
||||
#>+ 3
|
||||
kde-rpo-clean:
|
||||
-rm -f *.rpo
|
||||
|
||||
#>+ 3
|
||||
nmcheck:
|
||||
nmcheck-am: nmcheck
|
@ -0,0 +1,2 @@
|
||||
KDE_DOCS = ldap
|
||||
KDE_LANG = en
|
@ -0,0 +1,598 @@
|
||||
# Makefile.in generated by automake 1.11.3 from Makefile.am.
|
||||
# KDE tags expanded automatically by am_edit - $Revision$
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
|
||||
# Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
target_triplet = @target@
|
||||
subdir = doc/en
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
||||
$(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
#>+ 1
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
ARTSCCONFIG = @ARTSCCONFIG@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTODIRS = @AUTODIRS@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CONF_FILES = @CONF_FILES@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DCOPIDL = @DCOPIDL@
|
||||
DCOPIDL2CPP = @DCOPIDL2CPP@
|
||||
DCOPIDLNG = @DCOPIDLNG@
|
||||
DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GREP = @GREP@
|
||||
HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
|
||||
KCONFIG_COMPILER = @KCONFIG_COMPILER@
|
||||
KDECONFIG = @KDECONFIG@
|
||||
KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
|
||||
KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
|
||||
KDE_INCLUDES = @KDE_INCLUDES@
|
||||
KDE_LDFLAGS = @KDE_LDFLAGS@
|
||||
KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
|
||||
KDE_MT_LIBS = @KDE_MT_LIBS@
|
||||
KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
|
||||
KDE_PLUGIN = @KDE_PLUGIN@
|
||||
KDE_RPATH = @KDE_RPATH@
|
||||
KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
|
||||
KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
|
||||
KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
|
||||
KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
|
||||
KDE_USE_FPIE = @KDE_USE_FPIE@
|
||||
KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
|
||||
KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
|
||||
KDE_USE_PIE = @KDE_USE_PIE@
|
||||
KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
|
||||
LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
|
||||
LIBCOMPAT = @LIBCOMPAT@
|
||||
LIBCRYPT = @LIBCRYPT@
|
||||
LIBDL = @LIBDL@
|
||||
LIBJPEG = @LIBJPEG@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBPNG = @LIBPNG@
|
||||
LIBPTHREAD = @LIBPTHREAD@
|
||||
LIBRESOLV = @LIBRESOLV@
|
||||
LIBS = @LIBS@
|
||||
LIBSM = @LIBSM@
|
||||
LIBSOCKET = @LIBSOCKET@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIBTQT_LDFLAGS = @LIBTQT_LDFLAGS@
|
||||
LIBUCB = @LIBUCB@
|
||||
LIBUTIL = @LIBUTIL@
|
||||
LIBZ = @LIBZ@
|
||||
LIB_KAB = @LIB_KAB@
|
||||
LIB_KABC = @LIB_KABC@
|
||||
LIB_KDED = @LIB_KDED@
|
||||
LIB_KDNSSD = @LIB_KDNSSD@
|
||||
LIB_KFILE = @LIB_KFILE@
|
||||
LIB_KFM = @LIB_KFM@
|
||||
LIB_KHTML = @LIB_KHTML@
|
||||
LIB_KIMPROXY = @LIB_KIMPROXY@
|
||||
LIB_KIO = @LIB_KIO@
|
||||
LIB_KJS = @LIB_KJS@
|
||||
LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
|
||||
LIB_KPARTS = @LIB_KPARTS@
|
||||
LIB_KSPELL = @LIB_KSPELL@
|
||||
LIB_KSYCOCA = @LIB_KSYCOCA@
|
||||
LIB_KUNITTEST = @LIB_KUNITTEST@
|
||||
LIB_KUTILS = @LIB_KUTILS@
|
||||
LIB_POLL = @LIB_POLL@
|
||||
LIB_QPE = @LIB_QPE@
|
||||
LIB_QT = @LIB_QT@
|
||||
LIB_QUI = @LIB_QUI@
|
||||
LIB_SMB = @LIB_SMB@
|
||||
LIB_TDECORE = @LIB_TDECORE@
|
||||
LIB_TDEPIM = @LIB_TDEPIM@
|
||||
LIB_TDEPRINT = @LIB_TDEPRINT@
|
||||
LIB_TDEUI = @LIB_TDEUI@
|
||||
LIB_X11 = @LIB_X11@
|
||||
LIB_XEXT = @LIB_XEXT@
|
||||
LIB_XRENDER = @LIB_XRENDER@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MCOPIDL = @MCOPIDL@
|
||||
MEINPROC = @MEINPROC@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MOC = @MOC@
|
||||
MSGFMT = @MSGFMT@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
NOOPT_CFLAGS = @NOOPT_CFLAGS@
|
||||
NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
QTE_NORTTI = @QTE_NORTTI@
|
||||
QT_INCLUDES = @QT_INCLUDES@
|
||||
QT_LDFLAGS = @QT_LDFLAGS@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TOPSUBDIRS = @TOPSUBDIRS@
|
||||
TQTDCOPIDL = @TQTDCOPIDL@
|
||||
TQTDCOPIDL2CPP = @TQTDCOPIDL2CPP@
|
||||
TQTDCOPIDLNG = @TQTDCOPIDLNG@
|
||||
TQTMCOPIDL = @TQTMCOPIDL@
|
||||
TQTMOC = @TQTMOC@
|
||||
UIC = @UIC@
|
||||
UIC_TR = @UIC_TR@
|
||||
USER_INCLUDES = @USER_INCLUDES@
|
||||
USER_LDFLAGS = @USER_LDFLAGS@
|
||||
USE_EXCEPTIONS = @USE_EXCEPTIONS@
|
||||
USE_RTTI = @USE_RTTI@
|
||||
USE_THREADS = @USE_THREADS@
|
||||
VERSION = @VERSION@
|
||||
WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XMKMF = @XMKMF@
|
||||
XMLLINT = @XMLLINT@
|
||||
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
||||
X_INCLUDES = @X_INCLUDES@
|
||||
X_LDFLAGS = @X_LDFLAGS@
|
||||
X_PRE_LIBS = @X_PRE_LIBS@
|
||||
X_RPATH = @X_RPATH@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
all_includes = @all_includes@
|
||||
all_libraries = @all_libraries@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
kde_appsdir = @kde_appsdir@
|
||||
kde_bindir = @kde_bindir@
|
||||
kde_confdir = @kde_confdir@
|
||||
kde_datadir = @kde_datadir@
|
||||
kde_htmldir = @kde_htmldir@
|
||||
kde_icondir = @kde_icondir@
|
||||
kde_includes = @kde_includes@
|
||||
kde_kcfgdir = @kde_kcfgdir@
|
||||
kde_libraries = @kde_libraries@
|
||||
kde_libs_htmldir = @kde_libs_htmldir@
|
||||
kde_libs_prefix = @kde_libs_prefix@
|
||||
kde_locale = @kde_locale@
|
||||
kde_mimedir = @kde_mimedir@
|
||||
kde_moduledir = @kde_moduledir@
|
||||
kde_qtver = @kde_qtver@
|
||||
kde_servicesdir = @kde_servicesdir@
|
||||
kde_servicetypesdir = @kde_servicetypesdir@
|
||||
kde_sounddir = @kde_sounddir@
|
||||
kde_styledir = @kde_styledir@
|
||||
kde_templatesdir = @kde_templatesdir@
|
||||
kde_wallpaperdir = @kde_wallpaperdir@
|
||||
kde_widgetdir = @kde_widgetdir@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
qt_includes = @qt_includes@
|
||||
qt_libraries = @qt_libraries@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
target_cpu = @target_cpu@
|
||||
target_os = @target_os@
|
||||
target_vendor = @target_vendor@
|
||||
tdeinitdir = @tdeinitdir@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
x_includes = @x_includes@
|
||||
x_libraries = @x_libraries@
|
||||
xdg_appsdir = @xdg_appsdir@
|
||||
xdg_directorydir = @xdg_directorydir@
|
||||
xdg_menudir = @xdg_menudir@
|
||||
KDE_DOCS = ldap
|
||||
KDE_LANG = en
|
||||
#>- all: all-am
|
||||
#>+ 1
|
||||
all: docs-am all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
#>- @for dep in $?; do \
|
||||
#>- case '$(am__configure_deps)' in \
|
||||
#>- *$$dep*) \
|
||||
#>- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
#>- && { if test -f $@; then exit 0; else break; fi; }; \
|
||||
#>- exit 1;; \
|
||||
#>- esac; \
|
||||
#>- done; \
|
||||
#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/en/Makefile'; \
|
||||
#>- $(am__cd) $(top_srcdir) && \
|
||||
#>- $(AUTOMAKE) --gnu doc/en/Makefile
|
||||
#>+ 12
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/en/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu doc/en/Makefile
|
||||
cd $(top_srcdir) && perl admin/am_edit doc/en/Makefile.in
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile
|
||||
installdirs:
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
#>- clean: clean-am
|
||||
#>+ 1
|
||||
clean: kde-rpo-clean clean-am
|
||||
|
||||
#>- clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
#>+ 1
|
||||
clean-am: clean-bcheck clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||
distclean distclean-generic distclean-libtool distdir dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-html install-html-am \
|
||||
install-info install-info-am install-man install-pdf \
|
||||
install-pdf-am install-ps install-ps-am install-strip \
|
||||
installcheck installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
||||
#>+ 2
|
||||
KDE_DIST=Makefile.in Makefile.am
|
||||
|
||||
#>+ 2
|
||||
docs-am:
|
||||
|
||||
#>+ 15
|
||||
force-reedit:
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/en/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu doc/en/Makefile
|
||||
cd $(top_srcdir) && perl admin/am_edit doc/en/Makefile.in
|
||||
|
||||
|
||||
#>+ 21
|
||||
clean-bcheck:
|
||||
rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
|
||||
|
||||
bcheck: bcheck-am
|
||||
|
||||
bcheck-am:
|
||||
@for i in ; do \
|
||||
if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
|
||||
echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
|
||||
echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
|
||||
echo "$$i"; \
|
||||
if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
|
||||
rm -f $$i.bchecktest.cc; exit 1; \
|
||||
fi ; \
|
||||
echo "" >> $$i.bchecktest.cc.class; \
|
||||
perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
|
||||
rm -f a.out; \
|
||||
fi ; \
|
||||
done
|
||||
|
||||
|
||||
#>+ 3
|
||||
final:
|
||||
$(MAKE) all-am
|
||||
|
||||
#>+ 3
|
||||
final-install:
|
||||
$(MAKE) install-am
|
||||
|
||||
#>+ 3
|
||||
no-final:
|
||||
$(MAKE) all-am
|
||||
|
||||
#>+ 3
|
||||
no-final-install:
|
||||
$(MAKE) install-am
|
||||
|
||||
#>+ 3
|
||||
kde-rpo-clean:
|
||||
-rm -f *.rpo
|
||||
|
||||
#>+ 3
|
||||
nmcheck:
|
||||
nmcheck-am: nmcheck
|
@ -0,0 +1,2 @@
|
||||
POFILES = AUTO
|
||||
# noinst_HEADERS = ldap.pot
|
@ -0,0 +1,598 @@
|
||||
# Makefile.in generated by automake 1.11.3 from Makefile.am.
|
||||
# KDE tags expanded automatically by am_edit - $Revision$
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
|
||||
# Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
target_triplet = @target@
|
||||
subdir = po
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
||||
$(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
#>+ 1
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
ARTSCCONFIG = @ARTSCCONFIG@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTODIRS = @AUTODIRS@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CONF_FILES = @CONF_FILES@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DCOPIDL = @DCOPIDL@
|
||||
DCOPIDL2CPP = @DCOPIDL2CPP@
|
||||
DCOPIDLNG = @DCOPIDLNG@
|
||||
DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GREP = @GREP@
|
||||
HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
|
||||
KCONFIG_COMPILER = @KCONFIG_COMPILER@
|
||||
KDECONFIG = @KDECONFIG@
|
||||
KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
|
||||
KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
|
||||
KDE_INCLUDES = @KDE_INCLUDES@
|
||||
KDE_LDFLAGS = @KDE_LDFLAGS@
|
||||
KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
|
||||
KDE_MT_LIBS = @KDE_MT_LIBS@
|
||||
KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
|
||||
KDE_PLUGIN = @KDE_PLUGIN@
|
||||
KDE_RPATH = @KDE_RPATH@
|
||||
KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
|
||||
KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
|
||||
KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
|
||||
KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
|
||||
KDE_USE_FPIE = @KDE_USE_FPIE@
|
||||
KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
|
||||
KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
|
||||
KDE_USE_PIE = @KDE_USE_PIE@
|
||||
KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
|
||||
LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
|
||||
LIBCOMPAT = @LIBCOMPAT@
|
||||
LIBCRYPT = @LIBCRYPT@
|
||||
LIBDL = @LIBDL@
|
||||
LIBJPEG = @LIBJPEG@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBPNG = @LIBPNG@
|
||||
LIBPTHREAD = @LIBPTHREAD@
|
||||
LIBRESOLV = @LIBRESOLV@
|
||||
LIBS = @LIBS@
|
||||
LIBSM = @LIBSM@
|
||||
LIBSOCKET = @LIBSOCKET@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIBTQT_LDFLAGS = @LIBTQT_LDFLAGS@
|
||||
LIBUCB = @LIBUCB@
|
||||
LIBUTIL = @LIBUTIL@
|
||||
LIBZ = @LIBZ@
|
||||
LIB_KAB = @LIB_KAB@
|
||||
LIB_KABC = @LIB_KABC@
|
||||
LIB_KDED = @LIB_KDED@
|
||||
LIB_KDNSSD = @LIB_KDNSSD@
|
||||
LIB_KFILE = @LIB_KFILE@
|
||||
LIB_KFM = @LIB_KFM@
|
||||
LIB_KHTML = @LIB_KHTML@
|
||||
LIB_KIMPROXY = @LIB_KIMPROXY@
|
||||
LIB_KIO = @LIB_KIO@
|
||||
LIB_KJS = @LIB_KJS@
|
||||
LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
|
||||
LIB_KPARTS = @LIB_KPARTS@
|
||||
LIB_KSPELL = @LIB_KSPELL@
|
||||
LIB_KSYCOCA = @LIB_KSYCOCA@
|
||||
LIB_KUNITTEST = @LIB_KUNITTEST@
|
||||
LIB_KUTILS = @LIB_KUTILS@
|
||||
LIB_POLL = @LIB_POLL@
|
||||
LIB_QPE = @LIB_QPE@
|
||||
LIB_QT = @LIB_QT@
|
||||
LIB_QUI = @LIB_QUI@
|
||||
LIB_SMB = @LIB_SMB@
|
||||
LIB_TDECORE = @LIB_TDECORE@
|
||||
LIB_TDEPIM = @LIB_TDEPIM@
|
||||
LIB_TDEPRINT = @LIB_TDEPRINT@
|
||||
LIB_TDEUI = @LIB_TDEUI@
|
||||
LIB_X11 = @LIB_X11@
|
||||
LIB_XEXT = @LIB_XEXT@
|
||||
LIB_XRENDER = @LIB_XRENDER@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MCOPIDL = @MCOPIDL@
|
||||
MEINPROC = @MEINPROC@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MOC = @MOC@
|
||||
MSGFMT = @MSGFMT@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
NOOPT_CFLAGS = @NOOPT_CFLAGS@
|
||||
NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
QTE_NORTTI = @QTE_NORTTI@
|
||||
QT_INCLUDES = @QT_INCLUDES@
|
||||
QT_LDFLAGS = @QT_LDFLAGS@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TOPSUBDIRS = @TOPSUBDIRS@
|
||||
TQTDCOPIDL = @TQTDCOPIDL@
|
||||
TQTDCOPIDL2CPP = @TQTDCOPIDL2CPP@
|
||||
TQTDCOPIDLNG = @TQTDCOPIDLNG@
|
||||
TQTMCOPIDL = @TQTMCOPIDL@
|
||||
TQTMOC = @TQTMOC@
|
||||
UIC = @UIC@
|
||||
UIC_TR = @UIC_TR@
|
||||
USER_INCLUDES = @USER_INCLUDES@
|
||||
USER_LDFLAGS = @USER_LDFLAGS@
|
||||
USE_EXCEPTIONS = @USE_EXCEPTIONS@
|
||||
USE_RTTI = @USE_RTTI@
|
||||
USE_THREADS = @USE_THREADS@
|
||||
VERSION = @VERSION@
|
||||
WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XMKMF = @XMKMF@
|
||||
XMLLINT = @XMLLINT@
|
||||
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
||||
X_INCLUDES = @X_INCLUDES@
|
||||
X_LDFLAGS = @X_LDFLAGS@
|
||||
X_PRE_LIBS = @X_PRE_LIBS@
|
||||
X_RPATH = @X_RPATH@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
all_includes = @all_includes@
|
||||
all_libraries = @all_libraries@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
kde_appsdir = @kde_appsdir@
|
||||
kde_bindir = @kde_bindir@
|
||||
kde_confdir = @kde_confdir@
|
||||
kde_datadir = @kde_datadir@
|
||||
kde_htmldir = @kde_htmldir@
|
||||
kde_icondir = @kde_icondir@
|
||||
kde_includes = @kde_includes@
|
||||
kde_kcfgdir = @kde_kcfgdir@
|
||||
kde_libraries = @kde_libraries@
|
||||
kde_libs_htmldir = @kde_libs_htmldir@
|
||||
kde_libs_prefix = @kde_libs_prefix@
|
||||
kde_locale = @kde_locale@
|
||||
kde_mimedir = @kde_mimedir@
|
||||
kde_moduledir = @kde_moduledir@
|
||||
kde_qtver = @kde_qtver@
|
||||
kde_servicesdir = @kde_servicesdir@
|
||||
kde_servicetypesdir = @kde_servicetypesdir@
|
||||
kde_sounddir = @kde_sounddir@
|
||||
kde_styledir = @kde_styledir@
|
||||
kde_templatesdir = @kde_templatesdir@
|
||||
kde_wallpaperdir = @kde_wallpaperdir@
|
||||
kde_widgetdir = @kde_widgetdir@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
qt_includes = @qt_includes@
|
||||
qt_libraries = @qt_libraries@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
target_cpu = @target_cpu@
|
||||
target_os = @target_os@
|
||||
target_vendor = @target_vendor@
|
||||
tdeinitdir = @tdeinitdir@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
x_includes = @x_includes@
|
||||
x_libraries = @x_libraries@
|
||||
xdg_appsdir = @xdg_appsdir@
|
||||
xdg_directorydir = @xdg_directorydir@
|
||||
xdg_menudir = @xdg_menudir@
|
||||
POFILES = AUTO
|
||||
#>- all: all-am
|
||||
#>+ 1
|
||||
all: docs-am all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
#>- @for dep in $?; do \
|
||||
#>- case '$(am__configure_deps)' in \
|
||||
#>- *$$dep*) \
|
||||
#>- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
#>- && { if test -f $@; then exit 0; else break; fi; }; \
|
||||
#>- exit 1;; \
|
||||
#>- esac; \
|
||||
#>- done; \
|
||||
#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu po/Makefile'; \
|
||||
#>- $(am__cd) $(top_srcdir) && \
|
||||
#>- $(AUTOMAKE) --gnu po/Makefile
|
||||
#>+ 12
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu po/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu po/Makefile
|
||||
cd $(top_srcdir) && perl admin/am_edit po/Makefile.in
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile
|
||||
installdirs:
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
#>- clean: clean-am
|
||||
#>+ 1
|
||||
clean: kde-rpo-clean clean-am
|
||||
|
||||
#>- clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
#>+ 1
|
||||
clean-am: clean-bcheck clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||
distclean distclean-generic distclean-libtool distdir dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-html install-html-am \
|
||||
install-info install-info-am install-man install-pdf \
|
||||
install-pdf-am install-ps install-ps-am install-strip \
|
||||
installcheck installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
|
||||
|
||||
# noinst_HEADERS = ldap.pot
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
||||
#>+ 2
|
||||
KDE_DIST=Makefile.in Makefile.am
|
||||
|
||||
#>+ 2
|
||||
docs-am:
|
||||
|
||||
#>+ 15
|
||||
force-reedit:
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu po/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu po/Makefile
|
||||
cd $(top_srcdir) && perl admin/am_edit po/Makefile.in
|
||||
|
||||
|
||||
#>+ 21
|
||||
clean-bcheck:
|
||||
rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
|
||||
|
||||
bcheck: bcheck-am
|
||||
|
||||
bcheck-am:
|
||||
@for i in ; do \
|
||||
if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
|
||||
echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
|
||||
echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
|
||||
echo "$$i"; \
|
||||
if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
|
||||
rm -f $$i.bchecktest.cc; exit 1; \
|
||||
fi ; \
|
||||
echo "" >> $$i.bchecktest.cc.class; \
|
||||
perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
|
||||
rm -f a.out; \
|
||||
fi ; \
|
||||
done
|
||||
|
||||
|
||||
#>+ 3
|
||||
final:
|
||||
$(MAKE) all-am
|
||||
|
||||
#>+ 3
|
||||
final-install:
|
||||
$(MAKE) install-am
|
||||
|
||||
#>+ 3
|
||||
no-final:
|
||||
$(MAKE) all-am
|
||||
|
||||
#>+ 3
|
||||
no-final-install:
|
||||
$(MAKE) install-am
|
||||
|
||||
#>+ 3
|
||||
kde-rpo-clean:
|
||||
-rm -f *.rpo
|
||||
|
||||
#>+ 3
|
||||
nmcheck:
|
||||
nmcheck-am: nmcheck
|
@ -0,0 +1,11 @@
|
||||
INCLUDES= $(all_includes) $(KDE_INCLUDES)/tde -I/usr/include/sasl
|
||||
KDE_CXXFLAGS = $(USE_EXCEPTIONS)
|
||||
|
||||
bin_PROGRAMS = remotefpga_adminsysctlserver
|
||||
|
||||
remotefpga_adminsysctlserver_SOURCES = main.cpp admin_sys_ctl.cpp
|
||||
|
||||
remotefpga_adminsysctlserver_METASOURCES = AUTO
|
||||
remotefpga_adminsysctlserver_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_KIO) -lktexteditor -ltdekrbsocket -ltqtrla
|
||||
|
||||
KDE_OPTIONS = nofinal
|
@ -0,0 +1,486 @@
|
||||
/*
|
||||
* Remote Laboratory User Management Server
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* (c) 2013 Timothy Pearson
|
||||
* Raptor Engineering
|
||||
* http://www.raptorengineeringinc.com
|
||||
*/
|
||||
|
||||
#include <stdio.h> /* perror() */
|
||||
#include <stdlib.h> /* atoi() */
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <unistd.h> /* read() */
|
||||
#include <errno.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <netdb.h>
|
||||
#include <fcntl.h>
|
||||
#include <termios.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/signal.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include <tqtimer.h>
|
||||
#include <tqfile.h>
|
||||
|
||||
#include <klocale.h>
|
||||
|
||||
#include "admin_sys_ctl.h"
|
||||
|
||||
#define ABORT_SOCKET(s) s->close(); \
|
||||
s->disconnect(); \
|
||||
delete s; \
|
||||
s = NULL;
|
||||
|
||||
#define NETWORK_COMM_TIMEOUT_MS 5000
|
||||
|
||||
/* exception handling */
|
||||
struct exit_exception {
|
||||
int c;
|
||||
exit_exception(int c):c(c) { }
|
||||
};
|
||||
|
||||
enum connectionStates {
|
||||
StateIdle = 0
|
||||
};
|
||||
|
||||
/*
|
||||
The SysCtlSocket class provides a socket that is connected with a client.
|
||||
For every client that connects to the server, the server creates a new
|
||||
instance of this class.
|
||||
*/
|
||||
SysCtlSocket::SysCtlSocket(int sock, TQObject *parent, const char *name) :
|
||||
TDEKerberosServerSocket(parent, name), m_criticalSection(0), m_loopTimer(NULL), m_config(static_cast<UserMgmtServer*>(parent)->m_config), m_terminals_database(NULL), m_workspaces_database(NULL), m_commandLoopState(StateIdle)
|
||||
{
|
||||
|
||||
// Initialize timers
|
||||
m_kerberosInitTimer = new TQTimer();
|
||||
connect(m_kerberosInitTimer, SIGNAL(timeout()), this, SLOT(finishKerberosHandshake()));
|
||||
m_servClientTimeout = new TQTimer();
|
||||
|
||||
setServiceName("remotefpga");
|
||||
|
||||
line = 0;
|
||||
connect(this, SIGNAL(connectionClosed()), SLOT(connectionClosedHandler()));
|
||||
connect(this, SIGNAL(connectionClosed()), parent, SLOT(remoteConnectionClosed()));
|
||||
setSocket(sock);
|
||||
|
||||
if (connectToDatabase() != 0) {
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
SysCtlSocket::~SysCtlSocket() {
|
||||
if (m_servClientTimeout) {
|
||||
m_servClientTimeout->stop();
|
||||
delete m_servClientTimeout;
|
||||
m_servClientTimeout = NULL;
|
||||
}
|
||||
if (m_kerberosInitTimer) {
|
||||
m_kerberosInitTimer->stop();
|
||||
delete m_kerberosInitTimer;
|
||||
m_kerberosInitTimer = NULL;
|
||||
}
|
||||
if (m_loopTimer) {
|
||||
m_loopTimer->stop();
|
||||
delete m_loopTimer;
|
||||
m_loopTimer = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void SysCtlSocket::close() {
|
||||
if (state() == TQSocket::Connected) {
|
||||
TDEKerberosServerSocket::close();
|
||||
connectionClosedHandler();
|
||||
TQTimer::singleShot(0, parent(), SLOT(remoteConnectionClosed()));
|
||||
}
|
||||
}
|
||||
|
||||
void SysCtlSocket::connectionClosedHandler() {
|
||||
printf("[DEBUG] Connection from %s closed\n\r", m_remoteHost.ascii());
|
||||
|
||||
if (m_criticalSection > 0) {
|
||||
throw exit_exception(-1);
|
||||
}
|
||||
}
|
||||
|
||||
void SysCtlSocket::initiateKerberosHandshake() {
|
||||
setUsingKerberos(true);
|
||||
m_kerberosInitTimer->start(100, TRUE);
|
||||
}
|
||||
|
||||
void SysCtlSocket::finishKerberosHandshake() {
|
||||
if (kerberosStatus() == TDEKerberosServerSocket::KerberosInitializing) {
|
||||
m_kerberosInitTimer->start(100, TRUE);
|
||||
return;
|
||||
}
|
||||
if (kerberosStatus() == TDEKerberosServerSocket::KerberosInUse) {
|
||||
m_config->setGroup("Security");
|
||||
TQString masterUser = m_config->readEntry("masteruser");
|
||||
TQString masterRealm = m_config->readEntry("masterrealm");
|
||||
if (masterRealm == "") {
|
||||
masterRealm = "(NULL)";
|
||||
}
|
||||
if ((m_authenticatedUserName != masterUser) || (m_authenticatedRealmName != masterRealm)) {
|
||||
printf("[DEBUG] Connection from %s closed due to authentication failure (attempted connection as user %s@%s)\n\r", m_remoteHost.ascii(), m_authenticatedUserName.ascii(), m_authenticatedRealmName.ascii());
|
||||
close();
|
||||
return;
|
||||
}
|
||||
|
||||
setDataTimeout(NETWORK_COMM_TIMEOUT_MS);
|
||||
|
||||
TQDataStream ds(this);
|
||||
ds.setPrintableData(true);
|
||||
ds << TQString("OK");
|
||||
writeEndOfFrame();
|
||||
|
||||
enterCommandLoop();
|
||||
return;
|
||||
}
|
||||
else {
|
||||
printf("[DEBUG] Connection from %s closed due to Kerberos failure\n\r", m_remoteHost.ascii()); fflush(stdout);
|
||||
close();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void SysCtlSocket::commandLoop() {
|
||||
bool transferred_data;
|
||||
|
||||
m_criticalSection++;
|
||||
try {
|
||||
transferred_data = false;
|
||||
if (state() == TQSocket::Connected) {
|
||||
if (m_commandLoopState == StateIdle) {
|
||||
// Certain commands can come in at any time during some operations
|
||||
if (canReadLine()) {
|
||||
processPendingData();
|
||||
}
|
||||
if (canReadFrame()) {
|
||||
TQDataStream ds(this);
|
||||
ds.setPrintableData(true);
|
||||
TQString command;
|
||||
ds >> command;
|
||||
if (command == "USERS") {
|
||||
TQString subCommand;
|
||||
ds >> subCommand;
|
||||
if (subCommand == "TERMINALS") {
|
||||
clearFrameTail();
|
||||
ds << TQString("OK");
|
||||
TerminalServiceStatusList list;
|
||||
TQSqlCursor databaseActivityCursor("sessions", TRUE, m_terminals_database);
|
||||
databaseActivityCursor.select();
|
||||
while (databaseActivityCursor.next()) {
|
||||
TerminalServiceStatusType status;
|
||||
|
||||
status.protocolVersion = 1;
|
||||
status.sessionID = databaseActivityCursor.value("pk").toInt();
|
||||
status.username = databaseActivityCursor.value("username").toString();
|
||||
status.serverName = databaseActivityCursor.value("servername").toString();
|
||||
status.serverPID = databaseActivityCursor.value("server_pid").toInt();
|
||||
status.wmPID = databaseActivityCursor.value("wm_pid").toInt();
|
||||
status.state = databaseActivityCursor.value("state").toInt();
|
||||
status.display = databaseActivityCursor.value("display").toInt();
|
||||
status.loginStamp.setTime_t(databaseActivityCursor.value("stamp_start").toLongLong());
|
||||
status.activityStamp.setTime_t(databaseActivityCursor.value("stamp_statechange").toLongLong());
|
||||
|
||||
list.append(status);
|
||||
}
|
||||
ds << list;
|
||||
writeEndOfFrame();
|
||||
}
|
||||
else if (subCommand == "WORKSPACES") {
|
||||
clearFrameTail();
|
||||
ds << TQString("OK");
|
||||
WorkspaceServiceStatusList list;
|
||||
TQSqlCursor databaseActivityCursor("activity", TRUE, m_workspaces_database);
|
||||
databaseActivityCursor.select();
|
||||
while (databaseActivityCursor.next()) {
|
||||
WorkspaceServiceStatusType status;
|
||||
|
||||
status.protocolVersion = 1;
|
||||
status.sessionID = databaseActivityCursor.value("pk").toInt();
|
||||
status.stationID = databaseActivityCursor.value("station").toInt();
|
||||
status.username = databaseActivityCursor.value("username").toString();
|
||||
status.realmname = databaseActivityCursor.value("realmname").toString();
|
||||
status.serverID = databaseActivityCursor.value("serverid").toInt();
|
||||
status.serviceID = databaseActivityCursor.value("serviceid").toInt();
|
||||
status.stationID = databaseActivityCursor.value("station").toInt();
|
||||
TQSqlCursor databaseStationsCursor("stations", TRUE, m_workspaces_database);
|
||||
databaseStationsCursor.select(TQString("pk=%1").arg(status.stationID));
|
||||
if (databaseStationsCursor.next()) {
|
||||
status.stationName = databaseStationsCursor.value("name").toString();
|
||||
}
|
||||
status.loginStamp.setTime_t(databaseActivityCursor.value("logontime").toLongLong());
|
||||
status.terminateStamp.setTime_t(databaseActivityCursor.value("terminate").toLongLong());
|
||||
|
||||
list.append(status);
|
||||
}
|
||||
ds << list;
|
||||
writeEndOfFrame();
|
||||
}
|
||||
else {
|
||||
clearFrameTail();
|
||||
ds << TQString("ERRINVCMD");
|
||||
writeEndOfFrame();
|
||||
}
|
||||
}
|
||||
else if (command == "SESSION") {
|
||||
TQString subCommand;
|
||||
TQString sessionID;
|
||||
ds >> subCommand;
|
||||
ds >> sessionID;
|
||||
if (subCommand == "LOGOFF_TERMINAL") {
|
||||
TQ_UINT32 delay;
|
||||
ds >> delay;
|
||||
clearFrameTail();
|
||||
// FIXME UNIMPLEMENTED
|
||||
ds << TQString("ERRINVCMD");
|
||||
writeEndOfFrame();
|
||||
}
|
||||
else if (subCommand == "CANCEL_LOGOFF_TERMINAL") {
|
||||
clearFrameTail();
|
||||
// FIXME UNIMPLEMENTED
|
||||
ds << TQString("ERRINVCMD");
|
||||
writeEndOfFrame();
|
||||
}
|
||||
else if (subCommand == "KILL_TERMINAL") {
|
||||
clearFrameTail();
|
||||
TQSqlCursor databaseActivityCursor("sessions", TRUE, m_terminals_database);
|
||||
databaseActivityCursor.select(TQString("pk=%1").arg(sessionID));
|
||||
if (databaseActivityCursor.next()) {
|
||||
// Gather server information
|
||||
TQString server_name = databaseActivityCursor.value("servername").toString();
|
||||
int server_pid = databaseActivityCursor.value("server_pid").toInt();
|
||||
// Kill server process
|
||||
TQString command = TQString("ssh root@%1 'kill -9 %2'").arg(server_name).arg(server_pid);
|
||||
if (system(command.ascii()) == 0) {
|
||||
// Remove database entry
|
||||
databaseActivityCursor.select(TQString("pk=%1").arg(sessionID));
|
||||
if (databaseActivityCursor.next()) {
|
||||
databaseActivityCursor.primeDelete();
|
||||
databaseActivityCursor.del(true);
|
||||
}
|
||||
ds << TQString("OK");
|
||||
}
|
||||
else {
|
||||
ds << TQString("ERRFAILED");
|
||||
}
|
||||
writeEndOfFrame();
|
||||
}
|
||||
else {
|
||||
ds << TQString("ERRINVCMD");
|
||||
}
|
||||
writeEndOfFrame();
|
||||
}
|
||||
else if (subCommand == "KILL_WORKSPACE") {
|
||||
TQ_INT32 terminationOffset;
|
||||
ds >> terminationOffset;
|
||||
clearFrameTail();
|
||||
TQDateTime terminationTime = TQDateTime::currentDateTime();
|
||||
terminationTime = terminationTime.addSecs(terminationOffset*60);
|
||||
TQSqlCursor databaseActivityCursor("activity", TRUE, m_workspaces_database);
|
||||
databaseActivityCursor.select(TQString("pk=%1").arg(sessionID));
|
||||
if (databaseActivityCursor.next()) {
|
||||
TQSqlRecord *buffer = databaseActivityCursor.primeUpdate();
|
||||
if (terminationOffset > -2) {
|
||||
buffer->setValue("terminate", terminationTime.toTime_t());
|
||||
}
|
||||
else {
|
||||
buffer->setValue("terminate", 0);
|
||||
}
|
||||
databaseActivityCursor.update();
|
||||
|
||||
ds << TQString("OK");
|
||||
}
|
||||
else {
|
||||
ds << TQString("ERRINVCMD");
|
||||
}
|
||||
writeEndOfFrame();
|
||||
}
|
||||
else if (subCommand == "CANCEL_KILL_WORKSPACE") {
|
||||
clearFrameTail();
|
||||
TQSqlCursor databaseActivityCursor("activity", TRUE, m_workspaces_database);
|
||||
databaseActivityCursor.select(TQString("pk=%1").arg(sessionID));
|
||||
if (databaseActivityCursor.next()) {
|
||||
TQSqlRecord *buffer = databaseActivityCursor.primeUpdate();
|
||||
buffer->setValue("terminate", 0);
|
||||
databaseActivityCursor.update();
|
||||
|
||||
ds << TQString("OK");
|
||||
}
|
||||
else {
|
||||
ds << TQString("ERRINVCMD");
|
||||
}
|
||||
writeEndOfFrame();
|
||||
}
|
||||
else {
|
||||
clearFrameTail();
|
||||
ds << TQString("ERRINVCMD");
|
||||
writeEndOfFrame();
|
||||
}
|
||||
}
|
||||
else {
|
||||
clearFrameTail();
|
||||
}
|
||||
transferred_data = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
m_criticalSection--;
|
||||
if (transferred_data) {
|
||||
if (m_loopTimer) m_loopTimer->start(0, TRUE);
|
||||
}
|
||||
else {
|
||||
if (m_loopTimer) m_loopTimer->start(100, TRUE);
|
||||
}
|
||||
return;
|
||||
}
|
||||
catch (...) {
|
||||
m_criticalSection--;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
int SysCtlSocket::enterCommandLoop() {
|
||||
m_commandLoopState = StateIdle;
|
||||
if (!m_loopTimer) {
|
||||
m_loopTimer = new TQTimer();
|
||||
connect(m_loopTimer, SIGNAL(timeout()), this, SLOT(commandLoop()));
|
||||
}
|
||||
if (m_loopTimer) m_loopTimer->start(0, TRUE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int SysCtlSocket::connectToDatabase() {
|
||||
if ((m_terminals_database) && (m_workspaces_database)) {
|
||||
return -2;
|
||||
}
|
||||
|
||||
m_terminals_database = TQSqlDatabase::database("terminals");
|
||||
m_workspaces_database = TQSqlDatabase::database("workspaces");
|
||||
if ((!m_terminals_database) || (!m_workspaces_database)) {
|
||||
printf("[ERROR] Databases were not constructed by the application\n\r"); fflush(stdout);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
The UserMgmtServer class handles new connections to the server. For every
|
||||
client that connects, it creates a new SysCtlSocket -- that instance is now
|
||||
responsible for the communication with that client.
|
||||
*/
|
||||
UserMgmtServer::UserMgmtServer(TQObject* parent, int port, KSimpleConfig* config) :
|
||||
TQServerSocket( port, 1, parent ), m_config(config), m_numberOfConnections(0), m_terminals_database(NULL), m_workspaces_database(NULL), m_sqlPingTimer(NULL) {
|
||||
|
||||
if (connectToDatabase() != 0) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if ( !ok() ) {
|
||||
printf("[ERROR] Failed to bind to port %d\n\r", port);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
printf("[INFO] Server started on port %d\n\r", port); fflush(stdout);
|
||||
}
|
||||
|
||||
UserMgmtServer::~UserMgmtServer() {
|
||||
if (m_sqlPingTimer) {
|
||||
m_sqlPingTimer->stop();
|
||||
delete m_sqlPingTimer;
|
||||
m_sqlPingTimer = NULL;
|
||||
}
|
||||
if (m_terminals_database) {
|
||||
TQSqlDatabase::removeDatabase(m_terminals_database);
|
||||
m_terminals_database = NULL;
|
||||
}
|
||||
if (m_workspaces_database) {
|
||||
TQSqlDatabase::removeDatabase(m_workspaces_database);
|
||||
m_workspaces_database = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
int UserMgmtServer::connectToDatabase() {
|
||||
m_config->setGroup("Terminals Database");
|
||||
|
||||
m_terminals_database = TQSqlDatabase::addDatabase(m_config->readEntry("driver"), "terminals");
|
||||
m_terminals_database->setDatabaseName(m_config->readEntry("database"));
|
||||
m_terminals_database->setUserName(m_config->readEntry("username"));
|
||||
m_terminals_database->setPassword(m_config->readEntry("password"));
|
||||
m_terminals_database->setHostName(m_config->readEntry("server"));
|
||||
|
||||
if(!m_terminals_database->open()) {
|
||||
printf("[ERROR] Failed to connect to control database on server '%s' [%s]\n\r", m_terminals_database->hostName().ascii(), m_terminals_database->lastError().text().ascii()); fflush(stdout);
|
||||
TQSqlDatabase::removeDatabase(m_terminals_database);
|
||||
m_terminals_database = NULL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
m_config->setGroup("Workspaces Database");
|
||||
|
||||
m_workspaces_database = TQSqlDatabase::addDatabase(m_config->readEntry("driver"), "workspaces");
|
||||
m_workspaces_database->setDatabaseName(m_config->readEntry("database"));
|
||||
m_workspaces_database->setUserName(m_config->readEntry("username"));
|
||||
m_workspaces_database->setPassword(m_config->readEntry("password"));
|
||||
m_workspaces_database->setHostName(m_config->readEntry("server"));
|
||||
|
||||
if(!m_workspaces_database->open()) {
|
||||
printf("[ERROR] Failed to connect to control database on server '%s' [%s]\n\r", m_workspaces_database->hostName().ascii(), m_workspaces_database->lastError().text().ascii()); fflush(stdout);
|
||||
TQSqlDatabase::removeDatabase(m_workspaces_database);
|
||||
m_workspaces_database = NULL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
// FIXME
|
||||
// We currently have no way to handle something as simple as the database server going offline!
|
||||
|
||||
// Start database ping process
|
||||
m_sqlPingTimer = new TQTimer();
|
||||
connect(m_sqlPingTimer, SIGNAL(timeout()), this, SLOT(pingSQLServer()));
|
||||
m_sqlPingTimer->start(60*1000);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void UserMgmtServer::pingSQLServer() {
|
||||
TQSqlQuery terminals_query(TQString::null, m_terminals_database);
|
||||
terminals_query.exec("SELECT * FROM sessions");
|
||||
TQSqlQuery workspaces_query(TQString::null, m_workspaces_database);
|
||||
workspaces_query.exec("SELECT * FROM activity");
|
||||
}
|
||||
|
||||
void UserMgmtServer::newConnection(int socket) {
|
||||
SysCtlSocket *s = new SysCtlSocket(socket, this);
|
||||
s->m_remoteHost = s->peerAddress().toString();
|
||||
printf("[DEBUG] New connection from %s\n\r", s->m_remoteHost.ascii());
|
||||
if (m_numberOfConnections > 0) {
|
||||
printf("[DEBUG] Connection from %s closed due to multiple access attempt\n\r", s->m_remoteHost.ascii());
|
||||
ABORT_SOCKET(s)
|
||||
return;
|
||||
}
|
||||
connect(s, SIGNAL(connectionClosed()), s, SLOT(deleteLater()));
|
||||
s->initiateKerberosHandshake();
|
||||
emit newConnect(s);
|
||||
}
|
||||
|
||||
void UserMgmtServer::remoteConnectionClosed() {
|
||||
m_numberOfConnections--;
|
||||
}
|
@ -0,0 +1,106 @@
|
||||
/*
|
||||
* Remote Laboratory User Management Server
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* (c) 2013 Timothy Pearson
|
||||
* Raptor Engineering
|
||||
* http://www.raptorengineeringinc.com
|
||||
*/
|
||||
|
||||
#include <tqsocket.h>
|
||||
#include <tqserversocket.h>
|
||||
#include <tqapplication.h>
|
||||
#include <tqvbox.h>
|
||||
#include <tqtextview.h>
|
||||
#include <tqlabel.h>
|
||||
#include <tqpushbutton.h>
|
||||
#include <tqtextstream.h>
|
||||
#include <tqsqldatabase.h>
|
||||
#include <tqsqlcursor.h>
|
||||
|
||||
#include <ksimpleconfig.h>
|
||||
|
||||
#include <tdekrbserversocket.h>
|
||||
|
||||
#include <tqtrla.h>
|
||||
|
||||
#define MAGIC_NUMBER 1
|
||||
#define PROTOCOL_VERSION 1
|
||||
|
||||
class SysCtlSocket : public TDEKerberosServerSocket
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SysCtlSocket(int sock, TQObject *parent=0, const char *name=0);
|
||||
~SysCtlSocket();
|
||||
|
||||
public:
|
||||
void close();
|
||||
void initiateKerberosHandshake();
|
||||
int enterCommandLoop();
|
||||
|
||||
private slots:
|
||||
void finishKerberosHandshake();
|
||||
void connectionClosedHandler();
|
||||
void commandLoop();
|
||||
int connectToDatabase();
|
||||
|
||||
private:
|
||||
int line;
|
||||
int m_criticalSection;
|
||||
TQString m_remoteHost;
|
||||
|
||||
TQTimer* m_kerberosInitTimer;
|
||||
TQTimer* m_loopTimer;
|
||||
TQTimer* m_servClientTimeout;
|
||||
|
||||
KSimpleConfig* m_config;
|
||||
TQSqlDatabase* m_terminals_database;
|
||||
TQSqlDatabase* m_workspaces_database;
|
||||
int m_commandLoopState;
|
||||
|
||||
friend class UserMgmtServer;
|
||||
};
|
||||
|
||||
class UserMgmtServer : public TQServerSocket
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
UserMgmtServer(TQObject* parent=0, int port=0, KSimpleConfig* config=0);
|
||||
~UserMgmtServer();
|
||||
|
||||
void newConnection(int socket);
|
||||
|
||||
private slots:
|
||||
void remoteConnectionClosed();
|
||||
int connectToDatabase();
|
||||
void pingSQLServer();
|
||||
|
||||
signals:
|
||||
void newConnect(SysCtlSocket*);
|
||||
|
||||
private:
|
||||
KSimpleConfig* m_config;
|
||||
int m_numberOfConnections;
|
||||
TQSqlDatabase* m_terminals_database;
|
||||
TQSqlDatabase* m_workspaces_database;
|
||||
TQTimer* m_sqlPingTimer;
|
||||
|
||||
friend class SysCtlSocket;
|
||||
|
||||
};
|
@ -0,0 +1,64 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2013 by Timothy Pearson *
|
||||
* kb9vqf@pearsoncomputing.net *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netdb.h>
|
||||
#include <pwd.h>
|
||||
#include <limits.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <tqdatetime.h>
|
||||
#include <tqfile.h>
|
||||
#include <tqdir.h>
|
||||
|
||||
#include <kapplication.h>
|
||||
#include <kstartupinfo.h>
|
||||
#include <kcmdlineargs.h>
|
||||
#include <kaboutdata.h>
|
||||
#include <ksimpleconfig.h>
|
||||
|
||||
#include "admin_sys_ctl.h"
|
||||
|
||||
static const char description[] = I18N_NOOP("RemoteFPGA System Administration User Management Server");
|
||||
|
||||
static const char version[] = "v0.0.1";
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
KAboutData aboutData( "remotefpga_admin_sys_ctl_server", I18N_NOOP("RemoteFPGA System Administration User Management Server"),
|
||||
version, description, KAboutData::License_GPL,
|
||||
"(c) 2013, Timothy Pearson");
|
||||
aboutData.addAuthor("Timothy Pearson",0, "kb9vqf@pearsoncomputing.net");
|
||||
KCmdLineArgs::init( argc, argv, &aboutData );
|
||||
KApplication::disableAutoDcopRegistration();
|
||||
|
||||
KApplication app(false, false);
|
||||
|
||||
KStartupInfo::appStarted();
|
||||
|
||||
KSimpleConfig config("remotefpga_adminusermgmtserver.conf", false);
|
||||
config.setGroup("Server");
|
||||
SysCtlServer fpgasvr(0, config.readNumEntry("port", 4016), &config);
|
||||
return app.exec();
|
||||
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
doc
|
||||
po
|
||||
src
|
Loading…
Reference in new issue