Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / src / app / docs / README.md
1 # CHIP Zigbee Cluster Library (ZCL) Documentation
2
3 ## What is this?
4
5 Documentation for the CHIP Zigbee Cluster Library (ZCL) implementation also
6 called the CHIP ZCL Application Framework. This document provides information on
7 how the different parts of the CHIP Application layer implementation of the
8 Zigbee Cluster Library fit together.
9
10 **_<code>THIS DOCUMENT IS A WORK IN PROGRESS AS THE DESIGN OF THE CHIP
11 APPLICATION FRAMEWORK IS STILL IN FLUX</code>_**
12
13 ## Directory Structure
14
15 ### <code>/src/app/util</code>
16
17 This directory contains various utilities and some of the external API headers
18 for interacting with the data model layer. In particular the various data type
19 definitions and the public APIs to the data model are declared in the headers
20 here.
21
22 ### <code>/src/app/docs</code>
23
24 This directory contains all the documentation for the CHIP ZCL Application
25 Framework including the file you are reading right now.
26
27 ### <code>/src/app/clusters</code>
28
29 This directory contains all of the cluster implementations included in the CHIP
30 ZCL Application Framework.
31
32 ### <code>/src/app/zap-templates</code>
33
34 This directory contains all of the templates and helpers specific to CHIP for
35 the ZAP tool.
36
37 ## Public APIs
38
39 ### Attribute changes
40
41 When a ZCL attribute is updated in the data model, the framework will call the
42 <code>postAttributeChangeCallback</code>, if this callback is implemented by the
43 device it will be informed of the attribute change. The device may react to the
44 attribute change. For instance, if the on/off attribute in the On-Off Cluster
45 changes, the application which implements the
46 <code>postAttributeChangeCallback</code> may reflect this by toggling the actual
47 pin tied to an LED.