git-svn-id: svn://db.shs.com.ru/libs@143 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -4,6 +4,7 @@ find_package(Qt4 REQUIRED)
|
||||
if (LIBPROJECT)
|
||||
set(PIP_CMG ${CMAKE_CURRENT_BINARY_DIR}/../pip/utils/code_model_generator/pip_cmg.exe)
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../pip/PIPMacros2.cmake)
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../piqt)
|
||||
else ()
|
||||
find_package(PIP REQUIRED)
|
||||
endif ()
|
||||
|
||||
30
piqt_utils/qpiconnection.cpp
Normal file
30
piqt_utils/qpiconnection.cpp
Normal file
@@ -0,0 +1,30 @@
|
||||
#include "qpiconnection.h"
|
||||
|
||||
|
||||
QPIConnection::QPIConnection(const QString & name): QObject(), PIConnection(Q2PIString(name)) {
|
||||
setObjectName(name);
|
||||
CONNECTU(this, dataReceivedEvent, this, piDataRec);
|
||||
CONNECTU(this, packetReceivedEvent, this, piPacketRec);
|
||||
}
|
||||
|
||||
|
||||
bool QPIConnection::loadFromCMFile(const QString & file) {
|
||||
QPIConfig f(file, QIODevice::ReadOnly);
|
||||
if (!f.isOpen()) return false;
|
||||
QByteArray cd = f.getValue("config", QByteArray());
|
||||
PIString cs = Q2PIString(QString::fromLatin1(cd));
|
||||
configureFromString(&cs, Q2PIString(f.getValue("name", "")));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void QPIConnection::piDataRec(const PIString & from, const PIByteArray & data) {
|
||||
QMetaObject::invokeMethod(this, "qDataReceivedEvent", Qt::QueuedConnection,
|
||||
Q_ARG(QString, PI2QString(from)), Q_ARG(QByteArray, PI2QByteArray(data)));
|
||||
}
|
||||
|
||||
|
||||
void QPIConnection::piPacketRec(const PIString & from, const PIByteArray & data) {
|
||||
QMetaObject::invokeMethod(this, "qPacketReceivedEvent", Qt::QueuedConnection,
|
||||
Q_ARG(QString, PI2QString(from)), Q_ARG(QByteArray, PI2QByteArray(data)));
|
||||
}
|
||||
31
piqt_utils/qpiconnection.h
Normal file
31
piqt_utils/qpiconnection.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef QPICONNECTION_H
|
||||
#define QPICONNECTION_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QMetaObject>
|
||||
#include "piconnection.h"
|
||||
#include "qpiconfig.h"
|
||||
#include "piqt.h"
|
||||
|
||||
class QPIConnection: public QObject, public PIConnection {
|
||||
Q_OBJECT
|
||||
PIOBJECT_SUBCLASS(QPIConnection, PIConnection)
|
||||
public:
|
||||
QPIConnection(const QString & name = QString());
|
||||
|
||||
bool loadFromCMFile(const QString & file);
|
||||
|
||||
protected:
|
||||
void propertyChanged(const PIString & ) {setObjectName(PI2QString(name()));}
|
||||
EVENT_HANDLER2(void, piDataRec, const PIString &, from, const PIByteArray &, data);
|
||||
EVENT_HANDLER2(void, piPacketRec, const PIString &, from, const PIByteArray &, data);
|
||||
|
||||
public slots:
|
||||
|
||||
signals:
|
||||
void qDataReceivedEvent(QString from, QByteArray data);
|
||||
void qPacketReceivedEvent(QString from, QByteArray data);
|
||||
|
||||
};
|
||||
|
||||
#endif // QPICONNECTION_H
|
||||
Reference in New Issue
Block a user