Imported Upstream version 1.0.1
[platform/upstream/iotivity.git] / resource / docs / devdox / ca_functional.dox
1 //******************************************************************
2 //
3 // Copyright 2015 Samsung Electronics All Rights Reserved.
4 //
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
6 //
7 // Licensed under the Apache License, Version 2.0 (the "License");
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
10 //
11 //      http://www.apache.org/licenses/LICENSE-2.0
12 //
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an "AS IS" BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
18 //
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
20
21 /**
22 @page ca_functional CA Functional design/implementation
23
24 - @ref caf_overview
25   - @ref caf_ovr_communication
26     - @ref caf_ovr_comm_netinterface
27       - @ref caf_ovr_comm_netinterface_msg
28       - @ref caf_ovr_comm_netinterface_control
29       - @ref caf_ovr_comm_netinterface_eth
30       - @ref caf_ovr_comm_netinterface_wifi
31       - @ref caf_ovr_comm_netinterface_edr
32       - @ref caf_ovr_comm_netinterface_le
33       - @ref caf_ovr_comm_netinterface_detail
34
35 <hr>
36
37 @section caf_overview Overview
38
39 The following are assorted implementation notes/references in regards to
40 @ref ca_overview
41
42 @subsection caf_ovr_communication Communication Adapters
43
44 @subsubsection caf_ovr_comm_netinterface Network Interface Creation
45
46 Interface connections are created at program startup. A Message Handler is
47 started by invoking the CAInitialize() command. This in turn establishes
48 the needed data structures and callbacks.
49
50 @dotfile ca_arch_sketch.gv
51
52 @paragraph caf_ovr_comm_netinterface_msg Message Handler
53
54 The message handler owns athread pool and send and reive queue.
55
56 @paragraph caf_ovr_comm_netinterface_control Interface controller
57
58 This directly controls the individual adapters. Calling CAInitializeAdapters(ca_thread_pool_t handle)
59 will invoke whatever config had been established by compile-time flags.
60
61 @paragraph caf_ovr_comm_netinterface_eth Ethernet Adapter
62
63 An interface adapter implemented to support Ethernet connections. It is
64 created by calling CAInitializeEthernet()
65
66 @paragraph caf_ovr_comm_netinterface_wifi WiFi Adapter
67
68 An interface adapter implemented to support WiFi connections. It is created
69 by calling CAInitializeWifi()
70
71 @paragraph caf_ovr_comm_netinterface_edr EDR Adapter
72
73 An interface adapter implemented to support EDR connections. It is created
74 by calling CAInitializeEDR()
75
76 @paragraph caf_ovr_comm_netinterface_le LE Adapter
77
78 An interface adapter implemented to support LE connections. It is created
79 by calling CAInitializeLE()
80
81 @paragraph caf_ovr_comm_netinterface_detail Detailed Structure
82
83 The following is a more detailed breakdown on the main types involved.
84 Several structs and function details are present. However the diagram
85 is more of a sketch and is not 100% complete.
86
87 @dotfile ca_arch.gv
88
89 */