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 14:49:53 +0000
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
500f0c1e2fd894b81aaae4fcc67cfa92812ee9b8
500f0c1e
1 parent
95bc5d69
Bascule sur module développé par étudiants
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
80 additions
and
57 deletions
network/Makefile
network/alm_libnetwork.cpp
network/arcsnetworkcomponent.cpp
network/arcsnetworkframes.cpp
network/arcsnetworkframes.h
network/arcsnetworkproxyslot.cpp
network/arcsnetworkserver.cpp
network/moc_arcsnetworkconfigurator.cpp
network/moc_arcsnetworkserver.cpp
network/Makefile
View file @
500f0c1
#############################################################################
# Makefile for building: libnetwork.so.1.0.0
# Generated by qmake (2.01a) (Qt 4.8.4) on: Thu
Jul 25 19:38:32
2013
# Generated by qmake (2.01a) (Qt 4.8.4) on: Thu
Aug 29 15:33:09
2013
# Project: network.pro
# Template: lib
# Command: /usr/bin/qmake -o Makefile network.pro
...
...
@@ -13,10 +13,10 @@ CXX = g++
DEFINES
=
-DQT_NO_DEBUG -DQT_NETWORK_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/include -I. -I.
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.
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/
vortex/sources/ARCS2
/lib -larcs -lQtNetwork -L/usr/lib/qt/lib -lQtCore -lpthread
LIBS
=
$(SUBLIBS)
-L/usr/lib/qt/lib -L/home/
didier/sources/ARCS2/trunk
/lib -larcs -lQtNetwork -L/usr/lib/qt/lib -lQtCore -lpthread
AR
=
ar cqs
RANLIB
=
QMAKE
=
/usr/bin/qmake
...
...
network/alm_libnetwork.cpp
View file @
500f0c1
#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 @
500f0c1
...
...
@@ -62,7 +62,7 @@ QStringList ARCSNetworkComponent::getSignals()
socket
->
connectToHost
(
hostName
,
port
);
if
(
!
socket
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"
[Network] interface request error
"
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
std
::
cerr
<<
"
Erreur 405: IFACE_REQUEST error: dépassement du time out
"
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
return
res
;
}
...
...
@@ -73,12 +73,13 @@ QStringList ARCSNetworkComponent::getSignals()
if
(
response
)
{
if
(
response
->
getType
()
!=
ARCSNetworkFrame
::
IFACE_RESPONSE
)
std
::
cerr
<<
"[Network] invalid response recieved to interface request."
<<
std
::
endl
;
std
::
cerr
<<
"Erreur 467: IFACE_RESPONSE error: invalid response recieved!"
<<
std
::
endl
;
else
res
=
((
ARCSNetworkInterfaceResponse
*
)
response
->
getData
())
->
getSignals
();
}
else
std
::
cerr
<<
"
[Network]
Null interface response recieved ! "
<<
std
::
endl
;
std
::
cerr
<<
"
Erreur 468: IFACE_RESPONSE error:
Null interface response recieved ! "
<<
std
::
endl
;
socket
->
disconnectFromHost
();
if
(
response
)
...
...
@@ -95,7 +96,7 @@ QStringList ARCSNetworkComponent::getSlots()
socket
->
connectToHost
(
hostName
,
port
);
if
(
!
socket
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"
[Network] interface request error
"
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
std
::
cerr
<<
"
Erreur 405: IFACE_REQUEST error: dépassement du time out
"
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
return
res
;
}
...
...
@@ -106,12 +107,12 @@ QStringList ARCSNetworkComponent::getSlots()
if
(
response
)
{
if
(
response
->
getType
()
!=
ARCSNetworkFrame
::
IFACE_RESPONSE
)
std
::
cerr
<<
"
[Network] invalid response recieved to interface request.
"
<<
std
::
endl
;
std
::
cerr
<<
"
Erreur 467: IFACE_RESPONSE error: invalid response recieved!
"
<<
std
::
endl
;
else
res
=
((
ARCSNetworkInterfaceResponse
*
)
response
->
getData
())
->
getSlots
();
}
else
std
::
cerr
<<
"
[Network]
Null interface response recieved ! "
<<
std
::
endl
;
std
::
cerr
<<
"
Erreur 468: IFACE_RESPONSE error:
Null interface response recieved ! "
<<
std
::
endl
;
socket
->
disconnectFromHost
();
if
(
response
)
...
...
@@ -146,7 +147,7 @@ void ARCSNetworkComponent::requestSlotConnect(ARCSNetworkProxySlot* anps)
socket
->
connectToHost
(
hostName
,
port
);
if
(
!
socket
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"[Network] slot request error "
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
std
::
cerr
<<
"Erreur 439: SLOT_REQUEST error: dépassement du time out "
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
return
;
}
...
...
@@ -158,12 +159,12 @@ void ARCSNetworkComponent::requestSlotConnect(ARCSNetworkProxySlot* anps)
if
(
response
)
{
if
(
response
->
getType
()
!=
ARCSNetworkFrame
::
CONNECT_RESPONSE
)
std
::
cerr
<<
"
[Network] invalid response recieved to connect request.
"
<<
std
::
endl
;
std
::
cerr
<<
"
Erreur 416 : CONNECT_RESPONSE error :invalid response recieved to connect request!
"
<<
std
::
endl
;
else
anps
->
setSlotId
(((
ARCSNetworkConnectResponse
*
)
response
->
getData
())
->
getId
());
}
else
std
::
cerr
<<
"
[Network]
Null connect response recieved ! "
<<
std
::
endl
;
std
::
cerr
<<
"
Erreur 417 : CONNECT_RESPONSE error :
Null connect response recieved ! "
<<
std
::
endl
;
socket
->
disconnectFromHost
();
if
(
response
)
...
...
@@ -177,7 +178,7 @@ void ARCSNetworkComponent::requestSignalConnect(ARCSNetworkProxySignal* anps)
socket
->
connectToHost
(
hostName
,
port
);
if
(
!
socket
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"
[Network] signal request error
"
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
std
::
cerr
<<
"
Erreur 449: SIGNAL_REQUEST error: dépassement du time out
"
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
return
;
}
...
...
@@ -204,7 +205,7 @@ void ARCSNetworkComponent::requestSignalDisconnect(ARCSNetworkProxySignal* anps)
socket
->
connectToHost
(
hostName
,
port
);
if
(
!
socket
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"
[Network] signal request error
"
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
std
::
cerr
<<
"
Erreur 449: SIGNAL_REQUEST error: dépassement du time out
"
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
return
;
}
...
...
@@ -239,7 +240,7 @@ bool ARCSNetworkComponent::genuineConnect (QString sig, ARCSAbstractComponent *d
socket
->
connectToHost
(
hostName
,
port
);
if
(
!
socket
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"
[Network] call error "
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
std
::
cerr
<<
"
Erreur 409: CALL_REQUEST error: dépassement du time out "
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
return
false
;
}
...
...
@@ -265,7 +266,7 @@ bool ARCSNetworkComponent::genuineDisconnect(QString sig, ARCSAbstractComponent*
socket
->
connectToHost
(
hostName
,
port
);
if
(
!
socket
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"[Network] call error "
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
std
::
cerr
<<
"Erreur 409: CALL_REQUEST error: dépassement du time out "
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
return
false
;
}
...
...
network/arcsnetworkframes.cpp
View file @
500f0c1
...
...
@@ -33,8 +33,8 @@ void ARCSNetworkFrame::setType(ARCSNetworkFrames t)
case
CALL_REQUEST
:
data
=
new
ARCSNetworkCallRequest
();
break
;
case
CALL
_RESPONSE
:
data
=
new
ARCSNetwork
CallResponse
();
case
ACK
_RESPONSE
:
data
=
new
ARCSNetwork
AckResponse
();
//nouvelle trame
break
;
case
SLOT_REQUEST
:
...
...
@@ -43,7 +43,8 @@ void ARCSNetworkFrame::setType(ARCSNetworkFrames t)
case
SIGNAL_REQUEST
:
data
=
new
ARCSNetworkSignalRequest
();
break
;
case
SLOT_RESPONSE
:
data
=
new
ARCSNetworkSlotResponse
();
// nouvelle trame
default:
type
=
INVALID
;
data
=
0
;
...
...
network/arcsnetworkframes.h
View file @
500f0c1
...
...
@@ -37,10 +37,9 @@ public:
DISCONNECT_REQUEST
,
IFACE_REQUEST
,
SLOT_RESPONSE
,
CONNECT_RESPONSE
,
/* A revoir, peut-tre un SLOT response */
CALL_RESPONSE
,
/* A revoir, peut-tre un ACK response */
ACK_RESPONSE
,
SLOT_RESPONSE
,
/*nouvelle trame ajoute*/
CONNECT_RESPONSE
,
/* a garder */
ACK_RESPONSE
,
/*nouvelle trame d'acquittement*/
IFACE_RESPONSE
};
...
...
@@ -166,6 +165,7 @@ class ARCSNetworkSignalRequest : public ARCSNetworkData
* \date November, the 12th, 2009
* \ingroup network
*/
class
ARCSNetworkSlotRequest
:
public
ARCSNetworkData
{
public
:
...
...
@@ -175,11 +175,25 @@ class ARCSNetworkSlotRequest : public ARCSNetworkData
void
setSlot
(
QString
s
)
{
slotName
=
s
;
}
virtual
void
serialize
(
QDataStream
&
stream
)
{
stream
<<
slotName
;
}
virtual
void
deserialize
(
QDataStream
&
stream
)
{
stream
>>
slotName
;
}
private
:
QString
slotName
;
};
// trame SLOT_RESPONSE AJOUTEE
class
ARCSNetworkSlotResponse
:
public
ARCSNetworkData
{
public
:
ARCSNetworkSlotResponse
()
{}
QString
getSlot
()
{
return
slotName
;
}
void
setSlot
(
QString
s
)
{
slotName
=
s
;
}
int
getId
()
{
return
id
;
}
void
setId
(
int
i
)
{
id
=
i
;}
virtual
void
serialize
(
QDataStream
&
stream
)
{
stream
<<
id
<<
slotName
;
}
virtual
void
deserialize
(
QDataStream
&
stream
)
{
stream
>>
id
>>
slotName
;
}
private
:
QString
slotName
;
int
id
;
};
class
ARCSNetworkDisconnectRequest
:
public
ARCSNetworkData
{
...
...
@@ -217,14 +231,21 @@ class ARCSNetworkCallRequest : public ARCSNetworkData
QStringList
params
;
};
class
ARCSNetwork
Call
Response
:
public
ARCSNetworkData
// TRAME ACK_RESPONSE ajoutee
class
ARCSNetwork
Ack
Response
:
public
ARCSNetworkData
{
//static bool ar; // variable boolenne
public:
ARCSNetworkCallResponse
()
{}
ARCSNetworkAckResponse
()
{}
int
getId
()
{
return
id
;}
void
setId
(
int
i
)
{
id
=
i
;}
virtual
void
serialize
(
QDataStream
&
)
{
}
virtual
void
deserialize
(
QDataStream
&
)
{
}
virtual
void
serialize
(
QDataStream
&
stream
)
{
stream
<<
id
;}
virtual
void
deserialize
(
QDataStream
&
stream
)
{
stream
>>
id
;
}
private
:
int
id
;
};
...
...
network/arcsnetworkproxyslot.cpp
View file @
500f0c1
...
...
@@ -44,8 +44,8 @@ int ARCSNetworkProxySlot::qt_metacall(QMetaObject::Call call,int id, void** argu
socket
->
connectToHost
(
hostName
,
port
);
if
(
!
socket
->
waitForConnected
(
ARCSNetworkFrame
::
TimeOut
))
{
std
::
cerr
<<
"
[Network] call error
"
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
std
::
cerr
<<
"
[Network]
params are "
<<
qPrintable
(
hostName
)
<<
": "
<<
port
std
::
cerr
<<
"
Erreur 408: CALL_REQUEST error: dpassement du time out
"
<<
qPrintable
(
socket
->
errorString
())
<<
std
::
endl
;
std
::
cerr
<<
"
Erreur 408:
params are "
<<
qPrintable
(
hostName
)
<<
": "
<<
port
<<
" ("
<<
this
<<
")"
<<
std
::
endl
;
return
-
1
;
}
...
...
@@ -87,14 +87,14 @@ 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
;
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
;
return
metaObject
()
->
methodCount
();
}
...
...
network/arcsnetworkserver.cpp
View file @
500f0c1
This diff is collapsed. Click to expand it.
network/moc_arcsnetworkconfigurator.cpp
View file @
500f0c1
/****************************************************************************
** Meta object code from reading C++ file 'arcsnetworkconfigurator.h'
**
** Created: Thu
Jul 25 19:38:39
2013
** 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!
...
...
network/moc_arcsnetworkserver.cpp
View file @
500f0c1
/****************************************************************************
** Meta object code from reading C++ file 'arcsnetworkserver.h'
**
** Created: Thu
Jul 25 19:38:39
2013
** 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!
...
...
Please
register
or
login
to post a comment