Toggle navigation
Toggle navigation
This project
Loading...
Sign in
arcs
/
ARCS2-Components
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Jean-Yves Didier
2013-08-29 22:24:09 +0000
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
f0c9f838d5634ddb64d8f13c32d291000e8a2948
f0c9f838
1 parent
02bb4295
Mise à jour, correction de bugs dans le module network.
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
132 additions
and
382 deletions
applications/uitest.xml
libs/populate.sh
network/Makefile
network/alm_libnetwork.cpp
network/arcsnetworkcomponent.cpp
network/arcsnetworkframes.cpp
network/arcsnetworkframes.h
network/arcsnetworkproxysignal.cpp
network/arcsnetworkproxyslot.cpp
network/arcsnetworkserver.cpp
network/moc_arcsnetworkconfigurator.cpp
network/moc_arcsnetworkserver.cpp
network/network.pro
applications/uitest.xml
View file @
f0c9f83
<application
mode=
"
gui
"
>
<application
mode=
"
event
"
>
<context>
<libraries>
<library
path=
"../libs/gui"
/>
...
...
libs/populate.sh
View file @
f0c9f83
...
...
@@ -2,8 +2,5 @@
# This script intends to populate the lib directory with ressources from
# the main ARCS2 part.
cp -r
$ARCSDIR
/thirdparty/coin/libarcscoin.so
*
.
cp -r
$ARCSDIR
/sample/libsample.so
*
.
...
...
network/Makefile
View file @
f0c9f83
#############################################################################
# Makefile for building: libnetwork.so.1.0.0
# Generated by qmake (2.01a) (Qt 4.8.4) on: Thu Aug 29
15:33:09
2013
# Generated by qmake (2.01a) (Qt 4.8.4) on: Thu Aug 29
21:40:54
2013
# Project: network.pro
# Template: lib
# Command: /usr/bin/qmake -o Makefile network.pro
# Command: /usr/bin/qmake -
spec /usr/lib/qt/mkspecs/linux-g++ -
o Makefile network.pro
#############################################################################
####### Compiler, tools and options
CC
=
gcc
CXX
=
g++
DEFINES
=
-DQT_N
O_DEBUG -DQT_N
ETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
CFLAGS
=
-pipe -
O2 -march
=
i486 -mtune
=
i686
-Wall -W -D_REENTRANT -fPIC
$(DEFINES)
CXXFLAGS
=
-pipe -
O2 -march
=
i486 -mtune
=
i686
-Wall -W -D_REENTRANT -fPIC
$(DEFINES)
INCPATH
=
-I/usr/lib/qt/mkspecs/linux-g++ -I. -I/usr/lib/qt/include/QtCore -I/usr/lib/qt/include/QtNetwork -I/usr/lib/qt/include -I../../ARCS2/
trunk/
include -I. -I.
DEFINES
=
-DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
CFLAGS
=
-pipe -
g
-Wall -W -D_REENTRANT -fPIC
$(DEFINES)
CXXFLAGS
=
-pipe -
g
-Wall -W -D_REENTRANT -fPIC
$(DEFINES)
INCPATH
=
-I/usr/lib/qt/mkspecs/linux-g++ -I. -I/usr/lib/qt/include/QtCore -I/usr/lib/qt/include/QtNetwork -I/usr/lib/qt/include -I../../ARCS2/include -I. -I.
LINK
=
g++
LFLAGS
=
-Wl,-
O1 -Wl,-
rpath,/usr/lib/qt/lib -shared -Wl,-soname,libnetwork.so.1
LIBS
=
$(SUBLIBS)
-L/usr/lib/qt/lib -L/home/
didier/sources/ARCS2/trunk
/lib -larcs -lQtNetwork -L/usr/lib/qt/lib -lQtCore -lpthread
LFLAGS
=
-Wl,-rpath,/usr/lib/qt/lib -shared -Wl,-soname,libnetwork.so.1
LIBS
=
$(SUBLIBS)
-L/usr/lib/qt/lib -L/home/
vortex/sources/ARCS2
/lib -larcs -lQtNetwork -L/usr/lib/qt/lib -lQtCore -lpthread
AR
=
ar cqs
RANLIB
=
QMAKE
=
/usr/bin/qmake
...
...
@@ -71,7 +71,7 @@ DIST = /usr/lib/qt/mkspecs/common/unix.conf \
/usr/lib/qt/mkspecs/features/qt_config.prf
\
/usr/lib/qt/mkspecs/features/exclusive_builds.prf
\
/usr/lib/qt/mkspecs/features/default_pre.prf
\
/usr/lib/qt/mkspecs/features/
release
.prf
\
/usr/lib/qt/mkspecs/features/
debug
.prf
\
/usr/lib/qt/mkspecs/features/default_post.prf
\
/usr/lib/qt/mkspecs/features/dll.prf
\
/usr/lib/qt/mkspecs/features/shared.prf
\
...
...
@@ -131,6 +131,7 @@ all: Makefile ../libs/$(TARGET)
-
$(DEL_FILE)
../libs/
$(TARGET1)
-
$(DEL_FILE)
../libs/
$(TARGET2)
-
$(MOVE)
$(TARGET)
$(TARGET0)
$(TARGET1)
$(TARGET2)
../libs/
{
test
-z
"
$(DESTDIR)
"
||
cd
"
$(DESTDIR)
"
;
}
&&
test
$$
(
gdb --version | sed -e
's,[^0-9]\+\([0-9]\)\.\([0-9]\).*,\1\2,;q'
)
-gt 72
&&
gdb --nx --batch --quiet -ex
'set confirm off'
-ex
"save gdb-index ."
-ex quit
'
$(TARGET)
'
&&
test
-f
$(TARGET)
.gdb-index
&&
objcopy --add-section
'.gdb_index=
$(TARGET)
.gdb-index'
--set-section-flags
'.gdb_index=readonly'
'
$(TARGET)
'
'
$(TARGET)
'
&&
rm -f
$(TARGET)
.gdb-index
||
true
...
...
@@ -153,7 +154,7 @@ Makefile: network.pro /usr/lib/qt/mkspecs/linux-g++/qmake.conf /usr/lib/qt/mksp
/usr/lib/qt/mkspecs/features/qt_config.prf
\
/usr/lib/qt/mkspecs/features/exclusive_builds.prf
\
/usr/lib/qt/mkspecs/features/default_pre.prf
\
/usr/lib/qt/mkspecs/features/
release
.prf
\
/usr/lib/qt/mkspecs/features/
debug
.prf
\
/usr/lib/qt/mkspecs/features/default_post.prf
\
/usr/lib/qt/mkspecs/features/dll.prf
\
/usr/lib/qt/mkspecs/features/shared.prf
\
...
...
@@ -169,7 +170,7 @@ Makefile: network.pro /usr/lib/qt/mkspecs/linux-g++/qmake.conf /usr/lib/qt/mksp
/usr/lib/qt/mkspecs/features/include_source_dir.prf
\
/usr/lib/qt/lib/libQtNetwork.prl
\
/usr/lib/qt/lib/libQtCore.prl
$(QMAKE)
-o Makefile network.pro
$(QMAKE)
-
spec /usr/lib/qt/mkspecs/linux-g++ -
o Makefile network.pro
/usr/lib/qt/mkspecs/common/unix.conf
:
/usr/lib/qt/mkspecs/common/linux.conf
:
/usr/lib/qt/mkspecs/common/gcc-base.conf
:
...
...
@@ -183,7 +184,7 @@ Makefile: network.pro /usr/lib/qt/mkspecs/linux-g++/qmake.conf /usr/lib/qt/mksp
/usr/lib/qt/mkspecs/features/qt_config.prf
:
/usr/lib/qt/mkspecs/features/exclusive_builds.prf
:
/usr/lib/qt/mkspecs/features/default_pre.prf
:
/usr/lib/qt/mkspecs/features/
release
.prf
:
/usr/lib/qt/mkspecs/features/
debug
.prf
:
/usr/lib/qt/mkspecs/features/default_post.prf
:
/usr/lib/qt/mkspecs/features/dll.prf
:
/usr/lib/qt/mkspecs/features/shared.prf
:
...
...
@@ -200,7 +201,7 @@ Makefile: network.pro /usr/lib/qt/mkspecs/linux-g++/qmake.conf /usr/lib/qt/mksp
/usr/lib/qt/lib/libQtNetwork.prl
:
/usr/lib/qt/lib/libQtCore.prl
:
qmake
:
FORCE
@
$(QMAKE)
-o Makefile network.pro
@
$(QMAKE)
-
spec /usr/lib/qt/mkspecs/linux-g++ -
o Makefile network.pro
dist
:
@
$(CHK_DIR_EXISTS)
.tmp/network1.0.0
||
$(MKDIR)
.tmp/network1.0.0
...
...
network/alm_libnetwork.cpp
View file @
f0c9f83
#include<arcs/arcslibtoolkit.h>
#include<QMetaType>
#include<arcsnetworkfamily.h>
#include<arcsnetworkcomponent.h>
#include<arcsnetworkconfigurator.h>
extern
"C"
DLL_EXPORT
void
arcsLibraryRegister
(
ARCSComponentMap
*
cmap
,
ARCSFamilyMap
*
fmap
,
ARCSTypeMap
*
)
{
cmap
->
insert
(
"ARCSNetworkConfigurator"
,
new
ARCSNativeComponentTemplate
<
ARCSNetworkConfigurator
>
());
fmap
->
insert
(
"ARCSNetworkFamily"
,
new
ARCSNetworkFamily
());
}
extern
"C"
DLL_EXPORT
void
arcsLibraryUnregister
(
ARCSComponentMap
*
cmap
,
ARCSFamilyMap
*
fmap
,
ARCSTypeMap
*
)
{
delete
cmap
->
take
(
"ARCSNetworkConfigurator"
);
delete
fmap
->
take
(
"ARCSNetworkFamily"
);
}
#include<arcs/arcslibtoolkit.h>
#include<QMetaType>
#include<arcsnetworkfamily.h>
#include<arcsnetworkcomponent.h>
#include<arcsnetworkconfigurator.h>
extern
"C"
DLL_EXPORT
void
arcsLibraryRegister
(
ARCSComponentMap
*
cmap
,
ARCSFamilyMap
*
fmap
,
ARCSTypeMap
*
)
{
cmap
->
insert
(
"ARCSNetworkConfigurator"
,
new
ARCSNativeComponentTemplate
<
ARCSNetworkConfigurator
>
());
fmap
->
insert
(
"ARCSNetworkFamily"
,
new
ARCSNetworkFamily
());
}
extern
"C"
DLL_EXPORT
void
arcsLibraryUnregister
(
ARCSComponentMap
*
cmap
,
ARCSFamilyMap
*
fmap
,
ARCSTypeMap
*
)
{
delete
cmap
->
take
(
"ARCSNetworkConfigurator"
);
delete
fmap
->
take
(
"ARCSNetworkFamily"
);
}
...
...
network/arcsnetworkcomponent.cpp
View file @
f0c9f83
...
...
@@ -62,7 +62,7 @@ QStringList ARCSNetworkComponent::getSignals()
socket
->
connectToHost
(
hostName
,
port
);
if
(
!
socket
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"Erreur 405: IFACE_REQUEST error: dépassement du time out "
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
ARCS
::
Network
::
log
(
405
,
socket
->
errorString
())
;
return
res
;
}
...
...
@@ -73,13 +73,15 @@ QStringList ARCSNetworkComponent::getSignals()
if
(
response
)
{
if
(
response
->
getType
()
!=
ARCSNetworkFrame
::
IFACE_RESPONSE
)
std
::
cerr
<<
"Erreur 467: IFACE_RESPONSE error: invalid response recieved!"
<<
std
::
endl
;
// response maybe an error. It should then be a good idea to
// write down such response.
//! \todo handle other response (error)
ARCS
::
Network
::
log
(
467
);
else
res
=
((
ARCSNetworkInterfaceResponse
*
)
response
->
getData
())
->
getSignals
();
}
else
std
::
cerr
<<
"Erreur 468: IFACE_RESPONSE error: Null interface response recieved ! "
<<
std
::
endl
;
ARCS
::
Network
::
log
(
468
)
;
socket
->
disconnectFromHost
();
if
(
response
)
...
...
@@ -96,7 +98,7 @@ QStringList ARCSNetworkComponent::getSlots()
socket
->
connectToHost
(
hostName
,
port
);
if
(
!
socket
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"Erreur 405: IFACE_REQUEST error: dépassement du time out "
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
ARCS
::
Network
::
log
(
405
,
socket
->
errorString
())
;
return
res
;
}
...
...
@@ -107,12 +109,13 @@ QStringList ARCSNetworkComponent::getSlots()
if
(
response
)
{
if
(
response
->
getType
()
!=
ARCSNetworkFrame
::
IFACE_RESPONSE
)
std
::
cerr
<<
"Erreur 467: IFACE_RESPONSE error: invalid response recieved!"
<<
std
::
endl
;
//! \todo handle returned error frames
ARCS
::
Network
::
log
(
467
);
else
res
=
((
ARCSNetworkInterfaceResponse
*
)
response
->
getData
())
->
getSlots
();
}
else
std
::
cerr
<<
"Erreur 468: IFACE_RESPONSE error: Null interface response recieved ! "
<<
std
::
endl
;
ARCS
::
Network
::
log
(
468
)
;
socket
->
disconnectFromHost
();
if
(
response
)
...
...
@@ -147,7 +150,7 @@ void ARCSNetworkComponent::requestSlotConnect(ARCSNetworkProxySlot* anps)
socket
->
connectToHost
(
hostName
,
port
);
if
(
!
socket
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"Erreur 439: SLOT_REQUEST error: dépassement du time out "
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
ARCS
::
Network
::
log
(
439
,
socket
->
errorString
())
;
return
;
}
...
...
@@ -159,12 +162,15 @@ void ARCSNetworkComponent::requestSlotConnect(ARCSNetworkProxySlot* anps)
if
(
response
)
{
if
(
response
->
getType
()
!=
ARCSNetworkFrame
::
CONNECT_RESPONSE
)
std
::
cerr
<<
"Erreur 416 : CONNECT_RESPONSE error :invalid response recieved to connect request!"
<<
std
::
endl
;
//! \todo insérer traitement approprié
ARCS
::
Network
::
log
(
416
);
else
{
anps
->
setSlotId
(((
ARCSNetworkConnectResponse
*
)
response
->
getData
())
->
getId
());
}
}
else
std
::
cerr
<<
"Erreur 417 : CONNECT_RESPONSE error : Null connect response recieved ! "
<<
std
::
endl
;
ARCS
::
Network
::
log
(
417
)
;
socket
->
disconnectFromHost
();
if
(
response
)
...
...
@@ -178,7 +184,7 @@ void ARCSNetworkComponent::requestSignalConnect(ARCSNetworkProxySignal* anps)
socket
->
connectToHost
(
hostName
,
port
);
if
(
!
socket
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"Erreur 449: SIGNAL_REQUEST error: dépassement du time out "
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
ARCS
::
Network
::
log
(
449
,
socket
->
errorString
())
;
return
;
}
...
...
@@ -205,7 +211,7 @@ void ARCSNetworkComponent::requestSignalDisconnect(ARCSNetworkProxySignal* anps)
socket
->
connectToHost
(
hostName
,
port
);
if
(
!
socket
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"Erreur 449: SIGNAL_REQUEST error: dépassement du time out "
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
ARCS
::
Network
::
log
(
449
,
socket
->
errorString
())
;
return
;
}
...
...
@@ -240,7 +246,7 @@ bool ARCSNetworkComponent::genuineConnect (QString sig, ARCSAbstractComponent *d
socket
->
connectToHost
(
hostName
,
port
);
if
(
!
socket
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"Erreur 409: CALL_REQUEST error: dépassement du time out "
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
ARCS
::
Network
::
log
(
419
,
socket
->
errorString
())
;
return
false
;
}
...
...
@@ -250,6 +256,7 @@ bool ARCSNetworkComponent::genuineConnect (QString sig, ARCSAbstractComponent *d
request
.
writeFrame
(
socket
);
ARCSNetworkFrame
*
response
=
ARCSNetworkFrame
::
readFrame
(
socket
);
//! \todo consume response appropriately
if
(
response
)
delete
response
;
...
...
@@ -266,16 +273,16 @@ bool ARCSNetworkComponent::genuineDisconnect(QString sig, ARCSAbstractComponent*
socket
->
connectToHost
(
hostName
,
port
);
if
(
!
socket
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"Erreur 409: CALL_REQUEST error: dépassement du time out "
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
ARCS
::
Network
::
log
(
429
,
socket
->
errorString
())
;
return
false
;
}
ARCSNetworkFrame
request
(
ARCSNetworkFrame
::
DISCONNECT_REQUEST
);
((
ARCSNetworkDisconnectRequest
*
)
request
.
getData
())
->
setSignal
(
sig
);
request
.
writeFrame
(
socket
);
ARCSNetworkFrame
*
response
=
ARCSNetworkFrame
::
readFrame
(
socket
);
//! \todo consume response appropriately
if
(
response
)
delete
response
;
...
...
network/arcsnetworkframes.cpp
View file @
f0c9f83
...
...
@@ -2,7 +2,7 @@
#include <QDataStream>
#include <QByteArray>
#include <iostream>
#include <arcs/arcslog.h>
namespace
ARCS
{
namespace
Network
{
...
...
@@ -10,24 +10,64 @@ namespace ARCS {
}
}
void
ARCS
::
Network
::
log
(
int
errorCode
,
QString
moreInfo
)
{
if
(
moreInfo
.
isEmpty
())
ARCSLog
::
getInstance
()
->
logError
(
"Net:"
+
QString
::
number
(
errorCode
),
errors
[
errorCode
]);
else
ARCSLog
::
getInstance
()
->
logError
(
"Net:"
+
QString
::
number
(
errorCode
),
errors
[
errorCode
].
arg
(
moreInfo
));
}
QHash
<
int
,
QString
>
ARCS
::
Network
::
initErrors
()
{
QHash
<
int
,
QString
>
res
;
///////////////////////////////////////////////////////////////////////////
// errors on client side
res
[
400
]
=
"CALL_REQUEST: id named '%a' not found"
;
res
[
401
]
=
"CALL_REQUEST: wrong port number '%a'"
;
res
[
404
]
=
"CALL_REQUEST: signal named '%a' not found"
;
res
[
400
]
=
"CALL_REQUEST: wrong id (%1)"
;
res
[
401
]
=
"CALL_REQUEST: wrong port number (%1)"
;
res
[
404
]
=
"CALL_REQUEST: wrong signal name (%1)"
;
res
[
405
]
=
"IFACE_REQUEST: time out with error '%1'"
;
res
[
413
]
=
"CONNECT_REQUEST: wrong destination (%1)"
;
res
[
414
]
=
"CONNECT_REQUEST: wrong port number (%1)"
;
res
[
415
]
=
"CONNECT_REQUEST: wrong slot name (%1)"
;
res
[
416
]
=
"CONNECT_REQUEST: received invalid response"
;
res
[
417
]
=
"CONNECT_REQUEST: received null response"
;
res
[
419
]
=
"CONNECT_REQUEST: network error '%1'"
;
res
[
413
]
=
"CONNECT_REQUEST: wrong destination '%a'"
;
res
[
414
]
=
"CONNECT_REQUEST: wrong port number '%a'"
;
res
[
415
]
=
"CONNECT_REQUEST: wrong slot name '%a'"
;
res
[
424
]
=
"DISCONNECT_REQUEST: wrong source name (%1)"
;
res
[
429
]
=
"DISCONNECT_REQUEST: network error '%1'"
;
res
[
435
]
=
"SLOT_REQUEST: wrong slot name (%1)"
;
// classification hasardeuse
res
[
439
]
=
"SLOT_REQUEST: network error '%1'"
;
res
[
440
]
=
"SIGNAL_REQUEST: wrong id (%1)"
;
res
[
441
]
=
"SIGNAL_REQUEST: wrong port number (%1)"
;
res
[
444
]
=
"SIGNAL_REQUEST: wrong signal name (%1)"
;
// classification hasardeuse
res
[
449
]
=
"SIGNAL_REQUEST: network error '%1'"
;
res
[
467
]
=
"IFACE_RESPONSE: received invalid response"
;
res
[
468
]
=
"IFACE_RESPONSE: received null response"
;
///////////////////////////////////////////////////////////////////////////
// errors on server side
res
[
554
]
=
"INTERFACE_RESPONSE: wrong signal name (%1)"
;
//?
res
[
555
]
=
"INTERFACE_RESPONSE: wrong slot name (%1)"
;
//?
res
[
424
]
=
"DISCONNECT_REQUEST: wrong source name '%a'"
;
res
[
560
]
=
"ACK_RESPONSE: wrong id (%1)"
;
res
[
564
]
=
"ACK_RESPONSE: wrong signal name (%1)"
;
res
[
435
]
=
"SLOT_REQUEST: wrong slot name '%a'
"
;
res
[
570
]
=
"CONNECT_RESPONSE: wrong id (%1)
"
;
res
[
585
]
=
"SLOT_RESPONSE: wrong slot name (%1)"
;
return
res
;
}
...
...
network/arcsnetworkframes.h
View file @
f0c9f83
...
...
@@ -9,6 +9,7 @@
namespace
ARCS
{
namespace
Network
{
extern
const
QHash
<
int
,
QString
>
errors
;
void
log
(
int
errorCode
,
QString
moreInfo
=
QString
::
null
);
}
}
...
...
network/arcsnetworkproxysignal.cpp
View file @
f0c9f83
...
...
@@ -43,7 +43,7 @@ int ARCSNetworkProxySignal::prepareSignalConnect(QString, QString, QString, QStr
if
(
anc
)
anc
->
requestSignalConnect
(
this
);
//std::cout << "signal count" << metaObject()->methodCount() << std::endl;
return
metaObject
()
->
methodCount
();
}
...
...
network/arcsnetworkproxyslot.cpp
View file @
f0c9f83
...
...
@@ -87,14 +87,16 @@ int ARCSNetworkProxySlot::prepareSlotConnect(QString , QString sltName, QString
ARCSNetworkComponent
*
anc
=
dynamic_cast
<
ARCSNetworkComponent
*>
(
home
);
if
(
anc
)
anc
->
requestSlotConnect
(
this
);
else
std
::
cerr
<<
"Erreur 415 : CONNECT_REQUEST error : erreur de connexion de slot"
<<
std
::
endl
;
//! \todo insrer ici un traitement appropri
// else std::cerr <<"Erreur 415 : CONNECT_REQUEST error : erreur de connexion de slot" <<std::endl;
if
(
metaObject
()
->
indexOfSlot
(
qPrintable
(
sltName
))
!=
-
1
)
{
return
metaObject
()
->
indexOfSlot
(
qPrintable
(
sltName
));
}
else
std
::
cerr
<<
"Erreur 415 : CONNECT_REQUEST error : slot name is wrong"
<<
std
::
endl
;
// ceci n'est pas une relle erreur
//else std::cerr <<"Erreur 415 : CONNECT_REQUEST error : slot name is wrong" <<std::endl;
return
metaObject
()
->
methodCount
();
}
...
...
network/arcsnetworkserver.cpp
View file @
f0c9f83
...
...
@@ -72,7 +72,7 @@ void ARCSNetworkServerThread::handleConnectRequest(ARCSNetworkConnectRequest* an
// 1 : requete du slot de l'autre composant.
QTcpSocket
*
socketDest
=
new
QTcpSocket
();
socketDest
->
connectToHost
(
hostDest
,
portDest
);
std
::
cout
<<
"le numro de port"
<<
portDest
<<
std
::
endl
;
//
std::cout <<"le numro de port"<< portDest << std::endl;
if
(
!
socketDest
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"Erreur 418 : CONNECT_REQUEST error : depassement du time out "
<<
qPrintable
(
socketDest
->
errorString
())
<<
std
::
endl
;
...
...
@@ -82,7 +82,7 @@ void ARCSNetworkServerThread::handleConnectRequest(ARCSNetworkConnectRequest* an
ARCSNetworkFrame
request
(
ARCSNetworkFrame
::
SLOT_REQUEST
);
((
ARCSNetworkSlotRequest
*
)
request
.
getData
())
->
setSlot
(
ancr
->
getSlot
());
std
::
cout
<<
"liste de slots reu "
<<
qPrintable
(
ancr
->
getSlot
())
<<
std
::
endl
;
//
std::cout << "liste de slots reu " << qPrintable(ancr->getSlot()) << std::endl;
if
(
!
(
request
.
isValid
()))
std
::
cerr
<<
"Erreur 436 : SLOT_REQUEST error : Trame invalide"
<<
std
::
endl
;
request
.
writeFrame
(
socketDest
);
...
...
@@ -124,9 +124,12 @@ void ARCSNetworkServerThread::handleSlotRequest(ARCSNetworkSlotRequest* ansr, QT
id
=
ARCSNetworkServer
::
getInstance
()
->
createSignalStub
(
ansr
->
getSlot
());
//std::cout << "liste de slots " << qPrintable(ansr->getSlot()) << std::endl;
//std::cout << "le id est " << id <<std::endl;
ARCSNetworkFrame
frame
(
ARCSNetworkFrame
::
SLOT_RESPONSE
);
ARCSNetworkFrame
frame
(
ARCSNetworkFrame
::
CONNECT_RESPONSE
);
((
ARCSNetworkConnectResponse
*
)
frame
.
getData
())
->
setId
(
id
);
/** bricolage mal ralis
*ARCSNetworkFrame frame(ARCSNetworkFrame::SLOT_RESPONSE);
((ARCSNetworkSlotResponse*)frame.getData())->setId(id);
((
ARCSNetworkSlotResponse
*
)
frame
.
getData
())
->
setSlot
(
ansr
->
getSlot
());
((ARCSNetworkSlotResponse*)frame.getData())->setSlot(ansr->getSlot());
*/
frame
.
writeFrame
(
socket
);
/* if (ARCSNetworkServer::getInstance()->getSlots()!=ansr->getSlot())
std::cerr <<"Erreur 435 : SLOT_REQUEST error : slot name is wrong: le nom du slot est erron " << std::endl;*/
...
...
@@ -141,6 +144,7 @@ void ARCSNetworkServerThread::handleInterfaceRequest(QTcpSocket* socket)
((
ARCSNetworkInterfaceResponse
*
)
frame
.
getData
())
->
setSlots
(
slotList
);
((
ARCSNetworkInterfaceResponse
*
)
frame
.
getData
())
->
setSignals
(
signalList
);
frame
.
writeFrame
(
socket
);
/** rien voir avec la smantique de la fonction
if ((ARCSNetworkServer::getInstance()->getSignals())!=signalList)
{
std ::cerr <<"Erreur XXX :SIGNAL_REQUEST error : signal name not found"<< std::endl;
...
...
@@ -148,8 +152,7 @@ void ARCSNetworkServerThread::handleInterfaceRequest(QTcpSocket* socket)
if ((ARCSNetworkServer::getInstance()->getSlots())!=slotList)
{
std ::cerr <<"Erreur XXX :SIGNAL_REQUEST error : signal name not found"<< std::endl;
}
}*/
}
...
...
@@ -197,7 +200,7 @@ void ARCSNetworkServerThread::handleCallRequest(ARCSNetworkCallRequest* ancr, QT
ARCSNetworkServer
::
getInstance
()
->
call
(
ancr
->
getId
(),
ancr
->
getParams
());
ARCSNetworkFrame
frame
(
ARCSNetworkFrame
::
ACK_RESPONSE
);
((
ARCSNetworkAckResponse
*
)
frame
.
getData
())
->
setId
(
0
);
std
::
cout
<<
"Acquittement: paquets reus !"
<<
std
::
endl
;
//
std::cout<< "Acquittement: paquets reus !" << std::endl;
frame
.
writeFrame
(
socket
);
}
...
...
@@ -298,7 +301,7 @@ int ARCSNetworkServer::createSignalStub(QString s)
proxySignalsMap
.
insert
(
s
,
id
);
if
(
interface
)
ARCSAbstractComponent
::
connect
(
s
,
interface
,
s
);
std
::
cout
<<
"connexion russi"
<<
std
::
endl
;
//
std::cout <<"connexion russi"<< std::endl;
if
(
!
interface
)
{
std
::
cerr
<<
"Erreur 415 : CONNECT_REQUEST error : slot name is wrong : pas de cration de proxysignal"
<<
std
::
endl
;
...
...
@@ -320,7 +323,7 @@ int ARCSNetworkServer::createSlotStub(QString signal, int id, quint16 port,QStri
if
(
interface
)
interface
->
connect
(
signal
,
this
,
signal
);
else
std
::
cerr
<<
"Erreur 435 : SLOT_REQUEST error : slot name is wrong: pas de cration de proxyslot"
<<
std
::
endl
;
else
std
::
cerr
<<
"Erreur 435
x
: SLOT_REQUEST error : slot name is wrong: pas de cration de proxyslot"
<<
std
::
endl
;
return
0
;
}
...
...
@@ -344,18 +347,18 @@ ARCSNetworkProxySignal* ARCSNetworkServer::getProxySignal(QString s)
}
else
{
if
(
proxySignalsMap
.
contains
(
s
))
{
//if (proxySignalsMap.contains(s)) --> pourrissage en rgle
//
{
proxy
=
new
ARCSNetworkProxySignal
(
this
);
proxy
->
setSignal
(
s
);
proxySignals
.
append
(
proxy
);
proxy
->
setId
(
proxySignals
.
count
()
-
1
);
proxySignalsMap
.
insert
(
s
,
proxySignals
.
count
()
-
1
);
}
/** pourrissage en rgle
}
else
{
std::cerr << "Erreur 435 : SLOT_REQUEST error : slot name is not found: pas de cration de proxyslot"<< std::endl;
}
}
*/
}
return
proxy
;
...
...
network/moc_arcsnetworkconfigurator.cpp
deleted
100644 → 0
View file @
02bb429
/****************************************************************************
** Meta object code from reading C++ file 'arcsnetworkconfigurator.h'
**
** Created: Thu Aug 29 15:33:17 2013
** by: The Qt Meta Object Compiler version 63 (Qt 4.8.4)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "arcsnetworkconfigurator.h"
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'arcsnetworkconfigurator.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 63
#error "This file was generated using the moc from 4.8.4. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
static
const
uint
qt_meta_data_ARCSNetworkConfigurator
[]
=
{
// content:
6
,
// revision
0
,
// classname
0
,
0
,
// classinfo
2
,
14
,
// methods
0
,
0
,
// properties
0
,
0
,
// enums/sets
0
,
0
,
// constructors
0
,
// flags
0
,
// signalCount
// slots: signature, parameters, type, tag, flags
27
,
25
,
24
,
24
,
0x0a
,
51
,
49
,
24
,
24
,
0x0a
,
0
// eod
};
static
const
char
qt_meta_stringdata_ARCSNetworkConfigurator
[]
=
{
"ARCSNetworkConfigurator
\0\0
s
\0
"
"setInterface(QString)
\0
i
\0
setPort(int)
\0
"
};
void
ARCSNetworkConfigurator
::
qt_static_metacall
(
QObject
*
_o
,
QMetaObject
::
Call
_c
,
int
_id
,
void
**
_a
)
{
if
(
_c
==
QMetaObject
::
InvokeMetaMethod
)
{
Q_ASSERT
(
staticMetaObject
.
cast
(
_o
));
ARCSNetworkConfigurator
*
_t
=
static_cast
<
ARCSNetworkConfigurator
*>
(
_o
);
switch
(
_id
)
{
case
0
:
_t
->
setInterface
((
*
reinterpret_cast
<
QString
(
*
)
>
(
_a
[
1
])));
break
;
case
1
:
_t
->
setPort
((
*
reinterpret_cast
<
int
(
*
)
>
(
_a
[
1
])));
break
;
default
:
;
}
}
}
const
QMetaObjectExtraData
ARCSNetworkConfigurator
::
staticMetaObjectExtraData
=
{
0
,
qt_static_metacall
};
const
QMetaObject
ARCSNetworkConfigurator
::
staticMetaObject
=
{
{
&
QObject
::
staticMetaObject
,
qt_meta_stringdata_ARCSNetworkConfigurator
,
qt_meta_data_ARCSNetworkConfigurator
,
&
staticMetaObjectExtraData
}
};
#ifdef Q_NO_DATA_RELOCATION
const
QMetaObject
&
ARCSNetworkConfigurator
::
getStaticMetaObject
()
{
return
staticMetaObject
;
}
#endif //Q_NO_DATA_RELOCATION
const
QMetaObject
*
ARCSNetworkConfigurator
::
metaObject
()
const
{
return
QObject
::
d_ptr
->
metaObject
?
QObject
::
d_ptr
->
metaObject
:
&
staticMetaObject
;
}
void
*
ARCSNetworkConfigurator
::
qt_metacast
(
const
char
*
_clname
)
{
if
(
!
_clname
)
return
0
;
if
(
!
strcmp
(
_clname
,
qt_meta_stringdata_ARCSNetworkConfigurator
))
return
static_cast
<
void
*>
(
const_cast
<
ARCSNetworkConfigurator
*>
(
this
));
return
QObject
::
qt_metacast
(
_clname
);
}
int
ARCSNetworkConfigurator
::
qt_metacall
(
QMetaObject
::
Call
_c
,
int
_id
,
void
**
_a
)
{
_id
=
QObject
::
qt_metacall
(
_c
,
_id
,
_a
);
if
(
_id
<
0
)
return
_id
;
if
(
_c
==
QMetaObject
::
InvokeMetaMethod
)
{
if
(
_id
<
2
)
qt_static_metacall
(
this
,
_c
,
_id
,
_a
);
_id
-=
2
;
}
return
_id
;
}
QT_END_MOC_NAMESPACE
network/moc_arcsnetworkserver.cpp
deleted
100644 → 0
View file @
02bb429
/****************************************************************************
** Meta object code from reading C++ file 'arcsnetworkserver.h'
**
** Created: Thu Aug 29 15:33:17 2013
** by: The Qt Meta Object Compiler version 63 (Qt 4.8.4)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "arcsnetworkserver.h"
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'arcsnetworkserver.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 63
#error "This file was generated using the moc from 4.8.4. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
static
const
uint
qt_meta_data_ARCSNetworkServerThread
[]
=
{
// content:
6
,
// revision
0
,
// classname
0
,
0
,
// classinfo
0
,
0
,
// methods
0
,
0
,
// properties
0
,
0
,
// enums/sets
0
,
0
,
// constructors
0
,
// flags
0
,
// signalCount
0
// eod
};
static
const
char
qt_meta_stringdata_ARCSNetworkServerThread
[]
=
{
"ARCSNetworkServerThread
\0
"
};
void
ARCSNetworkServerThread
::
qt_static_metacall
(
QObject
*
_o
,
QMetaObject
::
Call
_c
,
int
_id
,
void
**
_a
)
{
Q_UNUSED
(
_o
);
Q_UNUSED
(
_id
);
Q_UNUSED
(
_c
);
Q_UNUSED
(
_a
);
}
const
QMetaObjectExtraData
ARCSNetworkServerThread
::
staticMetaObjectExtraData
=
{
0
,
qt_static_metacall
};
const
QMetaObject
ARCSNetworkServerThread
::
staticMetaObject
=
{
{
&
QThread
::
staticMetaObject
,
qt_meta_stringdata_ARCSNetworkServerThread
,
qt_meta_data_ARCSNetworkServerThread
,
&
staticMetaObjectExtraData
}
};
#ifdef Q_NO_DATA_RELOCATION
const
QMetaObject
&
ARCSNetworkServerThread
::
getStaticMetaObject
()
{
return
staticMetaObject
;
}
#endif //Q_NO_DATA_RELOCATION
const
QMetaObject
*
ARCSNetworkServerThread
::
metaObject
()
const
{
return
QObject
::
d_ptr
->
metaObject
?
QObject
::
d_ptr
->
metaObject
:
&
staticMetaObject
;
}
void
*
ARCSNetworkServerThread
::
qt_metacast
(
const
char
*
_clname
)
{
if
(
!
_clname
)
return
0
;
if
(
!
strcmp
(
_clname
,
qt_meta_stringdata_ARCSNetworkServerThread
))
return
static_cast
<
void
*>
(
const_cast
<
ARCSNetworkServerThread
*>
(
this
));
return
QThread
::
qt_metacast
(
_clname
);
}
int
ARCSNetworkServerThread
::
qt_metacall
(
QMetaObject
::
Call
_c
,
int
_id
,
void
**
_a
)
{
_id
=
QThread
::
qt_metacall
(
_c
,
_id
,
_a
);
if
(
_id
<
0
)
return
_id
;
return
_id
;
}
static
const
uint
qt_meta_data_ARCSNetworkThreadedServer
[]
=
{
// content:
6
,
// revision
0
,
// classname
0
,
0
,
// classinfo
0
,
0
,
// methods
0
,
0
,
// properties
0
,
0
,
// enums/sets
0
,
0
,
// constructors
0
,
// flags
0
,
// signalCount
0
// eod
};
static
const
char
qt_meta_stringdata_ARCSNetworkThreadedServer
[]
=
{
"ARCSNetworkThreadedServer
\0
"
};
void
ARCSNetworkThreadedServer
::
qt_static_metacall
(
QObject
*
_o
,
QMetaObject
::
Call
_c
,
int
_id
,
void
**
_a
)
{
Q_UNUSED
(
_o
);
Q_UNUSED
(
_id
);
Q_UNUSED
(
_c
);
Q_UNUSED
(
_a
);
}
const
QMetaObjectExtraData
ARCSNetworkThreadedServer
::
staticMetaObjectExtraData
=
{
0
,
qt_static_metacall
};
const
QMetaObject
ARCSNetworkThreadedServer
::
staticMetaObject
=
{
{
&
QTcpServer
::
staticMetaObject
,
qt_meta_stringdata_ARCSNetworkThreadedServer
,
qt_meta_data_ARCSNetworkThreadedServer
,
&
staticMetaObjectExtraData
}
};
#ifdef Q_NO_DATA_RELOCATION
const
QMetaObject
&
ARCSNetworkThreadedServer
::
getStaticMetaObject
()
{
return
staticMetaObject
;
}
#endif //Q_NO_DATA_RELOCATION
const
QMetaObject
*
ARCSNetworkThreadedServer
::
metaObject
()
const
{
return
QObject
::
d_ptr
->
metaObject
?
QObject
::
d_ptr
->
metaObject
:
&
staticMetaObject
;
}
void
*
ARCSNetworkThreadedServer
::
qt_metacast
(
const
char
*
_clname
)
{
if
(
!
_clname
)
return
0
;
if
(
!
strcmp
(
_clname
,
qt_meta_stringdata_ARCSNetworkThreadedServer
))
return
static_cast
<
void
*>
(
const_cast
<
ARCSNetworkThreadedServer
*>
(
this
));
return
QTcpServer
::
qt_metacast
(
_clname
);
}
int
ARCSNetworkThreadedServer
::
qt_metacall
(
QMetaObject
::
Call
_c
,
int
_id
,
void
**
_a
)
{
_id
=
QTcpServer
::
qt_metacall
(
_c
,
_id
,
_a
);
if
(
_id
<
0
)
return
_id
;
return
_id
;
}
static
const
uint
qt_meta_data_ARCSNetworkServer
[]
=
{
// content:
6
,
// revision
0
,
// classname
0
,
0
,
// classinfo
0
,
0
,
// methods
0
,
0
,
// properties
0
,
0
,
// enums/sets
0
,
0
,
// constructors
0
,
// flags
0
,
// signalCount
0
// eod
};
static
const
char
qt_meta_stringdata_ARCSNetworkServer
[]
=
{
"ARCSNetworkServer
\0
"
};
void
ARCSNetworkServer
::
qt_static_metacall
(
QObject
*
_o
,
QMetaObject
::
Call
_c
,
int
_id
,
void
**
_a
)
{
Q_UNUSED
(
_o
);
Q_UNUSED
(
_id
);
Q_UNUSED
(
_c
);
Q_UNUSED
(
_a
);
}
const
QMetaObjectExtraData
ARCSNetworkServer
::
staticMetaObjectExtraData
=
{
0
,
qt_static_metacall
};
const
QMetaObject
ARCSNetworkServer
::
staticMetaObject
=
{
{
&
QThread
::
staticMetaObject
,
qt_meta_stringdata_ARCSNetworkServer
,
qt_meta_data_ARCSNetworkServer
,
&
staticMetaObjectExtraData
}
};
#ifdef Q_NO_DATA_RELOCATION
const
QMetaObject
&
ARCSNetworkServer
::
getStaticMetaObject
()
{
return
staticMetaObject
;
}
#endif //Q_NO_DATA_RELOCATION
const
QMetaObject
*
ARCSNetworkServer
::
metaObject
()
const
{
return
QObject
::
d_ptr
->
metaObject
?
QObject
::
d_ptr
->
metaObject
:
&
staticMetaObject
;
}
void
*
ARCSNetworkServer
::
qt_metacast
(
const
char
*
_clname
)
{
if
(
!
_clname
)
return
0
;
if
(
!
strcmp
(
_clname
,
qt_meta_stringdata_ARCSNetworkServer
))
return
static_cast
<
void
*>
(
const_cast
<
ARCSNetworkServer
*>
(
this
));
if
(
!
strcmp
(
_clname
,
"ARCSAbstractComponent"
))
return
static_cast
<
ARCSAbstractComponent
*>
(
const_cast
<
ARCSNetworkServer
*>
(
this
));
return
QThread
::
qt_metacast
(
_clname
);
}
int
ARCSNetworkServer
::
qt_metacall
(
QMetaObject
::
Call
_c
,
int
_id
,
void
**
_a
)
{
_id
=
QThread
::
qt_metacall
(
_c
,
_id
,
_a
);
if
(
_id
<
0
)
return
_id
;
return
_id
;
}
QT_END_MOC_NAMESPACE
network/network.pro
View file @
f0c9f83
...
...
@@ -6,7 +6,7 @@ LIBRARIES += -L$$(ARCSDIR)/lib \
-
larcs
LIBS
+=
-
L
$$
(
ARCSDIR
)
/
lib
\
-
larcs
CONFIG
+=
dll
CONFIG
+=
dll
debug
QT
=
core
\
network
...
...
Please
register
or
login
to post a comment