Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / src / platform / Linux / README.md
1 # Overview of CHIP Linux Adaption
2
3 The following is a quick overview of the Linux adaptation of CHIP. Most of this
4 code will have parallels in any new adaptation.
5
6 (All file names are relative to `connectedhomeip/src/...`).
7
8 `include/platform/Linux/PlatformManagerImpl.h`<br>`Linux/PlatformManagerImpl.cpp`
9
10 -   Concrete implementation of PlatformManager interface
11 -   Provides initialization of the CHIP stack and core event loop for the chip
12     task
13 -   Relies on GenericPlatformManagerImpl_POSIX<> class to provide most of the
14     implementation
15
16 `include/platform/Linux/ConfigurationManagerImpl.h`<br>`Linux/ConfigurationManagerImpl.cpp`
17
18 -   Concrete implementation of ConfigurationManager interface
19 -   Manages storage and retrieval of persistent configuration data
20 -   Relies on GenericConfigurationManagerImpl<> classes to implement most API
21     functionality
22 -   Delegates low-level reading and writing of persistent values to PosixConfig
23     class
24
25 `include/platform/Linux/ConnectivityManagerImpl.h`<br>`Linux/ConnectivityManagerImpl.cpp`
26
27 -   Concrete implementation of ConnectivityManager interface
28 -   Provides high-level APIs for managing device connectivity
29 -   Relies on various generic implementation classes to provide API
30     functionality
31 -   Very much a work-in-progress in the Linux branch
32
33 `include/platform/Linux/ThreadStackManagerImpl.h`<br>`Linux/ThreadStackManagerImpl.cpp`
34
35 -   Concrete implementation of ThreadStackManager interface
36 -   Supports Thread stack initialization and core event loop processing
37 -   Relies on GenericThreadStackManagerImpl_OpenThread/POSIX<> classes to
38     implement most API functionaltiy
39
40 `include/platform/Linux/BLEManagerImpl.h`<br>`Linux/BLEManagerImpl.cpp`
41
42 -   Concrete implementation of the BLEManager interface
43 -   Maps CHIP's BLE interface abstractions (BleLayer, BlePlatformDelegate,
44     BleApplicationDelegate) onto the platform's native BLE services
45 -   Implements chip-compatible BLE advertising.
46
47 `platform/Linux/Entropy.cpp`
48
49 -   Implements interface to platform entropy source
50
51 `platform/Linux/Logging.cpp`
52
53 -   Adaption of chip debug logging to platform logging facility.
54
55 `platform/Linux/PosixConfig.cpp`
56
57 -   Implements low-level read/write of persistent configuration values
58 -   Class API specifically designed to work in conjunction with the
59     GenericConfigurationManagerImpl<> class.