//******************************************************************
//
// Copyright 2015 Samsung Electronics All Rights Reserved.
//
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
digraph G {
label = "Network Interface Creation";
fontsize = 10;
edge [
fontsize = 10
]
node [
fontsize = 10,
]
// ----
msg_handler [
shape = none
margin = 0
label = <
Message Handler |
-g_threadPoolHandle: ca_thread_pool_t |
-g_sendThread: CAQueueingThread_t |
-g_receiveThread: CAQueueingThread_t |
-g_retransmissionContext: CARetransmission_t |
-g_requestHandler: CARequestCallback |
-g_responseHandler: CAResponseCallback |
+CAInitializeMessageHandler |
+CATerminateMessageHandler |
>
]
threadpool [
shape = none
margin = 0
label = <
ca_threadpool_t |
|
+ca_thread_pool_init |
+ca_thread_pool_free |
+ca_thread_pool_add_task |
>
]
thread_out [
shape = none
margin = 0
label = <
Send Thread |
|
+CASendThreadProcess |
>
]
thread_in [
shape = none
margin = 0
label = <
Receive Thread |
|
+CAReceiveThreadProcess |
>
]
thread_retrans [
shape = none
margin = 0
label = <
Retransmit Thread |
|
+CASendUnicastData |
>
]
control [
tooltip = "Interface Controller",
label = "{Interface Controller| +CAInitializeAdapters()\l\n \n }",
URL = "\ref CAInitializeAdapters()"
shape = none
margin = 0
label = <
Interface Controller |
-g_adapterHandler: CAConnectivityHandler_t[] |
-g_networkPacketReceivedCallback: CANetworkPacketReceivedCallback |
-g_networkChangeCallback: CANetworkChangeCallback |
+CAInitializeAdapters |
+CATerminateAdapters |
+CAStartAdapter |
+CAStopAdapter |
+CAGetNetworkInfo |
+CAStartListeningServerAdapters |
+CAStartDiscoveryServerAdapters |
>
]
conn_handler [
shape = none
margin = 0
label = <
CAConnectivityHandler_t |
|
+startAdapter: CAAdapterStart |
+startListenServer: CAAdapterStartListeningServer |
+startDiscoveryServer: CAAdapterStartDiscoveryServer |
+sendData: CAAdapterSendUnicastData |
+sendDataToAll: CAAdapterSendMulticastData |
+GetnetInfo: CAAdapterGetNetworkInfo |
+readData: CAAdapterReadData |
+stopAdapter: CAAdapterStop |
+terminate: CAAdapterTerminate |
>
]
adapt01 [
shape = none
margin = 0
label = <
Ethernet Adapter |
|
+CAInitializeEthernet |
+CATerminateEthernet |
+CAStartEthernet |
+CAStopEthernet |
+CAStartEthernetListeningServer |
+CAStartEthernetDiscoveryServer |
+CAGetEthernetInterfaceInformation |
+CASendEthernetUnicastData |
+CASendEthernetMulticastData |
+CAReadEthernetData |
>
]
adapt02 [
tooltip = "WiFi Adapter",
label = "{WiFi Adapter| +CAInitializeWifi()\l\n \n }",
URL = "\ref CAInitializeWifi()"
shape = none
margin = 0
label = <
WiFi Adapter |
|
+CAInitializeWifi |
+CATerminateWIFI |
+CAStartWIFI |
+CAStopWIFI |
+CAStartWIFIListeningServer |
+CAStartWIFIDiscoveryServer |
+CAGetWIFIInterfaceInformation |
+CASendWIFIUnicastData |
+CASendWIFIMulticastData |
+CAReadWIFIData |
>
]
adapt03 [
tooltip = "EDR Adapter",
label = "{EDR Adapter| +CAInitializeEDR()\l\n \n }",
URL = "\ref CAInitializeEDR()"
shape = none
margin = 0
label = <
EDR Adapter |
|
+CAInitializeEDR |
+CATerminateEDR |
+CAStartEDR |
+CAStopEDR |
+CAStartEDRListeningServer |
+CAStartEDRDiscoveryServer |
+CAGetEDRInterfaceInformation |
+CASendEDRUnicastData |
+CASendEDRMulticastData |
+CAReadEDRData |
>
]
adapt04 [
tooltip = "LE Adapter",
label = "{LE Adapter| +CAInitializeLE()\l\n \n }",
URL = "\ref CAInitializeLE()"
shape = none
margin = 0
label = <
LE Adapter |
|
+CAInitializeLE |
+CATerminateLE |
+CAStartLE |
+CAStopLE |
+CAStartLEListeningServer |
+CAStartLEDiscoveryServer |
+CAGetLEInterfaceInformation |
+CASendLEUnicastData |
+CASendLEMulticastData |
+CAReadLEData |
>
]
// UML Inheritance relationships
edge [
arrowtail = open,
dir = back
]
{
conn_handler -> adapt01
conn_handler -> adapt02
conn_handler -> adapt03
conn_handler -> adapt04
}
// UML Aggregation relationships
edge [
arrowtail = odiamond,
dir = back
]
msg_handler -> control
msg_handler -> threadpool
msg_handler -> thread_out
msg_handler -> thread_in
msg_handler -> thread_retrans
control -> conn_handler
// Additional 'layout' tweaks
{rank = same control threadpool thread_out thread_in thread_retrans}
edge [
style = invis
]
threadpool -> thread_out -> control -> thread_in -> thread_retrans
}