Skip to content

Commit 5661777

Browse files
bzbarsky-applepull[bot]
authored andcommitted
Factor out secure channel type definitions into a separate static library. (#28248)
This allows us to get rid of circular includes.
1 parent 6dc993e commit 5661777

File tree

7 files changed

+31
-15
lines changed

7 files changed

+31
-15
lines changed

src/credentials/BUILD.gn

+1
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ static_library("credentials") {
9292
"${chip_root}/src/lib/core",
9393
"${chip_root}/src/lib/support",
9494
"${chip_root}/src/platform",
95+
"${chip_root}/src/protocols:type_definitions",
9596
"${nlassert_root}:nlassert",
9697
]
9798
}

src/lib/format/BUILD.gn

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ source_set("protocol-decoder") {
6464
":tlv-metadata-headers",
6565
"${chip_root}/src/lib/core",
6666
"${chip_root}/src/lib/support",
67+
"${chip_root}/src/protocols:type_definitions",
6768
]
6869

6970
public_configs = [ "${chip_root}/src:includes" ]

src/messaging/BUILD.gn

+1
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ static_library("messaging") {
7272
"${chip_root}/src/lib/core",
7373
"${chip_root}/src/lib/support",
7474
"${chip_root}/src/platform",
75+
"${chip_root}/src/protocols/secure_channel:type_definitions",
7576
"${chip_root}/src/transport",
7677
"${chip_root}/src/transport/raw",
7778
]

src/protocols/BUILD.gn

+6
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414

1515
import("//build_overrides/chip.gni")
1616

17+
source_set("type_definitions") {
18+
sources = [ "Protocols.h" ]
19+
}
20+
1721
static_library("protocols") {
1822
output_name = "libChipProtocols"
1923

@@ -35,6 +39,7 @@ static_library("protocols") {
3539

3640
public_deps = [
3741
":im_status",
42+
":type_definitions",
3843
"${chip_root}/src/lib/core",
3944
"${chip_root}/src/lib/support",
4045
"${chip_root}/src/messaging",
@@ -52,6 +57,7 @@ static_library("im_status") {
5257
cflags = [ "-Wconversion" ]
5358

5459
public_deps = [
60+
":type_definitions",
5561
"${chip_root}/src/lib/core",
5662
"${chip_root}/src/lib/support",
5763
]

src/protocols/secure_channel/BUILD.gn

+20-15
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,24 @@
11
import("//build_overrides/chip.gni")
22

3+
static_library("type_definitions") {
4+
output_name = "libSecureChannelTypes"
5+
6+
sources = [
7+
"Constants.h",
8+
"StatusReport.cpp",
9+
"StatusReport.h",
10+
]
11+
12+
cflags = [ "-Wconversion" ]
13+
14+
public_deps = [
15+
"${chip_root}/src/protocols:type_definitions",
16+
"${chip_root}/src/system",
17+
]
18+
19+
deps = [ "${chip_root}/src/lib/support" ]
20+
}
21+
322
static_library("secure_channel") {
423
output_name = "libSecureChannel"
524

@@ -10,7 +29,6 @@ static_library("secure_channel") {
1029
"CASEServer.h",
1130
"CASESession.cpp",
1231
"CASESession.h",
13-
"Constants.h",
1432
"DefaultSessionResumptionStorage.cpp",
1533
"DefaultSessionResumptionStorage.h",
1634
"PASESession.cpp",
@@ -24,15 +42,14 @@ static_library("secure_channel") {
2442
"SessionResumptionStorage.h",
2543
"SimpleSessionResumptionStorage.cpp",
2644
"SimpleSessionResumptionStorage.h",
27-
"StatusReport.cpp",
28-
"StatusReport.h",
2945
"UnsolicitedStatusHandler.cpp",
3046
"UnsolicitedStatusHandler.h",
3147
]
3248

3349
cflags = [ "-Wconversion" ]
3450

3551
public_deps = [
52+
":type_definitions",
3653
"${chip_root}/src/lib/core",
3754
"${chip_root}/src/lib/support",
3855
"${chip_root}/src/messaging",
@@ -41,16 +58,4 @@ static_library("secure_channel") {
4158
"${chip_root}/src/tracing:macros",
4259
"${chip_root}/src/transport",
4360
]
44-
45-
# secure channel requires messaging so it can send messages (e.g. for
46-
# CASE/PASE handshakes). messaging requires secure channel so that it can do
47-
# things like send standalone acks, which are a secure channel concept.
48-
#
49-
# secure channel requires transport so it can deal with sessions. transport
50-
# requires secure channel so it can detect control messages, which are a
51-
# secure channel concept.
52-
allow_circular_includes_from = [
53-
"${chip_root}/src/messaging",
54-
"${chip_root}/src/transport",
55-
]
5661
}

src/setup_payload/BUILD.gn

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ source_set("additional_data_payload") {
4242
"${chip_root}/src/crypto",
4343
"${chip_root}/src/lib/core",
4444
"${chip_root}/src/lib/support",
45+
"${chip_root}/src/protocols:type_definitions",
4546
"${chip_root}/src/setup_payload:additional_data_payload_buildconfig",
4647
]
4748
}

src/transport/BUILD.gn

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ static_library("transport") {
6464
"${chip_root}/src/lib/dnssd",
6565
"${chip_root}/src/lib/support",
6666
"${chip_root}/src/platform",
67+
"${chip_root}/src/protocols/secure_channel:type_definitions",
6768
"${chip_root}/src/setup_payload",
6869
"${chip_root}/src/tracing",
6970
"${chip_root}/src/tracing:macros",

0 commit comments

Comments
 (0)