Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F27037024
MasterAgentHandlerOfAgent.cpp
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Authored By
Unknown
Size
2 KB
Referenced Files
None
Subscribers
None
MasterAgentHandlerOfAgent.cpp
View Options
#include
"MasterAgentHandlerOfAgent.h"
#include
<cstddef>
#define MAX_BUFFER_LENGTH_MASTERAGENT_HANDLER 300
MasterAgentHandlerOfAgent
::
MasterAgentHandlerOfAgent
()
{
masterAgentSlotOfAgent
=
NULL
;
maxBufferLength
=
MAX_BUFFER_LENGTH_MASTERAGENT_HANDLER
;
}
bool
MasterAgentHandlerOfAgent
::
mount_masterAgentIntoSlaveAgentSlot
(
Channel
*
comPort
)
{
masterAgentSlotOfAgent
=
new
MasterAgentSlotOfAgent
();
if
(
masterAgentSlotOfAgent
!=
NULL
)
{
if
(
masterAgentSlotOfAgent
->
set_comPort
(
comPort
))
{
return
true
;
}
}
delete
masterAgentSlotOfAgent
;
return
false
;
}
MasterAgentSlotOfAgent
*
MasterAgentHandlerOfAgent
::
get_masterAgentSlotAddress
()
{
return
masterAgentSlotOfAgent
;
}
bool
MasterAgentHandlerOfAgent
::
demount_masterAgent
()
{
if
(
masterAgentSlotOfAgent
!=
NULL
)
{
delete
masterAgentSlotOfAgent
;
masterAgentSlotOfAgent
=
NULL
;
return
true
;
}
return
false
;
}
bool
MasterAgentHandlerOfAgent
::
set_maxBufferLength
(
unsigned
int
maxBufferLength
)
{
if
(
maxBufferLength
<=
MAX_BUFFER_LENGTH_MASTERAGENT_HANDLER
)
{
this
->
maxBufferLength
=
maxBufferLength
;
return
true
;
}
return
false
;
}
unsigned
int
MasterAgentHandlerOfAgent
::
get_maxBufferLength
()
{
return
maxBufferLength
;
}
bool
MasterAgentHandlerOfAgent
::
pass_msgToSendBuffer
(
float
msg
)
{
//TODO: make message handler and shift following lines to it!
//TODO: try/catch for pushback function!
Message
*
message
=
new
Message
(
msg
);
lSendBuffer
.
push_back
(
message
);
return
false
;
}
bool
MasterAgentHandlerOfAgent
::
pass_msgToSendBuffer
(
int
msg
)
{
//TODO: make message handler and shift following lines to it!
//TODO: try/catch for pushback function!
Message
*
message
=
new
Message
(
msg
);
lSendBuffer
.
push_back
(
message
);
return
false
;
}
unsigned
int
MasterAgentHandlerOfAgent
::
get_avlSendBuffer
()
{
return
maxBufferLength
-
get_occSendBuffer
();
}
unsigned
int
MasterAgentHandlerOfAgent
::
get_occSendBuffer
()
{
return
lSendBuffer
.
size
();
}
bool
MasterAgentHandlerOfAgent
::
send_msgs
()
{
if
(
masterAgentSlotOfAgent
!=
NULL
)
{
Channel
*
comPort
=
masterAgentSlotOfAgent
->
get_comPort
();
if
(
comPort
!=
NULL
)
{
//TODO: also other sending mode... current MODE: only send it when all packets can be sended
if
(
get_occSendBuffer
()
<=
comPort
->
get_avlInputBufferUp
())
{
//for(unsigned int i=0; i<get_occSendBuffer(); i++)
while
(
get_occSendBuffer
()
>
0
){
//TODO: make message handler and shift following lines to it!
//TODO: try/catch for pushback function!
comPort
->
send_MsgUp
(
lSendBuffer
.
front
());
lSendBuffer
.
pop_front
();
}
}
}
}
return
false
;
}
MasterAgentHandlerOfAgent
::
~
MasterAgentHandlerOfAgent
()
{
delete
masterAgentSlotOfAgent
;
}
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Tue, Oct 27, 8:23 PM (1 d, 2 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
410766
Default Alt Text
MasterAgentHandlerOfAgent.cpp (2 KB)
Attached To
Mode
R20 SoC_Rosa_repo
Attached
Detach File
Event Timeline