1 // Autogenerated by the ProtoZero compiler plugin. DO NOT EDIT. 2 3 #ifndef PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_ANDROID_INPUTMETHODEDITOR_PROTO_H_ 4 #define PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_ANDROID_INPUTMETHODEDITOR_PROTO_H_ 5 6 #include <stddef.h> 7 #include <stdint.h> 8 9 #include "perfetto/protozero/field_writer.h" 10 #include "perfetto/protozero/message.h" 11 #include "perfetto/protozero/packed_repeated_fields.h" 12 #include "perfetto/protozero/proto_decoder.h" 13 #include "perfetto/protozero/proto_utils.h" 14 15 namespace perfetto { 16 namespace protos { 17 namespace pbzero { 18 class EditorInfoProto; 19 class ImeFocusControllerProto; 20 class ImeInsetsSourceConsumerProto; 21 class InputConnectionCallProto; 22 class InputConnectionProto; 23 class InputMethodClientsTraceProto_ClientSideProto; 24 class InputMethodManagerProto; 25 class InputMethodManagerServiceProto; 26 class InputMethodServiceProto; 27 class InsetsControllerProto; 28 class ViewRootImplProto; 29 } // Namespace pbzero. 30 } // Namespace protos. 31 } // Namespace perfetto. 32 33 namespace perfetto { 34 namespace protos { 35 namespace pbzero { 36 37 class InputMethodManagerServiceTraceProto_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/3, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 38 public: InputMethodManagerServiceTraceProto_Decoder(const uint8_t * data,size_t len)39 InputMethodManagerServiceTraceProto_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} InputMethodManagerServiceTraceProto_Decoder(const std::string & raw)40 explicit InputMethodManagerServiceTraceProto_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} InputMethodManagerServiceTraceProto_Decoder(const::protozero::ConstBytes & raw)41 explicit InputMethodManagerServiceTraceProto_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_elapsed_realtime_nanos()42 bool has_elapsed_realtime_nanos() const { return at<1>().valid(); } elapsed_realtime_nanos()43 uint64_t elapsed_realtime_nanos() const { return at<1>().as_uint64(); } has_where()44 bool has_where() const { return at<2>().valid(); } where()45 ::protozero::ConstChars where() const { return at<2>().as_string(); } has_input_method_manager_service()46 bool has_input_method_manager_service() const { return at<3>().valid(); } input_method_manager_service()47 ::protozero::ConstBytes input_method_manager_service() const { return at<3>().as_bytes(); } 48 }; 49 50 class InputMethodManagerServiceTraceProto : public ::protozero::Message { 51 public: 52 using Decoder = InputMethodManagerServiceTraceProto_Decoder; 53 enum : int32_t { 54 kElapsedRealtimeNanosFieldNumber = 1, 55 kWhereFieldNumber = 2, 56 kInputMethodManagerServiceFieldNumber = 3, 57 }; GetName()58 static constexpr const char* GetName() { return ".perfetto.protos.InputMethodManagerServiceTraceProto"; } 59 60 61 using FieldMetadata_ElapsedRealtimeNanos = 62 ::protozero::proto_utils::FieldMetadata< 63 1, 64 ::protozero::proto_utils::RepetitionType::kNotRepeated, 65 ::protozero::proto_utils::ProtoSchemaType::kFixed64, 66 uint64_t, 67 InputMethodManagerServiceTraceProto>; 68 69 static constexpr FieldMetadata_ElapsedRealtimeNanos kElapsedRealtimeNanos{}; set_elapsed_realtime_nanos(uint64_t value)70 void set_elapsed_realtime_nanos(uint64_t value) { 71 static constexpr uint32_t field_id = FieldMetadata_ElapsedRealtimeNanos::kFieldId; 72 // Call the appropriate protozero::Message::Append(field_id, ...) 73 // method based on the type of the field. 74 ::protozero::internal::FieldWriter< 75 ::protozero::proto_utils::ProtoSchemaType::kFixed64> 76 ::Append(*this, field_id, value); 77 } 78 79 using FieldMetadata_Where = 80 ::protozero::proto_utils::FieldMetadata< 81 2, 82 ::protozero::proto_utils::RepetitionType::kNotRepeated, 83 ::protozero::proto_utils::ProtoSchemaType::kString, 84 std::string, 85 InputMethodManagerServiceTraceProto>; 86 87 static constexpr FieldMetadata_Where kWhere{}; set_where(const char * data,size_t size)88 void set_where(const char* data, size_t size) { 89 AppendBytes(FieldMetadata_Where::kFieldId, data, size); 90 } set_where(::protozero::ConstChars chars)91 void set_where(::protozero::ConstChars chars) { 92 AppendBytes(FieldMetadata_Where::kFieldId, chars.data, chars.size); 93 } set_where(std::string value)94 void set_where(std::string value) { 95 static constexpr uint32_t field_id = FieldMetadata_Where::kFieldId; 96 // Call the appropriate protozero::Message::Append(field_id, ...) 97 // method based on the type of the field. 98 ::protozero::internal::FieldWriter< 99 ::protozero::proto_utils::ProtoSchemaType::kString> 100 ::Append(*this, field_id, value); 101 } 102 103 using FieldMetadata_InputMethodManagerService = 104 ::protozero::proto_utils::FieldMetadata< 105 3, 106 ::protozero::proto_utils::RepetitionType::kNotRepeated, 107 ::protozero::proto_utils::ProtoSchemaType::kMessage, 108 InputMethodManagerServiceProto, 109 InputMethodManagerServiceTraceProto>; 110 111 static constexpr FieldMetadata_InputMethodManagerService kInputMethodManagerService{}; set_input_method_manager_service()112 template <typename T = InputMethodManagerServiceProto> T* set_input_method_manager_service() { 113 return BeginNestedMessage<T>(3); 114 } 115 116 }; 117 118 class InputMethodServiceTraceProto_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/3, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 119 public: InputMethodServiceTraceProto_Decoder(const uint8_t * data,size_t len)120 InputMethodServiceTraceProto_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} InputMethodServiceTraceProto_Decoder(const std::string & raw)121 explicit InputMethodServiceTraceProto_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} InputMethodServiceTraceProto_Decoder(const::protozero::ConstBytes & raw)122 explicit InputMethodServiceTraceProto_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_elapsed_realtime_nanos()123 bool has_elapsed_realtime_nanos() const { return at<1>().valid(); } elapsed_realtime_nanos()124 uint64_t elapsed_realtime_nanos() const { return at<1>().as_uint64(); } has_where()125 bool has_where() const { return at<2>().valid(); } where()126 ::protozero::ConstChars where() const { return at<2>().as_string(); } has_input_method_service()127 bool has_input_method_service() const { return at<3>().valid(); } input_method_service()128 ::protozero::ConstBytes input_method_service() const { return at<3>().as_bytes(); } 129 }; 130 131 class InputMethodServiceTraceProto : public ::protozero::Message { 132 public: 133 using Decoder = InputMethodServiceTraceProto_Decoder; 134 enum : int32_t { 135 kElapsedRealtimeNanosFieldNumber = 1, 136 kWhereFieldNumber = 2, 137 kInputMethodServiceFieldNumber = 3, 138 }; GetName()139 static constexpr const char* GetName() { return ".perfetto.protos.InputMethodServiceTraceProto"; } 140 141 142 using FieldMetadata_ElapsedRealtimeNanos = 143 ::protozero::proto_utils::FieldMetadata< 144 1, 145 ::protozero::proto_utils::RepetitionType::kNotRepeated, 146 ::protozero::proto_utils::ProtoSchemaType::kFixed64, 147 uint64_t, 148 InputMethodServiceTraceProto>; 149 150 static constexpr FieldMetadata_ElapsedRealtimeNanos kElapsedRealtimeNanos{}; set_elapsed_realtime_nanos(uint64_t value)151 void set_elapsed_realtime_nanos(uint64_t value) { 152 static constexpr uint32_t field_id = FieldMetadata_ElapsedRealtimeNanos::kFieldId; 153 // Call the appropriate protozero::Message::Append(field_id, ...) 154 // method based on the type of the field. 155 ::protozero::internal::FieldWriter< 156 ::protozero::proto_utils::ProtoSchemaType::kFixed64> 157 ::Append(*this, field_id, value); 158 } 159 160 using FieldMetadata_Where = 161 ::protozero::proto_utils::FieldMetadata< 162 2, 163 ::protozero::proto_utils::RepetitionType::kNotRepeated, 164 ::protozero::proto_utils::ProtoSchemaType::kString, 165 std::string, 166 InputMethodServiceTraceProto>; 167 168 static constexpr FieldMetadata_Where kWhere{}; set_where(const char * data,size_t size)169 void set_where(const char* data, size_t size) { 170 AppendBytes(FieldMetadata_Where::kFieldId, data, size); 171 } set_where(::protozero::ConstChars chars)172 void set_where(::protozero::ConstChars chars) { 173 AppendBytes(FieldMetadata_Where::kFieldId, chars.data, chars.size); 174 } set_where(std::string value)175 void set_where(std::string value) { 176 static constexpr uint32_t field_id = FieldMetadata_Where::kFieldId; 177 // Call the appropriate protozero::Message::Append(field_id, ...) 178 // method based on the type of the field. 179 ::protozero::internal::FieldWriter< 180 ::protozero::proto_utils::ProtoSchemaType::kString> 181 ::Append(*this, field_id, value); 182 } 183 184 using FieldMetadata_InputMethodService = 185 ::protozero::proto_utils::FieldMetadata< 186 3, 187 ::protozero::proto_utils::RepetitionType::kNotRepeated, 188 ::protozero::proto_utils::ProtoSchemaType::kMessage, 189 InputMethodServiceProto, 190 InputMethodServiceTraceProto>; 191 192 static constexpr FieldMetadata_InputMethodService kInputMethodService{}; set_input_method_service()193 template <typename T = InputMethodServiceProto> T* set_input_method_service() { 194 return BeginNestedMessage<T>(3); 195 } 196 197 }; 198 199 class InputMethodClientsTraceProto_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/3, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 200 public: InputMethodClientsTraceProto_Decoder(const uint8_t * data,size_t len)201 InputMethodClientsTraceProto_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} InputMethodClientsTraceProto_Decoder(const std::string & raw)202 explicit InputMethodClientsTraceProto_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} InputMethodClientsTraceProto_Decoder(const::protozero::ConstBytes & raw)203 explicit InputMethodClientsTraceProto_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_elapsed_realtime_nanos()204 bool has_elapsed_realtime_nanos() const { return at<1>().valid(); } elapsed_realtime_nanos()205 uint64_t elapsed_realtime_nanos() const { return at<1>().as_uint64(); } has_where()206 bool has_where() const { return at<2>().valid(); } where()207 ::protozero::ConstChars where() const { return at<2>().as_string(); } has_client()208 bool has_client() const { return at<3>().valid(); } client()209 ::protozero::ConstBytes client() const { return at<3>().as_bytes(); } 210 }; 211 212 class InputMethodClientsTraceProto : public ::protozero::Message { 213 public: 214 using Decoder = InputMethodClientsTraceProto_Decoder; 215 enum : int32_t { 216 kElapsedRealtimeNanosFieldNumber = 1, 217 kWhereFieldNumber = 2, 218 kClientFieldNumber = 3, 219 }; GetName()220 static constexpr const char* GetName() { return ".perfetto.protos.InputMethodClientsTraceProto"; } 221 222 using ClientSideProto = ::perfetto::protos::pbzero::InputMethodClientsTraceProto_ClientSideProto; 223 224 using FieldMetadata_ElapsedRealtimeNanos = 225 ::protozero::proto_utils::FieldMetadata< 226 1, 227 ::protozero::proto_utils::RepetitionType::kNotRepeated, 228 ::protozero::proto_utils::ProtoSchemaType::kFixed64, 229 uint64_t, 230 InputMethodClientsTraceProto>; 231 232 static constexpr FieldMetadata_ElapsedRealtimeNanos kElapsedRealtimeNanos{}; set_elapsed_realtime_nanos(uint64_t value)233 void set_elapsed_realtime_nanos(uint64_t value) { 234 static constexpr uint32_t field_id = FieldMetadata_ElapsedRealtimeNanos::kFieldId; 235 // Call the appropriate protozero::Message::Append(field_id, ...) 236 // method based on the type of the field. 237 ::protozero::internal::FieldWriter< 238 ::protozero::proto_utils::ProtoSchemaType::kFixed64> 239 ::Append(*this, field_id, value); 240 } 241 242 using FieldMetadata_Where = 243 ::protozero::proto_utils::FieldMetadata< 244 2, 245 ::protozero::proto_utils::RepetitionType::kNotRepeated, 246 ::protozero::proto_utils::ProtoSchemaType::kString, 247 std::string, 248 InputMethodClientsTraceProto>; 249 250 static constexpr FieldMetadata_Where kWhere{}; set_where(const char * data,size_t size)251 void set_where(const char* data, size_t size) { 252 AppendBytes(FieldMetadata_Where::kFieldId, data, size); 253 } set_where(::protozero::ConstChars chars)254 void set_where(::protozero::ConstChars chars) { 255 AppendBytes(FieldMetadata_Where::kFieldId, chars.data, chars.size); 256 } set_where(std::string value)257 void set_where(std::string value) { 258 static constexpr uint32_t field_id = FieldMetadata_Where::kFieldId; 259 // Call the appropriate protozero::Message::Append(field_id, ...) 260 // method based on the type of the field. 261 ::protozero::internal::FieldWriter< 262 ::protozero::proto_utils::ProtoSchemaType::kString> 263 ::Append(*this, field_id, value); 264 } 265 266 using FieldMetadata_Client = 267 ::protozero::proto_utils::FieldMetadata< 268 3, 269 ::protozero::proto_utils::RepetitionType::kNotRepeated, 270 ::protozero::proto_utils::ProtoSchemaType::kMessage, 271 InputMethodClientsTraceProto_ClientSideProto, 272 InputMethodClientsTraceProto>; 273 274 static constexpr FieldMetadata_Client kClient{}; set_client()275 template <typename T = InputMethodClientsTraceProto_ClientSideProto> T* set_client() { 276 return BeginNestedMessage<T>(3); 277 } 278 279 }; 280 281 class InputMethodClientsTraceProto_ClientSideProto_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/9, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 282 public: InputMethodClientsTraceProto_ClientSideProto_Decoder(const uint8_t * data,size_t len)283 InputMethodClientsTraceProto_ClientSideProto_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} InputMethodClientsTraceProto_ClientSideProto_Decoder(const std::string & raw)284 explicit InputMethodClientsTraceProto_ClientSideProto_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} InputMethodClientsTraceProto_ClientSideProto_Decoder(const::protozero::ConstBytes & raw)285 explicit InputMethodClientsTraceProto_ClientSideProto_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_display_id()286 bool has_display_id() const { return at<1>().valid(); } display_id()287 int32_t display_id() const { return at<1>().as_int32(); } has_input_method_manager()288 bool has_input_method_manager() const { return at<2>().valid(); } input_method_manager()289 ::protozero::ConstBytes input_method_manager() const { return at<2>().as_bytes(); } has_view_root_impl()290 bool has_view_root_impl() const { return at<3>().valid(); } view_root_impl()291 ::protozero::ConstBytes view_root_impl() const { return at<3>().as_bytes(); } has_insets_controller()292 bool has_insets_controller() const { return at<4>().valid(); } insets_controller()293 ::protozero::ConstBytes insets_controller() const { return at<4>().as_bytes(); } has_ime_insets_source_consumer()294 bool has_ime_insets_source_consumer() const { return at<5>().valid(); } ime_insets_source_consumer()295 ::protozero::ConstBytes ime_insets_source_consumer() const { return at<5>().as_bytes(); } has_editor_info()296 bool has_editor_info() const { return at<6>().valid(); } editor_info()297 ::protozero::ConstBytes editor_info() const { return at<6>().as_bytes(); } has_ime_focus_controller()298 bool has_ime_focus_controller() const { return at<7>().valid(); } ime_focus_controller()299 ::protozero::ConstBytes ime_focus_controller() const { return at<7>().as_bytes(); } has_input_connection()300 bool has_input_connection() const { return at<8>().valid(); } input_connection()301 ::protozero::ConstBytes input_connection() const { return at<8>().as_bytes(); } has_input_connection_call()302 bool has_input_connection_call() const { return at<9>().valid(); } input_connection_call()303 ::protozero::ConstBytes input_connection_call() const { return at<9>().as_bytes(); } 304 }; 305 306 class InputMethodClientsTraceProto_ClientSideProto : public ::protozero::Message { 307 public: 308 using Decoder = InputMethodClientsTraceProto_ClientSideProto_Decoder; 309 enum : int32_t { 310 kDisplayIdFieldNumber = 1, 311 kInputMethodManagerFieldNumber = 2, 312 kViewRootImplFieldNumber = 3, 313 kInsetsControllerFieldNumber = 4, 314 kImeInsetsSourceConsumerFieldNumber = 5, 315 kEditorInfoFieldNumber = 6, 316 kImeFocusControllerFieldNumber = 7, 317 kInputConnectionFieldNumber = 8, 318 kInputConnectionCallFieldNumber = 9, 319 }; GetName()320 static constexpr const char* GetName() { return ".perfetto.protos.InputMethodClientsTraceProto.ClientSideProto"; } 321 322 323 using FieldMetadata_DisplayId = 324 ::protozero::proto_utils::FieldMetadata< 325 1, 326 ::protozero::proto_utils::RepetitionType::kNotRepeated, 327 ::protozero::proto_utils::ProtoSchemaType::kInt32, 328 int32_t, 329 InputMethodClientsTraceProto_ClientSideProto>; 330 331 static constexpr FieldMetadata_DisplayId kDisplayId{}; set_display_id(int32_t value)332 void set_display_id(int32_t value) { 333 static constexpr uint32_t field_id = FieldMetadata_DisplayId::kFieldId; 334 // Call the appropriate protozero::Message::Append(field_id, ...) 335 // method based on the type of the field. 336 ::protozero::internal::FieldWriter< 337 ::protozero::proto_utils::ProtoSchemaType::kInt32> 338 ::Append(*this, field_id, value); 339 } 340 341 using FieldMetadata_InputMethodManager = 342 ::protozero::proto_utils::FieldMetadata< 343 2, 344 ::protozero::proto_utils::RepetitionType::kNotRepeated, 345 ::protozero::proto_utils::ProtoSchemaType::kMessage, 346 InputMethodManagerProto, 347 InputMethodClientsTraceProto_ClientSideProto>; 348 349 static constexpr FieldMetadata_InputMethodManager kInputMethodManager{}; set_input_method_manager()350 template <typename T = InputMethodManagerProto> T* set_input_method_manager() { 351 return BeginNestedMessage<T>(2); 352 } 353 354 355 using FieldMetadata_ViewRootImpl = 356 ::protozero::proto_utils::FieldMetadata< 357 3, 358 ::protozero::proto_utils::RepetitionType::kNotRepeated, 359 ::protozero::proto_utils::ProtoSchemaType::kMessage, 360 ViewRootImplProto, 361 InputMethodClientsTraceProto_ClientSideProto>; 362 363 static constexpr FieldMetadata_ViewRootImpl kViewRootImpl{}; set_view_root_impl()364 template <typename T = ViewRootImplProto> T* set_view_root_impl() { 365 return BeginNestedMessage<T>(3); 366 } 367 368 369 using FieldMetadata_InsetsController = 370 ::protozero::proto_utils::FieldMetadata< 371 4, 372 ::protozero::proto_utils::RepetitionType::kNotRepeated, 373 ::protozero::proto_utils::ProtoSchemaType::kMessage, 374 InsetsControllerProto, 375 InputMethodClientsTraceProto_ClientSideProto>; 376 377 static constexpr FieldMetadata_InsetsController kInsetsController{}; set_insets_controller()378 template <typename T = InsetsControllerProto> T* set_insets_controller() { 379 return BeginNestedMessage<T>(4); 380 } 381 382 383 using FieldMetadata_ImeInsetsSourceConsumer = 384 ::protozero::proto_utils::FieldMetadata< 385 5, 386 ::protozero::proto_utils::RepetitionType::kNotRepeated, 387 ::protozero::proto_utils::ProtoSchemaType::kMessage, 388 ImeInsetsSourceConsumerProto, 389 InputMethodClientsTraceProto_ClientSideProto>; 390 391 static constexpr FieldMetadata_ImeInsetsSourceConsumer kImeInsetsSourceConsumer{}; set_ime_insets_source_consumer()392 template <typename T = ImeInsetsSourceConsumerProto> T* set_ime_insets_source_consumer() { 393 return BeginNestedMessage<T>(5); 394 } 395 396 397 using FieldMetadata_EditorInfo = 398 ::protozero::proto_utils::FieldMetadata< 399 6, 400 ::protozero::proto_utils::RepetitionType::kNotRepeated, 401 ::protozero::proto_utils::ProtoSchemaType::kMessage, 402 EditorInfoProto, 403 InputMethodClientsTraceProto_ClientSideProto>; 404 405 static constexpr FieldMetadata_EditorInfo kEditorInfo{}; set_editor_info()406 template <typename T = EditorInfoProto> T* set_editor_info() { 407 return BeginNestedMessage<T>(6); 408 } 409 410 411 using FieldMetadata_ImeFocusController = 412 ::protozero::proto_utils::FieldMetadata< 413 7, 414 ::protozero::proto_utils::RepetitionType::kNotRepeated, 415 ::protozero::proto_utils::ProtoSchemaType::kMessage, 416 ImeFocusControllerProto, 417 InputMethodClientsTraceProto_ClientSideProto>; 418 419 static constexpr FieldMetadata_ImeFocusController kImeFocusController{}; set_ime_focus_controller()420 template <typename T = ImeFocusControllerProto> T* set_ime_focus_controller() { 421 return BeginNestedMessage<T>(7); 422 } 423 424 425 using FieldMetadata_InputConnection = 426 ::protozero::proto_utils::FieldMetadata< 427 8, 428 ::protozero::proto_utils::RepetitionType::kNotRepeated, 429 ::protozero::proto_utils::ProtoSchemaType::kMessage, 430 InputConnectionProto, 431 InputMethodClientsTraceProto_ClientSideProto>; 432 433 static constexpr FieldMetadata_InputConnection kInputConnection{}; set_input_connection()434 template <typename T = InputConnectionProto> T* set_input_connection() { 435 return BeginNestedMessage<T>(8); 436 } 437 438 439 using FieldMetadata_InputConnectionCall = 440 ::protozero::proto_utils::FieldMetadata< 441 9, 442 ::protozero::proto_utils::RepetitionType::kNotRepeated, 443 ::protozero::proto_utils::ProtoSchemaType::kMessage, 444 InputConnectionCallProto, 445 InputMethodClientsTraceProto_ClientSideProto>; 446 447 static constexpr FieldMetadata_InputConnectionCall kInputConnectionCall{}; set_input_connection_call()448 template <typename T = InputConnectionCallProto> T* set_input_connection_call() { 449 return BeginNestedMessage<T>(9); 450 } 451 452 }; 453 454 } // Namespace. 455 } // Namespace. 456 } // Namespace. 457 #endif // Include guard. 458