1# Description: 2# SecAgg client-specific components. 3 4load("//fcp:config.bzl", "FCP_COPTS") 5 6package( 7 default_visibility = ["//fcp:internal"], 8) 9 10cc_library( 11 name = "state_transition_listener", 12 hdrs = ["state_transition_listener_interface.h"], 13) 14 15cc_library( 16 name = "client", 17 srcs = [ 18 "secagg_client.cc", 19 "secagg_client_aborted_state.cc", 20 "secagg_client_alive_base_state.cc", 21 "secagg_client_completed_state.cc", 22 "secagg_client_r0_advertise_keys_input_not_set_state.cc", 23 "secagg_client_r0_advertise_keys_input_set_state.cc", 24 "secagg_client_r1_share_keys_base_state.cc", 25 "secagg_client_r1_share_keys_input_not_set_state.cc", 26 "secagg_client_r1_share_keys_input_set_state.cc", 27 "secagg_client_r2_masked_input_coll_base_state.cc", 28 "secagg_client_r2_masked_input_coll_input_not_set_state.cc", 29 "secagg_client_r2_masked_input_coll_input_set_state.cc", 30 "secagg_client_r2_masked_input_coll_waiting_for_input_state.cc", 31 "secagg_client_r3_unmasking_state.cc", 32 "secagg_client_state.cc", 33 ], 34 hdrs = [ 35 "other_client_state.h", 36 "secagg_client.h", 37 "secagg_client_aborted_state.h", 38 "secagg_client_alive_base_state.h", 39 "secagg_client_completed_state.h", 40 "secagg_client_r0_advertise_keys_input_not_set_state.h", 41 "secagg_client_r0_advertise_keys_input_set_state.h", 42 "secagg_client_r1_share_keys_base_state.h", 43 "secagg_client_r1_share_keys_input_not_set_state.h", 44 "secagg_client_r1_share_keys_input_set_state.h", 45 "secagg_client_r2_masked_input_coll_base_state.h", 46 "secagg_client_r2_masked_input_coll_input_not_set_state.h", 47 "secagg_client_r2_masked_input_coll_input_set_state.h", 48 "secagg_client_r2_masked_input_coll_waiting_for_input_state.h", 49 "secagg_client_r3_unmasking_state.h", 50 "secagg_client_state.h", 51 "send_to_server_interface.h", 52 ], 53 copts = FCP_COPTS, 54 deps = [ 55 ":state_transition_listener", 56 "//fcp/base", 57 "//fcp/secagg/shared", 58 "//fcp/secagg/shared:cc_proto", 59 "@com_google_absl//absl/container:node_hash_map", 60 "@com_google_absl//absl/strings", 61 "@com_google_absl//absl/synchronization", 62 ], 63) 64 65cc_test( 66 name = "client-test", 67 size = "small", 68 srcs = [ 69 "secagg_client_test.cc", 70 ], 71 copts = FCP_COPTS, 72 deps = [ 73 ":client", 74 ":state_transition_listener", 75 "//fcp/base", 76 "//fcp/secagg/shared", 77 "//fcp/secagg/shared:cc_proto", 78 "//fcp/secagg/testing:client_mocks", 79 "//fcp/secagg/testing:common_mocks", 80 "//fcp/testing", 81 "@com_google_googletest//:gtest_main", 82 ], 83) 84 85cc_test( 86 name = "state-test", 87 size = "small", 88 srcs = [ 89 "secagg_client_aborted_state_test.cc", 90 "secagg_client_completed_state_test.cc", 91 "secagg_client_r0_advertise_keys_input_not_set_state_test.cc", 92 "secagg_client_r0_advertise_keys_input_set_state_test.cc", 93 "secagg_client_r1_share_keys_input_not_set_state_test.cc", 94 "secagg_client_r1_share_keys_input_set_state_test.cc", 95 "secagg_client_r2_masked_input_coll_input_not_set_state_test.cc", 96 "secagg_client_r2_masked_input_coll_input_set_state_test.cc", 97 "secagg_client_r2_masked_input_coll_waiting_for_input_state_test.cc", 98 "secagg_client_r3_unmasking_state_test.cc", 99 ], 100 copts = FCP_COPTS, 101 deps = [ 102 ":client", 103 ":state_transition_listener", 104 "//fcp/base", 105 "//fcp/secagg/shared", 106 "//fcp/secagg/shared:cc_proto", 107 "//fcp/secagg/testing:client_mocks", 108 "//fcp/secagg/testing:common_mocks", 109 "//fcp/testing", 110 "@com_google_absl//absl/container:node_hash_map", 111 "@com_google_googletest//:gtest_main", 112 ], 113) 114