|
|
|
/***************************************************************************
|
|
|
|
* 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 TQTRLA_H
|
|
|
|
#define TQTRLA_H
|
|
|
|
|
|
|
|
#include <tqobject.h>
|
|
|
|
#include <tqptrlist.h>
|
|
|
|
#include <tqtimer.h>
|
|
|
|
|
|
|
|
#include <kaction.h>
|
|
|
|
|
|
|
|
#include <kparts/part.h>
|
|
|
|
|
|
|
|
#include <tdekrbclientsocket.h>
|
|
|
|
|
|
|
|
// =============================================================================
|
|
|
|
|
|
|
|
typedef TQValueList<float> TQFloatList;
|
|
|
|
typedef TQValueList<double> TQDoubleList;
|
|
|
|
typedef TQValueList<TQ_INT32> TQInt32List;
|
|
|
|
typedef TQValueList<TQ_INT16> TQInt16List;
|
|
|
|
|
|
|
|
// =============================================================================
|
|
|
|
|
|
|
|
namespace KParts
|
|
|
|
{
|
|
|
|
class RemoteInstrumentPartPrivate;
|
|
|
|
|
|
|
|
class KPARTS_EXPORT RemoteInstrumentPart : public Part
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
RemoteInstrumentPart(TQObject *parent = 0, const char *name = 0);
|
|
|
|
virtual ~RemoteInstrumentPart();
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
virtual bool openURL( const KURL &url );
|
|
|
|
|
|
|
|
public:
|
|
|
|
KURL url() const { return m_url; }
|
|
|
|
virtual bool closeURL();
|
|
|
|
virtual TQPtrList<KAction> menuActionList();
|
|
|
|
|
|
|
|
protected:
|
|
|
|
TQStringList textForServerError(TQString shortError);
|
|
|
|
TQ_ULONG maximumSocketDataChunkSize();
|
|
|
|
void setUsingFixedSize(bool fixed);
|
|
|
|
|
|
|
|
public:
|
|
|
|
int connectToServer(TQString server);
|
|
|
|
void disconnectFromServer();
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
void finishConnectingToServer();
|
|
|
|
virtual void connectionFinishedCallback();
|
|
|
|
virtual void disconnectFromServerCallback();
|
|
|
|
virtual void connectionStatusChangedCallback();
|
|
|
|
|
|
|
|
protected slots:
|
|
|
|
void close();
|
|
|
|
void resize(TQSize size);
|
|
|
|
void setStatusMessage(const TQString& message);
|
|
|
|
|
|
|
|
signals:
|
|
|
|
void statusMessageSet(const TQString&);
|
|
|
|
void usingFixedSizeChanged(bool);
|
|
|
|
void resizeToHintRequested();
|
|
|
|
|
|
|
|
protected:
|
|
|
|
KURL m_url;
|
|
|
|
TQString m_clientLibraryName;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
TDEKerberosClientSocket* m_socket;
|
|
|
|
TQTimer* m_connectionTimer;
|
|
|
|
bool connToServerConnecting;
|
|
|
|
int connToServerState;
|
|
|
|
TQTimer *connToServerTimeoutTimer;
|
|
|
|
bool m_fixedSize;
|
|
|
|
|
|
|
|
private:
|
|
|
|
RemoteInstrumentPartPrivate *d;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
// =============================================================================
|
|
|
|
|
|
|
|
typedef TQMemArray<float> TQFloatArray;
|
|
|
|
|
|
|
|
#ifndef QT_NO_DATASTREAM
|
|
|
|
Q_EXPORT TQDataStream &operator<<(TQDataStream &, const TQFloatArray &);
|
|
|
|
Q_EXPORT TQDataStream &operator>>(TQDataStream &, TQFloatArray &);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// =============================================================================
|
|
|
|
|
|
|
|
typedef TQMemArray<double> TQDoubleArray;
|
|
|
|
|
|
|
|
#ifndef QT_NO_DATASTREAM
|
|
|
|
Q_EXPORT TQDataStream &operator<<(TQDataStream &, const TQDoubleArray &);
|
|
|
|
Q_EXPORT TQDataStream &operator>>(TQDataStream &, TQDoubleArray &);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// =============================================================================
|
|
|
|
|
|
|
|
class ServiceType
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
TQ_UINT32 type;
|
|
|
|
TQString name;
|
|
|
|
TQString description;
|
|
|
|
TQString clientLibrary;
|
|
|
|
int version;
|
|
|
|
bool singleInstance;
|
|
|
|
};
|
|
|
|
|
|
|
|
#ifndef QT_NO_DATASTREAM
|
|
|
|
Q_EXPORT TQDataStream &operator<<(TQDataStream &, const ServiceType &);
|
|
|
|
Q_EXPORT TQDataStream &operator>>(TQDataStream &, ServiceType &);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef TQValueList<ServiceType> ServiceList;
|
|
|
|
|
|
|
|
Q_EXPORT bool operator==(const ServiceType &s1, const ServiceType &s2);
|
|
|
|
|
|
|
|
// =============================================================================
|
|
|
|
|
|
|
|
class StationType
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
TQ_UINT32 id;
|
|
|
|
TQ_UINT32 type;
|
|
|
|
ServiceList services;
|
|
|
|
TQString name;
|
|
|
|
TQString description;
|
|
|
|
};
|
|
|
|
|
|
|
|
#ifndef QT_NO_DATASTREAM
|
|
|
|
Q_EXPORT TQDataStream &operator<<(TQDataStream &, const StationType &);
|
|
|
|
Q_EXPORT TQDataStream &operator>>(TQDataStream &, StationType &);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef TQValueList<StationType> StationList;
|
|
|
|
|
|
|
|
// =============================================================================
|
|
|
|
|
|
|
|
#endif // TQTRLA_H
|