diff --git a/.gitignore b/.gitignore index 2b752f9..68bcbfe 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ Unreal/PS_AI_Agent/.vs/ Unreal/PS_AI_Agent/Binaries/ Unreal/PS_AI_Agent/Intermediate/ Unreal/PS_AI_Agent/Saved/ +ConvAI/Convai/Binaries/ diff --git a/ConvAI/Convai/Content/AI/AI_Controller_Convai.uasset b/ConvAI/Convai/Content/AI/AI_Controller_Convai.uasset new file mode 100644 index 0000000..356b424 Binary files /dev/null and b/ConvAI/Convai/Content/AI/AI_Controller_Convai.uasset differ diff --git a/ConvAI/Convai/Content/AI/BT/BTDecorator_HasOrder.uasset b/ConvAI/Convai/Content/AI/BT/BTDecorator_HasOrder.uasset new file mode 100644 index 0000000..7e6736c Binary files /dev/null and b/ConvAI/Convai/Content/AI/BT/BTDecorator_HasOrder.uasset differ diff --git a/ConvAI/Convai/Content/AI/BT/BTService_ProcessAction.uasset b/ConvAI/Convai/Content/AI/BT/BTService_ProcessAction.uasset new file mode 100644 index 0000000..43475b5 Binary files /dev/null and b/ConvAI/Convai/Content/AI/BT/BTService_ProcessAction.uasset differ diff --git a/ConvAI/Convai/Content/AI/BT/Convai_BB.uasset b/ConvAI/Convai/Content/AI/BT/Convai_BB.uasset new file mode 100644 index 0000000..b42ca79 Binary files /dev/null and b/ConvAI/Convai/Content/AI/BT/Convai_BB.uasset differ diff --git a/ConvAI/Convai/Content/AI/BT/Convai_BT.uasset b/ConvAI/Convai/Content/AI/BT/Convai_BT.uasset new file mode 100644 index 0000000..6e0a4f9 Binary files /dev/null and b/ConvAI/Convai/Content/AI/BT/Convai_BT.uasset differ diff --git a/ConvAI/Convai/Content/Core/ConvaiBaseCharacter.uasset b/ConvAI/Convai/Content/Core/ConvaiBaseCharacter.uasset new file mode 100644 index 0000000..0a90ef2 Binary files /dev/null and b/ConvAI/Convai/Content/Core/ConvaiBaseCharacter.uasset differ diff --git a/ConvAI/Convai/Content/Core/ConvaiBasePlayer.uasset b/ConvAI/Convai/Content/Core/ConvaiBasePlayer.uasset new file mode 100644 index 0000000..6ad6178 Binary files /dev/null and b/ConvAI/Convai/Content/Core/ConvaiBasePlayer.uasset differ diff --git a/ConvAI/Convai/Content/Core/ConvaiPlayerWithVoiceActivation.uasset b/ConvAI/Convai/Content/Core/ConvaiPlayerWithVoiceActivation.uasset new file mode 100644 index 0000000..176a2df Binary files /dev/null and b/ConvAI/Convai/Content/Core/ConvaiPlayerWithVoiceActivation.uasset differ diff --git a/ConvAI/Convai/Content/Curves/Jaw.uasset b/ConvAI/Convai/Content/Curves/Jaw.uasset new file mode 100644 index 0000000..5d08ced Binary files /dev/null and b/ConvAI/Convai/Content/Curves/Jaw.uasset differ diff --git a/ConvAI/Convai/Content/Demo/Companion.uasset b/ConvAI/Convai/Content/Demo/Companion.uasset new file mode 100644 index 0000000..3a85e2f Binary files /dev/null and b/ConvAI/Convai/Content/Demo/Companion.uasset differ diff --git a/ConvAI/Convai/Content/Demo/ConvaiDemoGM.uasset b/ConvAI/Convai/Content/Demo/ConvaiDemoGM.uasset new file mode 100644 index 0000000..dd65f04 Binary files /dev/null and b/ConvAI/Convai/Content/Demo/ConvaiDemoGM.uasset differ diff --git a/ConvAI/Convai/Content/Demo/Convai_Demo.umap b/ConvAI/Convai/Content/Demo/Convai_Demo.umap new file mode 100644 index 0000000..3544cd9 Binary files /dev/null and b/ConvAI/Convai/Content/Demo/Convai_Demo.umap differ diff --git a/ConvAI/Convai/Content/Demo/Convai_Demo_BuiltData.uasset b/ConvAI/Convai/Content/Demo/Convai_Demo_BuiltData.uasset new file mode 100644 index 0000000..d364d5f Binary files /dev/null and b/ConvAI/Convai/Content/Demo/Convai_Demo_BuiltData.uasset differ diff --git a/ConvAI/Convai/Content/Demo/Pickup/Pickup.uasset b/ConvAI/Convai/Content/Demo/Pickup/Pickup.uasset new file mode 100644 index 0000000..da68321 Binary files /dev/null and b/ConvAI/Convai/Content/Demo/Pickup/Pickup.uasset differ diff --git a/ConvAI/Convai/Content/Demo/Pickup/PickupColor.uasset b/ConvAI/Convai/Content/Demo/Pickup/PickupColor.uasset new file mode 100644 index 0000000..a206438 Binary files /dev/null and b/ConvAI/Convai/Content/Demo/Pickup/PickupColor.uasset differ diff --git a/ConvAI/Convai/Content/Editor/Components/EUW_Button.uasset b/ConvAI/Convai/Content/Editor/Components/EUW_Button.uasset new file mode 100644 index 0000000..c48d941 Binary files /dev/null and b/ConvAI/Convai/Content/Editor/Components/EUW_Button.uasset differ diff --git a/ConvAI/Convai/Content/Editor/Components/EUW_TextBoxWithName.uasset b/ConvAI/Convai/Content/Editor/Components/EUW_TextBoxWithName.uasset new file mode 100644 index 0000000..b05a34d Binary files /dev/null and b/ConvAI/Convai/Content/Editor/Components/EUW_TextBoxWithName.uasset differ diff --git a/ConvAI/Convai/Content/Editor/EUW_LTM.uasset b/ConvAI/Convai/Content/Editor/EUW_LTM.uasset new file mode 100644 index 0000000..217ac94 Binary files /dev/null and b/ConvAI/Convai/Content/Editor/EUW_LTM.uasset differ diff --git a/ConvAI/Convai/Content/Logo/color__1_.uasset b/ConvAI/Convai/Content/Logo/color__1_.uasset new file mode 100644 index 0000000..0387f76 Binary files /dev/null and b/ConvAI/Convai/Content/Logo/color__1_.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/A1D_MH_BEye.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/A1D_MH_BEye.uasset new file mode 100644 index 0000000..75b7786 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/A1D_MH_BEye.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/A2D_MH_EyeLook.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/A2D_MH_EyeLook.uasset new file mode 100644 index 0000000..649892d Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/A2D_MH_EyeLook.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/B1D_MH_Movement.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/B1D_MH_Movement.uasset new file mode 100644 index 0000000..9bb0d06 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/B1D_MH_Movement.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/B1D_MH_MovementV2.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/B1D_MH_MovementV2.uasset new file mode 100644 index 0000000..45053a1 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/B1D_MH_MovementV2.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/B2D_MH_HeadLook.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/B2D_MH_HeadLook.uasset new file mode 100644 index 0000000..b2c6979 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/B2D_MH_HeadLook.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/B2D_MH_HeadLookV2.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/B2D_MH_HeadLookV2.uasset new file mode 100644 index 0000000..8cf18aa Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/AnimBP/B2D_MH_HeadLookV2.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Convai_MetaHuman_BodyAnim.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Convai_MetaHuman_BodyAnim.uasset new file mode 100644 index 0000000..2cc9369 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Convai_MetaHuman_BodyAnim.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Convai_MetaHuman_FaceAnim.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Convai_MetaHuman_FaceAnim.uasset new file mode 100644 index 0000000..df4d844 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Convai_MetaHuman_FaceAnim.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Enm/E_Emotions.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Enm/E_Emotions.uasset new file mode 100644 index 0000000..e3a1119 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Enm/E_Emotions.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Enm/E_InConversation.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Enm/E_InConversation.uasset new file mode 100644 index 0000000..4236773 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Enm/E_InConversation.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Enm/E_Lips.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Enm/E_Lips.uasset new file mode 100644 index 0000000..3d519cc Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Enm/E_Lips.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Enm/E_Movement.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Enm/E_Movement.uasset new file mode 100644 index 0000000..319601a Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Enm/E_Movement.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Enm/E_TurnDirection.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Enm/E_TurnDirection.uasset new file mode 100644 index 0000000..2728e16 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Enm/E_TurnDirection.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Functions/F_AIUtilities.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Functions/F_AIUtilities.uasset new file mode 100644 index 0000000..a15c374 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Instruments/Functions/F_AIUtilities.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_BEye_Close.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_BEye_Close.uasset new file mode 100644 index 0000000..8cc047a Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_BEye_Close.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_BEye_CloseExra.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_BEye_CloseExra.uasset new file mode 100644 index 0000000..8e5f834 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_BEye_CloseExra.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_BEye_Open.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_BEye_Open.uasset new file mode 100644 index 0000000..9e4fe28 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_BEye_Open.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_Base.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_Base.uasset new file mode 100644 index 0000000..384993f Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_Base.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_CC.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_CC.uasset new file mode 100644 index 0000000..6bf436a Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_CC.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_CD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_CD.uasset new file mode 100644 index 0000000..9d9cbba Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_CD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_CU.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_CU.uasset new file mode 100644 index 0000000..11e62c4 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_CU.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_LC.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_LC.uasset new file mode 100644 index 0000000..7376c14 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_LC.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_LD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_LD.uasset new file mode 100644 index 0000000..f08f864 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_LD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_LU.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_LU.uasset new file mode 100644 index 0000000..9891b15 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_LU.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_RC.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_RC.uasset new file mode 100644 index 0000000..a604989 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_RC.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_RD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_RD.uasset new file mode 100644 index 0000000..448c534 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_RD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_RU.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_RU.uasset new file mode 100644 index 0000000..33e5a18 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Eyes/MHF_LooKEye_RU.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_Base.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_Base.uasset new file mode 100644 index 0000000..ff473c2 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_Base.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLooK_CC.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLooK_CC.uasset new file mode 100644 index 0000000..e975fab Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLooK_CC.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_CD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_CD.uasset new file mode 100644 index 0000000..e58c6e9 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_CD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_CU.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_CU.uasset new file mode 100644 index 0000000..0175257 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_CU.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_LC.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_LC.uasset new file mode 100644 index 0000000..dbfb100 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_LC.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_LD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_LD.uasset new file mode 100644 index 0000000..3ca66ac Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_LD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_LU.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_LU.uasset new file mode 100644 index 0000000..d4decbd Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_LU.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_RC.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_RC.uasset new file mode 100644 index 0000000..0083cbf Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_RC.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_RD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_RD.uasset new file mode 100644 index 0000000..c9705d0 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_RD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_RU.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_RU.uasset new file mode 100644 index 0000000..fdc549c Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/HeadLook/MHB_HeadLook_RU.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Idle/MH_Idle01_UE.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Idle/MH_Idle01_UE.uasset new file mode 100644 index 0000000..c083393 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Idle/MH_Idle01_UE.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Idle/MH_Idle02_UE.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Idle/MH_Idle02_UE.uasset new file mode 100644 index 0000000..d3d23c4 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Idle/MH_Idle02_UE.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Idle/MH_Idle03_UE.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Idle/MH_Idle03_UE.uasset new file mode 100644 index 0000000..a83bd77 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Idle/MH_Idle03_UE.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_AA.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_AA.uasset new file mode 100644 index 0000000..fa4fdd1 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_AA.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_AAn.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_AAn.uasset new file mode 100644 index 0000000..c8099f7 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_AAn.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_CH.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_CH.uasset new file mode 100644 index 0000000..43ae861 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_CH.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_CHn.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_CHn.uasset new file mode 100644 index 0000000..747fcc5 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_CHn.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_EE.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_EE.uasset new file mode 100644 index 0000000..fc09ccd Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_EE.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_EEn.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_EEn.uasset new file mode 100644 index 0000000..e1e26e4 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_EEn.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_EEn2.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_EEn2.uasset new file mode 100644 index 0000000..efc21f0 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_EEn2.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_FV.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_FV.uasset new file mode 100644 index 0000000..a82c84d Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_FV.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_II.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_II.uasset new file mode 100644 index 0000000..24997f0 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_II.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_IIn.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_IIn.uasset new file mode 100644 index 0000000..72a2bdb Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_IIn.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_KG.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_KG.uasset new file mode 100644 index 0000000..e8fe4dc Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_KG.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_KGn.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_KGn.uasset new file mode 100644 index 0000000..10d9c20 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_KGn.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_KGn2.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_KGn2.uasset new file mode 100644 index 0000000..83f68cf Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_KGn2.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_NL.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_NL.uasset new file mode 100644 index 0000000..46d0b28 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_NL.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_NLn.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_NLn.uasset new file mode 100644 index 0000000..627c1af Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_NLn.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_None.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_None.uasset new file mode 100644 index 0000000..0bcaf0e Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_None.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_OH.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_OH.uasset new file mode 100644 index 0000000..8ca1496 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_OH.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_OHn.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_OHn.uasset new file mode 100644 index 0000000..1711843 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_OHn.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_OU.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_OU.uasset new file mode 100644 index 0000000..9d9d234 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_OU.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_PBM.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_PBM.uasset new file mode 100644 index 0000000..0485f27 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_PBM.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_PBMn.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_PBMn.uasset new file mode 100644 index 0000000..aaaeaa1 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_PBMn.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_RR.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_RR.uasset new file mode 100644 index 0000000..5aeb844 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_RR.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_SZ.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_SZ.uasset new file mode 100644 index 0000000..108d8ef Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_SZ.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_SZn.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_SZn.uasset new file mode 100644 index 0000000..c6458df Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_SZn.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_TD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_TD.uasset new file mode 100644 index 0000000..ae607ff Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_TD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_TH.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_TH.uasset new file mode 100644 index 0000000..1a0bd0b Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Lips/MHF_TH.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Movement/MM_Run_Fwd.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Movement/MM_Run_Fwd.uasset new file mode 100644 index 0000000..1904365 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Movement/MM_Run_Fwd.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Movement/MM_Walk_Fwd.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Movement/MM_Walk_Fwd.uasset new file mode 100644 index 0000000..ff8e37c Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Movement/MM_Walk_Fwd.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Movement/MM_Walk_InPlace.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Movement/MM_Walk_InPlace.uasset new file mode 100644 index 0000000..e9772e9 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Movement/MM_Walk_InPlace.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Talk/MH_Talk.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Talk/MH_Talk.uasset new file mode 100644 index 0000000..1e44fc3 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Talk/MH_Talk.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Talk/MH_Talk01.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Talk/MH_Talk01.uasset new file mode 100644 index 0000000..2683f46 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Talk/MH_Talk01.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Talk/MH_Talk02.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Talk/MH_Talk02.uasset new file mode 100644 index 0000000..72d7fc9 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Talk/MH_Talk02.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Talk/MH_Talk03.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Talk/MH_Talk03.uasset new file mode 100644 index 0000000..3a6c72a Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Talk/MH_Talk03.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_L180_UE.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_L180_UE.uasset new file mode 100644 index 0000000..14bf9b5 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_L180_UE.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_L180_UE_Montage.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_L180_UE_Montage.uasset new file mode 100644 index 0000000..0f367fa Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_L180_UE_Montage.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_L90_UE.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_L90_UE.uasset new file mode 100644 index 0000000..d63846e Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_L90_UE.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_L90_UE_Montage.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_L90_UE_Montage.uasset new file mode 100644 index 0000000..6b3c639 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_L90_UE_Montage.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_R180_UE.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_R180_UE.uasset new file mode 100644 index 0000000..e7476f4 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_R180_UE.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_R180_UE_Montage.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_R180_UE_Montage.uasset new file mode 100644 index 0000000..f5eebee Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_R180_UE_Montage.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_R90_UE.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_R90_UE.uasset new file mode 100644 index 0000000..a86fc02 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_R90_UE.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_R90_UE_Montage.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_R90_UE_Montage.uasset new file mode 100644 index 0000000..881b7f8 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions/Turn/MH_Turn_R90_UE_Montage.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_CC.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_CC.uasset new file mode 100644 index 0000000..4e264d2 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_CC.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_CD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_CD.uasset new file mode 100644 index 0000000..40d307a Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_CD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_CU.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_CU.uasset new file mode 100644 index 0000000..9d447c9 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_CU.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LBC.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LBC.uasset new file mode 100644 index 0000000..165fa1d Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LBC.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LBD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LBD.uasset new file mode 100644 index 0000000..79ed257 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LBD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LBU.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LBU.uasset new file mode 100644 index 0000000..8b23ebd Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LBU.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LC.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LC.uasset new file mode 100644 index 0000000..ea95a32 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LC.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LD.uasset new file mode 100644 index 0000000..649e0cc Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LU.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LU.uasset new file mode 100644 index 0000000..894fa58 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_LU.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RBC.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RBC.uasset new file mode 100644 index 0000000..428f390 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RBC.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RBD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RBD.uasset new file mode 100644 index 0000000..568027c Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RBD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RBU.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RBU.uasset new file mode 100644 index 0000000..438fa7b Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RBU.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RC.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RC.uasset new file mode 100644 index 0000000..7e24a41 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RC.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RD.uasset new file mode 100644 index 0000000..534efb6 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RU.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RU.uasset new file mode 100644 index 0000000..3c5f89f Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/FP_Idle_AO_RU.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/female_neck_01_neck_02_head_anim.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/female_neck_01_neck_02_head_anim.uasset new file mode 100644 index 0000000..0afb300 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/AO/female_neck_01_neck_02_head_anim.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Breaks/FP_Breaks_AdjustGlasses.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Breaks/FP_Breaks_AdjustGlasses.uasset new file mode 100644 index 0000000..756241d Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Breaks/FP_Breaks_AdjustGlasses.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Breaks/FP_Breaks_LookAround_RightToLeft.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Breaks/FP_Breaks_LookAround_RightToLeft.uasset new file mode 100644 index 0000000..5d47aa2 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Breaks/FP_Breaks_LookAround_RightToLeft.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/HandsClosed_MetaHuman.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/HandsClosed_MetaHuman.uasset new file mode 100644 index 0000000..24b08f8 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/HandsClosed_MetaHuman.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Idle/FP_IdleBase.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Idle/FP_IdleBase.uasset new file mode 100644 index 0000000..9771097 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Idle/FP_IdleBase.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Idle/FP_Idle_CrowdReact_Left.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Idle/FP_Idle_CrowdReact_Left.uasset new file mode 100644 index 0000000..7b79b80 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Idle/FP_Idle_CrowdReact_Left.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Idle/FP_Idle_CrowdReact_Right.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Idle/FP_Idle_CrowdReact_Right.uasset new file mode 100644 index 0000000..3987683 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Idle/FP_Idle_CrowdReact_Right.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogLean_B.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogLean_B.uasset new file mode 100644 index 0000000..c8a0391 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogLean_B.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogLean_C.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogLean_C.uasset new file mode 100644 index 0000000..2a15573 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogLean_C.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogLean_F.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogLean_F.uasset new file mode 100644 index 0000000..5d153dd Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogLean_F.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogLean_L.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogLean_L.uasset new file mode 100644 index 0000000..054fb4c Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogLean_L.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogLean_R.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogLean_R.uasset new file mode 100644 index 0000000..7e9fc7e Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogLean_R.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStart_F_0_rf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStart_F_0_rf.uasset new file mode 100644 index 0000000..7e01ebc Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStart_F_0_rf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStart_F_180L.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStart_F_180L.uasset new file mode 100644 index 0000000..0f1946f Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStart_F_180L.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStart_F_180R.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStart_F_180R.uasset new file mode 100644 index 0000000..743f47b Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStart_F_180R.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStart_F_90L.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStart_F_90L.uasset new file mode 100644 index 0000000..4ba1cc8 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStart_F_90L.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStart_F_90R.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStart_F_90R.uasset new file mode 100644 index 0000000..a107228 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStart_F_90R.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStop_Abrupt_rf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStop_Abrupt_rf.uasset new file mode 100644 index 0000000..744d7a8 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStop_Abrupt_rf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStop_F_Lf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStop_F_Lf.uasset new file mode 100644 index 0000000..7234e86 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_JogStop_F_Lf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F.uasset new file mode 100644 index 0000000..c42ef74 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_StepDown_lf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_StepDown_lf.uasset new file mode 100644 index 0000000..1a1f9db Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_StepDown_lf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_StepDown_rf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_StepDown_rf.uasset new file mode 100644 index 0000000..86a8345 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_StepDown_rf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_StepUp_lf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_StepUp_lf.uasset new file mode 100644 index 0000000..83aea5c Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_StepUp_lf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_StepUp_rf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_StepUp_rf.uasset new file mode 100644 index 0000000..af71576 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_StepUp_rf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_to_Walk_F_lf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_to_Walk_F_lf.uasset new file mode 100644 index 0000000..081d6d8 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_to_Walk_F_lf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_to_Walk_F_rf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_to_Walk_F_rf.uasset new file mode 100644 index 0000000..526a72d Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Jog_F_to_Walk_F_rf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Walk_F_to_Jog_F_lf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Walk_F_to_Jog_F_lf.uasset new file mode 100644 index 0000000..f312fb7 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Walk_F_to_Jog_F_lf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Walk_F_to_Jog_F_rf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Walk_F_to_Jog_F_rf.uasset new file mode 100644 index 0000000..a5f4bbf Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Jog/FP_Walk_F_to_Jog_F_rf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Player_Female_thigh_l_anim.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Player_Female_thigh_l_anim.uasset new file mode 100644 index 0000000..64177ac Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Player_Female_thigh_l_anim.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Player_Female_thigh_r_anim.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Player_Female_thigh_r_anim.uasset new file mode 100644 index 0000000..ecb00b5 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Player_Female_thigh_r_anim.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkLean_L.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkLean_L.uasset new file mode 100644 index 0000000..42c56b0 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkLean_L.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkLean_R.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkLean_R.uasset new file mode 100644 index 0000000..c6a4d98 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkLean_R.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStart_F_0_rf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStart_F_0_rf.uasset new file mode 100644 index 0000000..d5c4b2d Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStart_F_0_rf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStart_F_180L.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStart_F_180L.uasset new file mode 100644 index 0000000..e6309de Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStart_F_180L.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStart_F_180R.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStart_F_180R.uasset new file mode 100644 index 0000000..66c4ea4 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStart_F_180R.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStart_F_90L.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStart_F_90L.uasset new file mode 100644 index 0000000..88a9c7b Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStart_F_90L.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStart_F_90R.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStart_F_90R.uasset new file mode 100644 index 0000000..fc668b0 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStart_F_90R.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStop_Abrupt_rf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStop_Abrupt_rf.uasset new file mode 100644 index 0000000..5d065ac Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStop_Abrupt_rf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStop_F_LowSpeed.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStop_F_LowSpeed.uasset new file mode 100644 index 0000000..319b675 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStop_F_LowSpeed.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStop_F_lf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStop_F_lf.uasset new file mode 100644 index 0000000..e4f224f Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStop_F_lf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStop_F_rf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStop_F_rf.uasset new file mode 100644 index 0000000..f323240 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_WalkStop_F_rf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_Walk_F.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_Walk_F.uasset new file mode 100644 index 0000000..a9b4674 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_Walk_F.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_Walk_F_StepDown_lf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_Walk_F_StepDown_lf.uasset new file mode 100644 index 0000000..fd3b353 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_Walk_F_StepDown_lf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_Walk_F_StepDown_rf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_Walk_F_StepDown_rf.uasset new file mode 100644 index 0000000..bb76c21 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_Walk_F_StepDown_rf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_Walk_F_StepUp_lf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_Walk_F_StepUp_lf.uasset new file mode 100644 index 0000000..42bc405 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_Walk_F_StepUp_lf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_Walk_F_StepUp_rf.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_Walk_F_StepUp_rf.uasset new file mode 100644 index 0000000..b114b97 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FP/Walk/FP_Walk_F_StepUp_rf.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_N_Idle_Base.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_N_Idle_Base.uasset new file mode 100644 index 0000000..83f01d8 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_N_Idle_Base.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_N_Idle_VarA.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_N_Idle_VarA.uasset new file mode 100644 index 0000000..5a0be87 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_N_Idle_VarA.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_N_Idle_VarB.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_N_Idle_VarB.uasset new file mode 100644 index 0000000..bead8fe Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_N_Idle_VarB.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_N_Idle_VarC.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_N_Idle_VarC.uasset new file mode 100644 index 0000000..6206201 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_N_Idle_VarC.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_N_Idle_VarD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_N_Idle_VarD.uasset new file mode 100644 index 0000000..197c6fd Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_N_Idle_VarD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_Purse_Hold.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_Purse_Hold.uasset new file mode 100644 index 0000000..9e82b77 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTN_Purse_Hold.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_N_Idle_Base.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_N_Idle_Base.uasset new file mode 100644 index 0000000..3e71123 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_N_Idle_Base.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_N_Idle_VarA.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_N_Idle_VarA.uasset new file mode 100644 index 0000000..e133baa Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_N_Idle_VarA.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_N_Idle_VarB.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_N_Idle_VarB.uasset new file mode 100644 index 0000000..2046b69 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_N_Idle_VarB.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_N_Idle_VarC.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_N_Idle_VarC.uasset new file mode 100644 index 0000000..0d181e8 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_N_Idle_VarC.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_N_Idle_VarD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_N_Idle_VarD.uasset new file mode 100644 index 0000000..6cd6841 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_N_Idle_VarD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_Purse_Hold.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_Purse_Hold.uasset new file mode 100644 index 0000000..073fef7 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTO_Purse_Hold.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_N_Idle_Base.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_N_Idle_Base.uasset new file mode 100644 index 0000000..e764b95 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_N_Idle_Base.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_N_Idle_VarA.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_N_Idle_VarA.uasset new file mode 100644 index 0000000..66f022f Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_N_Idle_VarA.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_N_Idle_VarB.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_N_Idle_VarB.uasset new file mode 100644 index 0000000..6c506a0 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_N_Idle_VarB.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_N_Idle_VarC.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_N_Idle_VarC.uasset new file mode 100644 index 0000000..7bee8bc Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_N_Idle_VarC.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_N_Idle_VarD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_N_Idle_VarD.uasset new file mode 100644 index 0000000..b0f8e1e Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_N_Idle_VarD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_Purse_Hold.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_Purse_Hold.uasset new file mode 100644 index 0000000..b0234a3 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Idle/FTU_Purse_Hold.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTN_N_Walk_F.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTN_N_Walk_F.uasset new file mode 100644 index 0000000..7e2748b Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTN_N_Walk_F.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTN_N_Walk_F_Quickly.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTN_N_Walk_F_Quickly.uasset new file mode 100644 index 0000000..13382ff Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTN_N_Walk_F_Quickly.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTN_N_Walk_F_VarA.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTN_N_Walk_F_VarA.uasset new file mode 100644 index 0000000..9aef66c Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTN_N_Walk_F_VarA.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTN_N_Walk_F_VarB.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTN_N_Walk_F_VarB.uasset new file mode 100644 index 0000000..2c73610 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTN_N_Walk_F_VarB.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTO_N_Walk_F.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTO_N_Walk_F.uasset new file mode 100644 index 0000000..70382a8 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTO_N_Walk_F.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTO_N_Walk_F_Quickly.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTO_N_Walk_F_Quickly.uasset new file mode 100644 index 0000000..2440769 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTO_N_Walk_F_Quickly.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTO_N_Walk_F_VarA.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTO_N_Walk_F_VarA.uasset new file mode 100644 index 0000000..f8799a8 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTO_N_Walk_F_VarA.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTO_N_Walk_F_VarB.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTO_N_Walk_F_VarB.uasset new file mode 100644 index 0000000..498a6c3 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTO_N_Walk_F_VarB.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTU_N_Walk_F.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTU_N_Walk_F.uasset new file mode 100644 index 0000000..2ac9a28 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTU_N_Walk_F.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTU_N_Walk_F_Quickly.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTU_N_Walk_F_Quickly.uasset new file mode 100644 index 0000000..cfa443d Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTU_N_Walk_F_Quickly.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTU_N_Walk_F_VarA.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTU_N_Walk_F_VarA.uasset new file mode 100644 index 0000000..ef3c7cb Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTU_N_Walk_F_VarA.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTU_N_Walk_F_VarB.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTU_N_Walk_F_VarB.uasset new file mode 100644 index 0000000..c11ab99 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/FT/Walk/FTU_N_Walk_F_VarB.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Angry_E.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Angry_E.uasset new file mode 100644 index 0000000..eac289d Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Angry_E.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Angry_M.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Angry_M.uasset new file mode 100644 index 0000000..9b424a5 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Angry_M.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Angry_N.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Angry_N.uasset new file mode 100644 index 0000000..4811062 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Angry_N.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Concerned_E.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Concerned_E.uasset new file mode 100644 index 0000000..8ba319c Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Concerned_E.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Concerned_M.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Concerned_M.uasset new file mode 100644 index 0000000..18f53de Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Concerned_M.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Concerned_N.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Concerned_N.uasset new file mode 100644 index 0000000..81ef0e7 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Concerned_N.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Happy_E.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Happy_E.uasset new file mode 100644 index 0000000..563fd1a Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Happy_E.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Happy_M.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Happy_M.uasset new file mode 100644 index 0000000..04caed2 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Happy_M.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Happy_N.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Happy_N.uasset new file mode 100644 index 0000000..fff1fd7 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Happy_N.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Neutral_E.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Neutral_E.uasset new file mode 100644 index 0000000..f0430fd Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Neutral_E.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Neutral_M.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Neutral_M.uasset new file mode 100644 index 0000000..26e3a04 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Neutral_M.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Neutral_N.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Neutral_N.uasset new file mode 100644 index 0000000..7d52b50 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Neutral_N.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Reaction_N.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Reaction_N.uasset new file mode 100644 index 0000000..72a7e3b Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Reaction_N.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Stare_E.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Stare_E.uasset new file mode 100644 index 0000000..f6f7797 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Stare_E.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Stare_M.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Stare_M.uasset new file mode 100644 index 0000000..bf6b961 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Stare_M.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Stare_N.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Stare_N.uasset new file mode 100644 index 0000000..75ada43 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/Face/MHF_Stare_N.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_F.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_F.uasset new file mode 100644 index 0000000..45baff1 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_F.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_FD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_FD.uasset new file mode 100644 index 0000000..f6f60a0 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_FD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_FU.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_FU.uasset new file mode 100644 index 0000000..9d07c4e Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_FU.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_L.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_L.uasset new file mode 100644 index 0000000..bd78589 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_L.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_LD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_LD.uasset new file mode 100644 index 0000000..7026c72 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_LD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_LU.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_LU.uasset new file mode 100644 index 0000000..d48354f Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_LU.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_R.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_R.uasset new file mode 100644 index 0000000..40c4bee Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_R.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_RD.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_RD.uasset new file mode 100644 index 0000000..4faebe6 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_RD.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_RU.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_RU.uasset new file mode 100644 index 0000000..3ff5f4f Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/AO/MTN_N_AO_RU.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_Briefcase_Hold.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_Briefcase_Hold.uasset new file mode 100644 index 0000000..b009505 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_Briefcase_Hold.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_N_Idle.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_N_Idle.uasset new file mode 100644 index 0000000..f860b2e Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_N_Idle.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_N_Idle_B.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_N_Idle_B.uasset new file mode 100644 index 0000000..85811ef Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_N_Idle_B.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_N_Idle_C.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_N_Idle_C.uasset new file mode 100644 index 0000000..4c770e4 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_N_Idle_C.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_N_Idle_D.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_N_Idle_D.uasset new file mode 100644 index 0000000..e37ba21 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_N_Idle_D.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_N_Idle_E.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_N_Idle_E.uasset new file mode 100644 index 0000000..6f9f6bd Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTN_N_Idle_E.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_Briefcase_Hold.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_Briefcase_Hold.uasset new file mode 100644 index 0000000..01adc68 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_Briefcase_Hold.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_N_Idle.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_N_Idle.uasset new file mode 100644 index 0000000..c43e324 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_N_Idle.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_N_Idle_B.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_N_Idle_B.uasset new file mode 100644 index 0000000..e1047ec Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_N_Idle_B.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_N_Idle_C.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_N_Idle_C.uasset new file mode 100644 index 0000000..aa901ec Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_N_Idle_C.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_N_Idle_D.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_N_Idle_D.uasset new file mode 100644 index 0000000..533efbd Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_N_Idle_D.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_N_Idle_E.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_N_Idle_E.uasset new file mode 100644 index 0000000..75808e0 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTO_N_Idle_E.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_Briefcase_Hold.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_Briefcase_Hold.uasset new file mode 100644 index 0000000..44fdfab Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_Briefcase_Hold.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_N_Idle.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_N_Idle.uasset new file mode 100644 index 0000000..0e3fbd2 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_N_Idle.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_N_Idle_B.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_N_Idle_B.uasset new file mode 100644 index 0000000..1571508 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_N_Idle_B.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_N_Idle_C.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_N_Idle_C.uasset new file mode 100644 index 0000000..1a33aa2 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_N_Idle_C.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_N_Idle_D.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_N_Idle_D.uasset new file mode 100644 index 0000000..096f51a Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_N_Idle_D.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_N_Idle_E.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_N_Idle_E.uasset new file mode 100644 index 0000000..9e25d45 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Idle/MTU_N_Idle_E.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Walk/MTN_N_WalkInPlace.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Walk/MTN_N_WalkInPlace.uasset new file mode 100644 index 0000000..22ef5ed Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Walk/MTN_N_WalkInPlace.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Walk/MTO_N_Walk_F_VarB.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Walk/MTO_N_Walk_F_VarB.uasset new file mode 100644 index 0000000..af18b8e Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Walk/MTO_N_Walk_F_VarB.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Walk/MTU_N_Walk_F_VarB.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Walk/MTU_N_Walk_F_VarB.uasset new file mode 100644 index 0000000..1b24fdb Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Walk/MTU_N_Walk_F_VarB.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Walk/MTU_N_Walk_F_VarF.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Walk/MTU_N_Walk_F_VarF.uasset new file mode 100644 index 0000000..a616940 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/Motions2/MT/Walk/MTU_N_Walk_F_VarF.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/SK_Preview/Fbx_Default_Material_0.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/SK_Preview/Fbx_Default_Material_0.uasset new file mode 100644 index 0000000..c706173 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/SK_Preview/Fbx_Default_Material_0.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/SK_Preview/m_med_nrw_preview_FULL.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/SK_Preview/m_med_nrw_preview_FULL.uasset new file mode 100644 index 0000000..18385d7 Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/SK_Preview/m_med_nrw_preview_FULL.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Animations/SK_Preview/m_med_nrw_preview_FULL_PhysicsAsset.uasset b/ConvAI/Convai/Content/MetaHumans/Animations/SK_Preview/m_med_nrw_preview_FULL_PhysicsAsset.uasset new file mode 100644 index 0000000..010d5fe Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Animations/SK_Preview/m_med_nrw_preview_FULL_PhysicsAsset.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Emotions/Full_Emotion_NoMouth_spectrum.uasset b/ConvAI/Convai/Content/MetaHumans/Emotions/Full_Emotion_NoMouth_spectrum.uasset new file mode 100644 index 0000000..b1f646e Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Emotions/Full_Emotion_NoMouth_spectrum.uasset differ diff --git a/ConvAI/Convai/Content/MetaHumans/Emotions/Full_Emotion_spectrum.uasset b/ConvAI/Convai/Content/MetaHumans/Emotions/Full_Emotion_spectrum.uasset new file mode 100644 index 0000000..dd627af Binary files /dev/null and b/ConvAI/Convai/Content/MetaHumans/Emotions/Full_Emotion_spectrum.uasset differ diff --git a/ConvAI/Convai/Content/Submixes/AudioInput.uasset b/ConvAI/Convai/Content/Submixes/AudioInput.uasset new file mode 100644 index 0000000..0723a70 Binary files /dev/null and b/ConvAI/Convai/Content/Submixes/AudioInput.uasset differ diff --git a/ConvAI/Convai/Content/Submixes/MuteMic.uasset b/ConvAI/Convai/Content/Submixes/MuteMic.uasset new file mode 100644 index 0000000..189d52c Binary files /dev/null and b/ConvAI/Convai/Content/Submixes/MuteMic.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/ChatItem_WB.uasset b/ConvAI/Convai/Content/Widgets/ChatItem_WB.uasset new file mode 100644 index 0000000..676fdad Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/ChatItem_WB.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Chat_WB.uasset b/ConvAI/Convai/Content/Widgets/Chat_WB.uasset new file mode 100644 index 0000000..f0def24 Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Chat_WB.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Fonts/AR/KFGQPC_Uthman_Taha_Naskh_Regular.uasset b/ConvAI/Convai/Content/Widgets/Fonts/AR/KFGQPC_Uthman_Taha_Naskh_Regular.uasset new file mode 100644 index 0000000..13fd3b5 Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Fonts/AR/KFGQPC_Uthman_Taha_Naskh_Regular.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Fonts/CJK/SourceHanSans.uasset b/ConvAI/Convai/Content/Widgets/Fonts/CJK/SourceHanSans.uasset new file mode 100644 index 0000000..e900fcf Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Fonts/CJK/SourceHanSans.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Fonts/ConvaiFont.uasset b/ConvAI/Convai/Content/Widgets/Fonts/ConvaiFont.uasset new file mode 100644 index 0000000..2758f8e Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Fonts/ConvaiFont.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Fonts/HI/Mangal_Regular.uasset b/ConvAI/Convai/Content/Widgets/Fonts/HI/Mangal_Regular.uasset new file mode 100644 index 0000000..eed10cd Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Fonts/HI/Mangal_Regular.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Images/UI_CBFV1.uasset b/ConvAI/Convai/Content/Widgets/Images/UI_CBFV1.uasset new file mode 100644 index 0000000..cac1206 Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Images/UI_CBFV1.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Images/UI_CBFV2.uasset b/ConvAI/Convai/Content/Widgets/Images/UI_CBFV2.uasset new file mode 100644 index 0000000..ff8c77c Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Images/UI_CBFV2.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Images/UI_CBFV3.uasset b/ConvAI/Convai/Content/Widgets/Images/UI_CBFV3.uasset new file mode 100644 index 0000000..1ac6f2c Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Images/UI_CBFV3.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Images/UI_ChatBotHistory.uasset b/ConvAI/Convai/Content/Widgets/Images/UI_ChatBotHistory.uasset new file mode 100644 index 0000000..7acce4f Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Images/UI_ChatBotHistory.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Images/UI_ChatBotThumbsDownFill.uasset b/ConvAI/Convai/Content/Widgets/Images/UI_ChatBotThumbsDownFill.uasset new file mode 100644 index 0000000..8c6a20d Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Images/UI_ChatBotThumbsDownFill.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Images/UI_ChatBotThumbsDownOutline.uasset b/ConvAI/Convai/Content/Widgets/Images/UI_ChatBotThumbsDownOutline.uasset new file mode 100644 index 0000000..5d2350f Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Images/UI_ChatBotThumbsDownOutline.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Images/UI_ChatBotThumbsDownOutlineFill.uasset b/ConvAI/Convai/Content/Widgets/Images/UI_ChatBotThumbsDownOutlineFill.uasset new file mode 100644 index 0000000..83ceedf Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Images/UI_ChatBotThumbsDownOutlineFill.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Images/UI_ChatBot_CollapseHistory.uasset b/ConvAI/Convai/Content/Widgets/Images/UI_ChatBot_CollapseHistory.uasset new file mode 100644 index 0000000..8c54884 Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Images/UI_ChatBot_CollapseHistory.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Images/UI_ChatBot_ConvaiLogo.uasset b/ConvAI/Convai/Content/Widgets/Images/UI_ChatBot_ConvaiLogo.uasset new file mode 100644 index 0000000..2af13f2 Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Images/UI_ChatBot_ConvaiLogo.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Images/UI_ChatBot_ThumbsUpFill.uasset b/ConvAI/Convai/Content/Widgets/Images/UI_ChatBot_ThumbsUpFill.uasset new file mode 100644 index 0000000..883d376 Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Images/UI_ChatBot_ThumbsUpFill.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Images/UI_SendText.uasset b/ConvAI/Convai/Content/Widgets/Images/UI_SendText.uasset new file mode 100644 index 0000000..464aea3 Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Images/UI_SendText.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Images/UI_TypeBox.uasset b/ConvAI/Convai/Content/Widgets/Images/UI_TypeBox.uasset new file mode 100644 index 0000000..70f3321 Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Images/UI_TypeBox.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/MicSettings_WB.uasset b/ConvAI/Convai/Content/Widgets/MicSettings_WB.uasset new file mode 100644 index 0000000..5151090 Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/MicSettings_WB.uasset differ diff --git a/ConvAI/Convai/Content/Widgets/Sound/UI_Talk.uasset b/ConvAI/Convai/Content/Widgets/Sound/UI_Talk.uasset new file mode 100644 index 0000000..2ee6524 Binary files /dev/null and b/ConvAI/Convai/Content/Widgets/Sound/UI_Talk.uasset differ diff --git a/ConvAI/Convai/ConvAI.uplugin b/ConvAI/Convai/ConvAI.uplugin new file mode 100644 index 0000000..5dc2c7f --- /dev/null +++ b/ConvAI/Convai/ConvAI.uplugin @@ -0,0 +1,54 @@ +{ + "FileVersion": 3, + "Version": 1, + "VersionName": "3.6.8-beta.3", + "FriendlyName": "Convai", + "Description": "Adds new blueprint functions and components to integrate Convai API.", + "Category": "Runtime", + "CreatedBy": "Convai Inc.", + "CreatedByURL": "https://convai.com/", + "DocsURL": "", + "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/product/696326c90d80462b8775712d2b6cc2a7", + "SupportURL": "", + "EngineVersion": "5.5.0", + "CanContainContent": true, + "Installed": true, + "Modules": [ + { + "Name": "Convai", + "Type": "Runtime", + "LoadingPhase": "PreDefault", + "PlatformAllowList": [ + "Linux", + "Win64", + "Android", + "Mac" + ] + }, + { + "Name": "ConvaiEditor", + "Type": "Editor", + "LoadingPhase": "PostEngineInit", + "PlatformAllowList": [ + "Linux", + "Win64", + "Android", + "Mac" + ] + } + ], + "Plugins": [ + { + "Name": "AudioCapture", + "Enabled": true + }, + { + "Name": "AndroidPermission", + "Enabled": true + }, + { + "Name": "EditorScriptingUtilities", + "Enabled": true + } + ] +} \ No newline at end of file diff --git a/ConvAI/Convai/Resources/Icon128.png b/ConvAI/Convai/Resources/Icon128.png new file mode 100644 index 0000000..da0ff91 Binary files /dev/null and b/ConvAI/Convai/Resources/Icon128.png differ diff --git a/ConvAI/Convai/Resources/desktop.ini b/ConvAI/Convai/Resources/desktop.ini new file mode 100644 index 0000000..7ff9828 --- /dev/null +++ b/ConvAI/Convai/Resources/desktop.ini @@ -0,0 +1,6 @@ +[.ShellClassInfo] +IconResource=C:\Windows\System32\SHELL32.dll,12 +[ViewState] +Mode= +Vid= +FolderType=Generic diff --git a/ConvAI/Convai/Source/Convai/Convai.Build.cs b/ConvAI/Convai/Source/Convai/Convai.Build.cs new file mode 100644 index 0000000..529d431 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Convai.Build.cs @@ -0,0 +1,193 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + +using UnrealBuildTool; +using System; +using System.IO; +using System.Collections.Generic; +using System.Reflection; +// using Tools.DotNETCommon; + + + +public class Convai : ModuleRules +{ + private static ConvaiPlatform ConvaiPlatformInstance; + + private string ModulePath + { + get { return ModuleDirectory; } + } + + private string ThirdPartyPath + { + get { return Path.GetFullPath(Path.Combine(ModulePath, "../ThirdParty/")); } + } + + private ConvaiPlatform GetConvaiPlatformInstance(ReadOnlyTargetRules Target) + { + var ConvaiPlatformType = System.Type.GetType("ConvaiPlatform_" + Target.Platform.ToString()); + if (ConvaiPlatformType == null) + { + throw new BuildException("Convai does not support platform " + Target.Platform.ToString()); + } + + var PlatformInstance = Activator.CreateInstance(ConvaiPlatformType) as ConvaiPlatform; + if (PlatformInstance == null) + { + throw new BuildException("Convai could not instantiate platform " + Target.Platform.ToString()); + } + + return PlatformInstance; + } + + private bool ConfigurePlatform(ReadOnlyTargetRules Target, UnrealTargetConfiguration Configuration) + { + //Convai thirdparty libraries root path + string root = ThirdPartyPath; + foreach (var arch in ConvaiPlatformInstance.Architectures()) + { + string grpcPath = root + "gRPC/" + "lib/" + ConvaiPlatformInstance.LibrariesPath + arch; + + // Add files that end with .lib + PublicAdditionalLibraries.AddRange(Directory.GetFiles(grpcPath, "*.lib")); + + // Add files that end with .a + PublicAdditionalLibraries.AddRange(Directory.GetFiles(grpcPath, "*.a")); + } + return false; + } + + public Convai(ReadOnlyTargetRules Target) : base(Target) + { + // Common Settings + DefaultBuildSettings = BuildSettingsVersion.Latest; + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + PrecompileForTargets = PrecompileTargetsType.Any; + ConvaiPlatformInstance = GetConvaiPlatformInstance(Target); + + PrivateIncludePaths.Add("Convai/Private"); + + if (Target.Platform == UnrealTargetPlatform.Mac || Target.Platform == UnrealTargetPlatform.IOS) + { + // Include .mm file only for Mac + PrivateIncludePaths.Add("Convai/Private/Mac"); + } + + const bool bEnableConvaiHTTP = false; + PublicDefinitions.AddRange(new string[] { "USE_CONVAI_HTTP=0" + (bEnableConvaiHTTP ? "1" : "0")}); + if (bEnableConvaiHTTP) + { + PublicDependencyModuleNames.AddRange(new string[] { "CONVAIHTTP", "HTTP" }); + } + else + { + PublicDependencyModuleNames.AddRange(new string[] { "HTTP" }); + } + + PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "Json", "JsonUtilities", "AudioMixer", "AudioCaptureCore", "AudioCapture", "Voice", "SignalProcessing", "libOpus", "OpenSSL", "zlib", "SSL" }); + PrivateDependencyModuleNames.AddRange(new string[] {"Projects"}); + PublicDefinitions.AddRange(new string[] { "ConvaiDebugMode=1", "GOOGLE_PROTOBUF_NO_RTTI", "GPR_FORBID_UNREACHABLE_CODE", "GRPC_ALLOW_EXCEPTIONS=0" }); + + // Target Platform Specific Settings + if (Target.Platform == UnrealTargetPlatform.Win64) + { + bUsePrecompiled = false; + } + + if (Target.Platform == UnrealTargetPlatform.Android) + { + PublicDependencyModuleNames.AddRange(new string[] { "ApplicationCore", "AndroidPermission" }); + string BuildPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath); + AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(BuildPath, "Convai_AndroidAPL.xml")); + } + + if (Target.Platform == UnrealTargetPlatform.Mac || Target.Platform == UnrealTargetPlatform.IOS || Target.Platform == UnrealTargetPlatform.Linux) + { + PublicDefinitions.AddRange(new string[] { "GOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE=0", "GOOGLE_PROTOBUF_USE_UNALIGNED=0", "PROTOBUF_ENABLE_DEBUG_LOGGING_MAY_LEAK_PII=0" }); + PrivateIncludePaths.AddRange(new string[] { Path.Combine(ThirdPartyPath, "gRPC", "Include_1.50.x") }); + } + else + { + PrivateIncludePaths.AddRange(new string[] { Path.Combine(ThirdPartyPath, "gRPC", "Include") }); + } + + // ThirdParty Libraries + AddEngineThirdPartyPrivateStaticDependencies(Target, "libOpus"); + AddEngineThirdPartyPrivateStaticDependencies(Target, "OpenSSL"); + AddEngineThirdPartyPrivateStaticDependencies(Target, "zlib"); + + ConfigurePlatform(Target, Target.Configuration); + } +} + +public abstract class ConvaiPlatform +{ + public virtual string ConfigurationDir(UnrealTargetConfiguration Configuration) + { + if (Configuration == UnrealTargetConfiguration.Debug || Configuration == UnrealTargetConfiguration.DebugGame) + { + return "Debug/"; + } + else + { + return "Release/"; + } + } + public abstract string LibrariesPath { get; } + public abstract List Architectures(); + public abstract string LibraryPrefixName { get; } + public abstract string LibraryPostfixName { get; } +} + +public class ConvaiPlatform_Win64 : ConvaiPlatform +{ + public override string LibrariesPath { get { return "win64/"; } } + public override List Architectures() { return new List { "" }; } + public override string LibraryPrefixName { get { return ""; } } + public override string LibraryPostfixName { get { return ".lib"; } } +} + +public class ConvaiPlatform_Android : ConvaiPlatform +{ + public override string LibrariesPath { get { return "android/"; } } + public override List Architectures() { return new List { "armeabi-v7a/", "arm64-v8a/", "x86_64/" }; } + public override string LibraryPrefixName { get { return "lib"; } } + public override string LibraryPostfixName { get { return ".a"; } } +} + +public class ConvaiPlatform_Mac : ConvaiPlatform +{ + public override string LibrariesPath { get { return "mac/"; } } + public override List Architectures() { return new List { "" }; } + public override string LibraryPrefixName { get { return "lib"; } } + public override string LibraryPostfixName { get { return ".a"; } } +} + + +public class ConvaiPlatform_Linux : ConvaiPlatform +{ + public override string LibrariesPath { get { return "linux/"; } } + public override List Architectures() { return new List { "" }; } + public override string LibraryPrefixName { get { return "lib"; } } + public override string LibraryPostfixName { get { return ".a"; } } +} + +//public class ConvaiPlatform_PS5 : ConvaiPlatform +//{ +// public override string LibrariesPath { get { return "ps5/"; } } +// public override List Architectures() { return new List { "" }; } +// public override string LibraryPrefixName { get { return "lib"; } } +// public override string LibraryPostfixName { get { return ".a"; } } +//} + +//public class ConvaiPlatform_IOS : ConvaiPlatform +//{ +// public override string ConfigurationDir(UnrealTargetConfiguration Configuration) +// { +// return ""; +// } +// public override string LibrariesPath { get { return "ios/"; } } +// public override List Architectures() { return new List { "" }; } +// public override string LibraryPrefixName { get { return "lib"; } } +// public override string LibraryPostfixName { get { return ".a"; } } +//} \ No newline at end of file diff --git a/ConvAI/Convai/Source/Convai/Convai.cpp b/ConvAI/Convai/Source/Convai/Convai.cpp new file mode 100644 index 0000000..1ca953b --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Convai.cpp @@ -0,0 +1,50 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + +#include "Convai.h" +#include "Developer/Settings/Public/ISettingsModule.h" +#include "UObject/UObjectGlobals.h" +#include "UObject/Package.h" + +IMPLEMENT_MODULE(Convai, Convai); + +#define LOCTEXT_NAMESPACE "Convai" + +void Convai::StartupModule() +{ + ConvaiSettings = NewObject(GetTransientPackage(), "ConvaiSettings", RF_Standalone); + ConvaiSettings->AddToRoot(); + + // Register settings + if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr("Settings")) + { + SettingsModule->RegisterSettings("Project", "Plugins", "Convai", + LOCTEXT("RuntimeSettingsName", "Convai"), + LOCTEXT("RuntimeSettingsDescription", "Configure Convai settings"), + ConvaiSettings); + } +} + +void Convai::ShutdownModule() +{ + if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr("Settings")) + { + SettingsModule->UnregisterSettings("Project", "Plugins", "Convai"); + } + + if (!GExitPurge) + { + ConvaiSettings->RemoveFromRoot(); + } + else + { + ConvaiSettings = nullptr; + } +} + +UConvaiSettings* Convai::GetConvaiSettings() const +{ + check(ConvaiSettings); + return ConvaiSettings; +} + +#undef LOCTEXT_NAMESPACE \ No newline at end of file diff --git a/ConvAI/Convai/Source/Convai/Convai.h b/ConvAI/Convai/Source/Convai/Convai.h new file mode 100644 index 0000000..8c2863a --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Convai.h @@ -0,0 +1,108 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Modules/ModuleManager.h" +#include "Public/ConvaiDefinitions.h" +#include "Convai.generated.h" + +UCLASS(config = Engine, defaultconfig) +class CONVAI_API UConvaiSettings : public UObject +{ + GENERATED_BODY() + +public: + UConvaiSettings(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) + { + API_Key = ""; + EnableNewActionSystem = false; + } + /* API Key Issued from the website */ + UPROPERTY(Config, EditAnywhere, Category = "Convai API") + FString API_Key; + + /* Enable new actions system */ + UPROPERTY(Config, EditAnywhere, Category = "Convai API", meta = (DisplayName = "Enable New Action System (Experimental)")) + bool EnableNewActionSystem; + + /* Authentication token used for Convai Connect */ + UPROPERTY(Config, EditAnywhere, AdvancedDisplay, Category = "Convai API") + FString AuthToken; + + /* Custom Server URL (Used for debugging) */ + UPROPERTY(Config, EditAnywhere, AdvancedDisplay, Category = "Convai API") + FString CustomURL; + + /* Custom Beta API URL (Used for debugging) */ + UPROPERTY(Config, EditAnywhere, AdvancedDisplay, Category = "Convai API") + FString CustomBetaURL; + + /* Custom Production API URL (Used for debugging) */ + UPROPERTY(Config, EditAnywhere, AdvancedDisplay, Category = "Convai API") + FString CustomProdURL; + + /* Test Character ID (Used for debugging) */ + UPROPERTY(Config, EditAnywhere, AdvancedDisplay, Category = "Convai API") + FString TestCharacterID; + + UPROPERTY(Config, EditAnywhere, AdvancedDisplay, Category = "Convai API") + bool AllowInsecureConnection; + + /* Use both hardcoded and system SSL certificates on Windows */ + UPROPERTY(Config, EditAnywhere, AdvancedDisplay, Category = "Convai API") + bool UseSystemCertificates; + + /* Extra Parameters (Used for debugging) */ + UPROPERTY(Config, EditAnywhere, AdvancedDisplay, Category = "Convai API") + FString ExtraParams; + + UPROPERTY(Config, VisibleAnywhere, Category = "Long Term Memory") + TArray SpeakerIDs; +}; + + +class CONVAI_API Convai : public IModuleInterface +{ +public: + + /** IModuleInterface implementation */ + void StartupModule(); + void ShutdownModule(); + + + /** + * Singleton-like access to this module's interface. This is just for convenience! + * Beware of calling this during the shutdown phase, though. Your module might have been unloaded already. + * + * @return Returns singleton instance, loading the module on demand if needed + */ + static inline Convai& Get() + { + return FModuleManager::LoadModuleChecked("Convai"); + } + + /** + * Checks to see if this module is loaded and ready. It is only valid to call Get() if IsAvailable() returns true. + * + * @return True if the module is loaded and ready to use + */ + static inline bool IsAvailable() + { + return FModuleManager::Get().IsModuleLoaded("Convai"); + } + + virtual bool IsGameModule() const override + { + return true; + } + + /** Getter for internal settings object to support runtime configuration changes */ + UConvaiSettings* GetConvaiSettings() const; + + +protected: + /** Module settings */ + UConvaiSettings* ConvaiSettings; +}; diff --git a/ConvAI/Convai/Source/Convai/Convai_AndroidAPL.xml b/ConvAI/Convai/Source/Convai/Convai_AndroidAPL.xml new file mode 100644 index 0000000..905b2e7 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Convai_AndroidAPL.xml @@ -0,0 +1,301 @@ + + + + + + + + + + + + + + + + + + ; + public ; + } + ]]> + + + + + android.useAndroidX=true + android.enableJetifier=true + + + + + + dependencies + { + repositories { + // Check that you have the following line (if not, add it): + google() // Google's Maven repository + } + classpath 'com.google.gms:google-services:4.3.3' // google-services plugin + } + + + + + + + + dependencies + { + implementation 'com.google.android.play:app-update:2.1.0' + implementation 'com.google.android.play:review:2.0.1' + } + + allprojects { + def mappings = [ + 'android.support.annotation': 'androidx.annotation', + 'android.arch.lifecycle': 'androidx.lifecycle', + 'android.support.v4.app.NotificationCompat': 'androidx.core.app.NotificationCompat', + 'android.support.v4.app.ActivityCompat': 'androidx.core.app.ActivityCompat', + 'android.support.v4.content.ContextCompat': 'androidx.core.content.ContextCompat', + 'android.support.v13.app.FragmentCompat': 'androidx.legacy.app.FragmentCompat', + 'android.arch.lifecycle.Lifecycle': 'androidx.lifecycle.Lifecycle', + 'android.arch.lifecycle.LifecycleObserver': 'androidx.lifecycle.LifecycleObserver', + 'android.arch.lifecycle.OnLifecycleEvent': 'androidx.lifecycle.OnLifecycleEvent', + 'android.arch.lifecycle.ProcessLifecycleOwner': 'androidx.lifecycle.ProcessLifecycleOwner', + ] + + beforeEvaluate { project -> + project.rootProject.projectDir.traverse(type: groovy.io.FileType.FILES, nameFilter: ~/.*\.java$/) { f -> + mappings.each { entry -> + if (f.getText('UTF-8').contains(entry.key)) { + println "Updating ${entry.key} to ${entry.value} in file ${f}" + ant.replace(file: f, token: entry.key, value: entry.value) + } + } + } + } + } + + + + + + + + + + + + + + + import java.util.HashSet; + import java.util.Arrays; + import android.os.Handler; + + import android.util.Log; + import android.media.AudioRecord; + import android.media.AudioFormat; + import android.media.MediaRecorder; + import android.media.AudioTrack; + + import androidx.core.app.ActivityCompat; + import androidx.core.content.ContextCompat; + import android.Manifest; + import android.media.audiofx.AcousticEchoCanceler; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ConvAI/Convai/Source/Convai/Private/ConvaiActionUtils.cpp b/ConvAI/Convai/Source/Convai/Private/ConvaiActionUtils.cpp new file mode 100644 index 0000000..84e18ab --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/ConvaiActionUtils.cpp @@ -0,0 +1,445 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + + +#include "ConvaiActionUtils.h" +#include "ConvaiUtils.h" +#include "Internationalization/Regex.h" +#include "ConvaiDefinitions.h" + +DEFINE_LOG_CATEGORY(ConvaiActionUtilsLog); + +namespace +{ + bool FindCharAfterIndex(const FString& SearchString, const char Search, int32& OutIndex, const int32& AfterIndex) + { + return SearchString.Left(AfterIndex).FindChar(Search, OutIndex); + } + + FString RemoveQuotedWords(const FString& Input) + { + + int32 QuoteStartIndex = -1; + if (!Input.FindChar('"', QuoteStartIndex)) + { + return Input; + } + + FString Result = Input; + + while (Result.FindChar('"', QuoteStartIndex)) + { + int32 QuoteEndIndex = -1; + + // Start searching for the end quote after the start quote + if (Result.Left(QuoteStartIndex + 1).FindChar('"', QuoteEndIndex) && QuoteEndIndex > QuoteStartIndex) + { + // Remove the quoted string, including the quotes + Result.RemoveAt(QuoteStartIndex, QuoteEndIndex - QuoteStartIndex + 1); + } + else + { + // No closing quote found after this point, break the loop + break; + } + } + + return Result; + } + + int32 CountWords(const FString& str) + { + if (str.Len() == 0) return 0; + + TArray words; + str.ParseIntoArray(words, TEXT(" "), true); + + return words.Num(); + } + + FString KeepNWords(const FString& StringToBeParsed, const FString& CandidateString) + { + TArray words; + StringToBeParsed.ParseIntoArray(words, TEXT(" "), true); + + int32 N = CountWords(CandidateString); + + FString result; + for (int32 i = 0; i < FMath::Min(N, words.Num()); i++) + { + result += words[i] + " "; + } + + // Trim trailing space + result = result.LeftChop(1); + + return result; + } + + FString FindClosestString(FString Input, const TArray& StringArray) + { + FString ClosestString; + int32 MinDistance = MAX_int32; + + for (auto& String : StringArray) + { + int32 Distance = UConvaiUtils::LevenshteinDistance(Input, String); + if (Distance < MinDistance) + { + MinDistance = Distance; + ClosestString = String; + } + } + + return ClosestString; + } + + // Helper function to check if a substring is found outside of quotes. + bool FindSubstringOutsideQuotes(const FString& SearchString, const FString& SubstringToFind) + { + bool bInsideQuotes = false; + int32 SubstringLength = SubstringToFind.Len(); + int32 SearchStringLength = SearchString.Len(); + + if (SubstringLength > SearchStringLength || SubstringLength == 0) + { + return false; + } + + for (int32 i = 0; i <= SearchStringLength - SubstringLength; ++i) + { + // Toggle the inside quotes flag if a quote is found + if (SearchString[i] == '"') + { + bInsideQuotes = !bInsideQuotes; + continue; + } + + // If we are not inside quotes, perform the search + if (!bInsideQuotes && SearchString.Mid(i, SubstringLength).Equals(SubstringToFind, ESearchCase::IgnoreCase)) + { + // Make sure the match is not part of a larger string + if ((i == 0 || !FChar::IsAlnum(SearchString[i - 1])) && + (i + SubstringLength == SearchStringLength || !FChar::IsAlnum(SearchString[i + SubstringLength]))) + { + return true; // Substring found outside of quotes + } + } + } + + return false; // Substring not found or is within quotes + } + + bool FindClosePhraseOutsideQuotes(const FString& SearchString, const FString& PhraseToFind, int& OutBestDistance, int NumWordsToSkip = 0) + { + if (PhraseToFind.IsEmpty()) + { + return false; // Can't find an empty phrase. + } + + int32 MaxLevenshteinDistance = FMath::Clamp(PhraseToFind.Len() / 2, 2, 4); + TArray Words; + FString CurrentWord; + bool bInsideQuotes = false; + OutBestDistance = MaxLevenshteinDistance + 1; // Initialize with a value above the limit + + // Collect words outside quotes + for (TCHAR Char : SearchString) + { + if (Char == '"') + { + bInsideQuotes = !bInsideQuotes; + if (!CurrentWord.IsEmpty()) + { + Words.Add(CurrentWord); + CurrentWord.Empty(); + } + continue; + } + + if (!bInsideQuotes && (Char == ' ' || Char == '\t')) + { + if (!CurrentWord.IsEmpty()) + { + Words.Add(CurrentWord); + CurrentWord.Empty(); + } + } + else if (!bInsideQuotes) + { + CurrentWord.AppendChar(Char); + } + } + + // Add the last word if there is one + if (!CurrentWord.IsEmpty()) + { + Words.Add(CurrentWord); + } + + // Number of words in the phrase to find + TArray PhraseWords; + PhraseToFind.ParseIntoArray(PhraseWords, TEXT(" "), true); + int32 NumWordsInPhrase = PhraseWords.Num(); + + // Sliding window of words to check for the phrase + for (int32 i = NumWordsToSkip; i <= Words.Num() - NumWordsInPhrase; ++i) + { + FString WindowString; + for (int32 j = 0; j < NumWordsInPhrase; ++j) + { + WindowString += (j > 0 ? TEXT(" ") : TEXT("")) + Words[i + j]; + } + + if (WindowString.Len() - PhraseToFind.Len() >= MaxLevenshteinDistance || PhraseToFind.Len() - WindowString.Len() >= MaxLevenshteinDistance) + { + continue; + } + + int32 Distance = UConvaiUtils::LevenshteinDistance(WindowString, PhraseToFind); + if (Distance <= MaxLevenshteinDistance && Distance < OutBestDistance) + { + OutBestDistance = Distance; + } + } + + // The function returns true if we found a match within the acceptable Levenshtein distance + return OutBestDistance <= MaxLevenshteinDistance; + } + + static bool FindNearestObjectByName(FString SearchString, TArray Objects, FConvaiObjectEntry& ObjectMatch) + { + FString SearchStringLower = SearchString.ToLower(); + bool Found = false; + int BestDistance = 100; + for (auto o : Objects) + { + FString ObjectNameLower = o.Name.ToLower(); + int Distance = 0; + if (FindClosePhraseOutsideQuotes(SearchStringLower, ObjectNameLower, Distance)) + { + if (Distance < BestDistance) + { + ObjectMatch = o; + BestDistance = Distance; + Found = true; + } + } + } + + // Try to search in objects using each word in the SearchString + if (!Found) + { + TArray words; + FString SearchStringWithoutQuotes = RemoveQuotedWords(SearchStringLower); + SearchStringWithoutQuotes.ParseIntoArray(words, TEXT(" "), true); + bool breakFromLoop = false; + for (auto o : Objects) + { + if (breakFromLoop) + break; + if (CountWords(o.Name) <= 1) + continue; // consider only names consisting of 1+ words + + FString ObjectNameLower = o.Name.ToLower(); + for (auto w : words) + { + if (w.Len() <= 3) + continue; // consider only words greater than 3 letters + + int Distance = 0; + if (FindClosePhraseOutsideQuotes(ObjectNameLower, w, Distance)) + { + ObjectMatch = o; + BestDistance = Distance; + Found = true; + breakFromLoop = true; + break; + } + } + } + } + + return Found; + } + + TArray BubbleSortEntriesByNumberOfWords(TArray Entries) + { + bool swapped; + int n = Entries.Num(); + for (int i = 0; i < n - 1; i++) { + swapped = false; + for (int j = 0; j < n - i - 1; j++) { + if (CountWords(Entries[j].Name) > CountWords(Entries[j+1].Name)) { + Entries.Swap(j, j + 1); + swapped = true; + } + } + // If no two elements were swapped by inner loop, then break + if (!swapped) { + break; + } + } + return Entries; + } +}; + +TArray UConvaiActions::SmartSplit(const FString& SequenceString) +{ + TArray Result; + FString CurrentString = ""; + bool InQuotes = false; + + for (int i = 0; i < SequenceString.Len(); ++i) + { + TCHAR CurrentChar = SequenceString[i]; + + if (CurrentChar == '\"') + { + InQuotes = !InQuotes; + } + + if (CurrentChar == ',' && !InQuotes) + { + Result.Add(CurrentString.TrimStartAndEnd()); + CurrentString = ""; + } + else + { + CurrentString += CurrentChar; + } + } + + if (!CurrentString.IsEmpty()) + { + Result.Add(CurrentString.TrimStartAndEnd()); + } + + return Result; +} + +FString UConvaiActions::ExtractText(FString Action, FString ActionResult) +{ + FString ExtraText = ""; + FRegexPattern TextPattern(TEXT("\".*\"")); + FRegexMatcher StringMatcher = FRegexMatcher(TextPattern, ActionResult); + if (StringMatcher.FindNext()) + { + //CONVAI_LOG(ConvaiUtilsLog, Warning, TEXT("*StringMatcher.GetCaptureGroup(0):%s"), *StringMatcher.GetCaptureGroup(0)); + ExtraText = *StringMatcher.GetCaptureGroup(0).LeftChop(1).RightChop(1); + } + else + { + int index = ActionResult.Find(Action); + index += Action.Len(); + ExtraText = ActionResult.RightChop(index + 1); + //ExtraText = ActionResult; + } + return ExtraText; +} + +float UConvaiActions::ExtractNumber(FString ActionResult) +{ + float ExtraNumber = 0; + FRegexPattern NumericPattern(TEXT("\\d+")); + FRegexMatcher NumberMatcher = FRegexMatcher(NumericPattern, ActionResult); + if (NumberMatcher.FindNext()) + { + //CONVAI_LOG(ConvaiGetActionHttpLog, Warning, TEXT("*NumberMatcher.GetCaptureGroup(0):%s"), *NumberMatcher.GetCaptureGroup(0)); + ExtraNumber = FCString::Atof(*NumberMatcher.GetCaptureGroup(0)); + } + return ExtraNumber; +} + +FString UConvaiActions::RemoveDesc(FString str) +{ + FRegexPattern DescPattern(TEXT("<.*>")); + FRegexMatcher DescMatcher = FRegexMatcher(DescPattern, str); + int i = 0; + while (DescMatcher.FindNext()) + { + int start = DescMatcher.GetMatchBeginning(); + str.ReplaceInline(*DescMatcher.GetCaptureGroup(i++), *FString("")); + str.TrimEndInline(); + str.TrimStartInline(); + } + //CONVAI_LOG(ConvaiActionUtilsLog, Warning, TEXT("str:%s"), *str); + return str; +} + +FString UConvaiActions::FindAction(FString ActionToBeParsed, TArray Actions) +{ + FString ClosestAction = "None"; + int32 MinDistance = 4; + for (auto a : Actions) + { + FString TrimmedAction = ActionToBeParsed; + a = RemoveDesc(a); + TrimmedAction = KeepNWords(ActionToBeParsed, a); + int32 Distance = UConvaiUtils::LevenshteinDistance(TrimmedAction, a); + if (Distance < MinDistance) + { + MinDistance = Distance; + ClosestAction = a; + } + } + return ClosestAction; +} + +bool UConvaiActions::ParseAction(UConvaiEnvironment* Environment, FString ActionToBeParsed, FConvaiResultAction& ConvaiResultAction) +{ + FString ActionToAdd; + FConvaiObjectEntry RelatedObjOrChar; + ConvaiResultAction.ActionString = ActionToBeParsed; + + // find actions + ActionToAdd = FindAction(ActionToBeParsed, Environment->Actions); + + TArray AllCharsAndObjs; + AllCharsAndObjs.Append(Environment->Characters); + AllCharsAndObjs.Append(Environment->Objects); + + // find objects or characters + FindNearestObjectByName(ActionToBeParsed, AllCharsAndObjs, RelatedObjOrChar); + + // find objects + //FindNearestObjectByName(ActionToBeParsed, Environment->Objects, RelatedObjOrChar); + + // Find extra numeric param + float ExtraNumber = ExtractNumber(ActionToBeParsed); + + // Find extra textual param + FString ExtraText = ExtractText(ActionToAdd, ActionToBeParsed); + + // Add to result action sequence array + if (ActionToAdd != "") + { + ConvaiResultAction.Action = ActionToAdd; + ConvaiResultAction.RelatedObjectOrCharacter = RelatedObjOrChar; + ConvaiResultAction.ConvaiExtraParams.Number = ExtraNumber; + ConvaiResultAction.ConvaiExtraParams.Text = ExtraText; + return true; + } + return false; +} + +bool UConvaiActions::ValidateEnvironment(UConvaiEnvironment* Environment, FString& Error) +{ + if (!IsValid(Environment)) + { + Error = "ConvaiActions: Environment object is invalid or not set! You can create it using \"Create Environemnt Object\" function"; + return false; + } + + if (!Environment->MainCharacter.Ref.IsValid()) + { + Error = "ConvaiActions: Main Character in the Environment object is invalid or not set! Please set it using \"Set Main Character\" function and use the player pawn as input"; + return false; + } + + if (Environment->Actions.Num() == 0) + { + Error = "ConvaiActions: The Environment object does not have any actions added, please add some actions using \"Add Action\" or \"Add Actions\" function"; + return false; + } + return true; +} \ No newline at end of file diff --git a/ConvAI/Convai/Source/Convai/Private/ConvaiAndroid.cpp b/ConvAI/Convai/Source/Convai/Private/ConvaiAndroid.cpp new file mode 100644 index 0000000..54f9069 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/ConvaiAndroid.cpp @@ -0,0 +1,31 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + +#include "ConvaiAndroid.h" + +//#define PLATFORM_ANDROID 1 + +#if PLATFORM_ANDROID +#include "AndroidPermissionFunctionLibrary.h" +#endif + +DEFINE_LOG_CATEGORY(ConvaiAndroidLog); + + +void UConvaiAndroid::ConvaiAndroidAskMicrophonePermission() +{ +#if PLATFORM_ANDROID + TArray Permissions; + Permissions.Add((FString("android.permission.RECORD_AUDIO"))); + UAndroidPermissionFunctionLibrary::AcquirePermissions(Permissions); +#endif +} + +bool UConvaiAndroid::ConvaiAndroidHasMicrophonePermission() +{ +#if PLATFORM_ANDROID + return UAndroidPermissionFunctionLibrary::CheckPermission("android.permission.RECORD_AUDIO"); +#else + return true; +#endif + +} \ No newline at end of file diff --git a/ConvAI/Convai/Source/Convai/Private/ConvaiAudioCaptureComponent.cpp b/ConvAI/Convai/Source/Convai/Private/ConvaiAudioCaptureComponent.cpp new file mode 100644 index 0000000..2885757 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/ConvaiAudioCaptureComponent.cpp @@ -0,0 +1,454 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + + +#include "ConvaiAudioCaptureComponent.h" +#include "ConvaiDefinitions.h" +#include "Utility/Log/ConvaiLogger.h" + +DEFINE_LOG_CATEGORY(ConvaiAudioLog); + + +namespace Audio +{ + FConvaiAudioCaptureSynth::FConvaiAudioCaptureSynth() + : NumSamplesEnqueued(0) + , bInitialized(false) + , bIsCapturing(false) + { + } + + FConvaiAudioCaptureSynth::~FConvaiAudioCaptureSynth() + { + } + + TArray FConvaiAudioCaptureSynth::GetCaptureDevicesAvailable() + { + TArray CaptureDevicesInfo; + AudioCapture.GetCaptureDevicesAvailable(CaptureDevicesInfo); + for (int i = CaptureDevicesInfo.Num()-1; i>=0; i--) + { + if (CaptureDevicesInfo[i].InputChannels <= 0) + CaptureDevicesInfo.RemoveAt(i); + } + return CaptureDevicesInfo; + } + + int32 FConvaiAudioCaptureSynth::MapInputDeviceIDToDeviceID(int32 InputDeviceID) + { + uint32 NumInputDevices = 0; + TArray CaptureDevicesInfo; + AudioCapture.GetCaptureDevicesAvailable(CaptureDevicesInfo); + uint32 NumDevices = CaptureDevicesInfo.Num(); + + Audio::FCaptureDeviceInfo DeviceInfo; + for (uint32 DeviceIndex = 0; AudioCapture.GetCaptureDeviceInfo(DeviceInfo, DeviceIndex); DeviceIndex++) + { + //CONVAI_LOG(ConvaiAudioLog, Log, TEXT("DeviceIndex: %d, InputDeviceID: %d - name: %s - channels:%d - NumDevices:%d"), DeviceIndex, InputDeviceID, *DeviceInfo.DeviceName, DeviceInfo.InputChannels, NumDevices); + bool IsInput = DeviceInfo.InputChannels > 0; + if (!IsInput) + { + continue; + } + //CONVAI_LOG(ConvaiAudioLog, Log, TEXT("DeviceIndex: %d, is an input - name: %s"), DeviceIndex, *DeviceInfo.DeviceName); + if (NumInputDevices == InputDeviceID) + { + return DeviceIndex; + } + NumInputDevices++; + } + return -1; + } + + bool FConvaiAudioCaptureSynth::GetDefaultCaptureDeviceInfo(FCaptureDeviceInfo& OutInfo) + { + return AudioCapture.GetCaptureDeviceInfo(OutInfo); + } + + bool FConvaiAudioCaptureSynth::GetCaptureDeviceInfo(FCaptureDeviceInfo& OutInfo, int32 DeviceIndex) + { + DeviceIndex = MapInputDeviceIDToDeviceID(DeviceIndex); + return AudioCapture.GetCaptureDeviceInfo(OutInfo, DeviceIndex); + } + + bool FConvaiAudioCaptureSynth::OpenDefaultStream() + { + bool bSuccess = true; + if (!AudioCapture.IsStreamOpen()) + { + FOnCaptureFunction OnCapture = [this](const float* AudioData, int32 NumFrames, int32 NumChannels, int32 SampleRate, double StreamTime, bool bOverFlow) + { + int32 NumSamples = NumChannels * NumFrames; + + FScopeLock Lock(&CaptureCriticalSection); + + if (bIsCapturing) + { + // Append the audio memory to the capture data buffer + int32 Index = AudioCaptureData.AddUninitialized(NumSamples); + float* AudioCaptureDataPtr = AudioCaptureData.GetData(); + FMemory::Memcpy(&AudioCaptureDataPtr[Index], AudioData, NumSamples * sizeof(float)); + } + }; + + // Prepare the audio buffer memory for 2 seconds of stereo audio at 48k SR to reduce chance for allocation in callbacks + AudioCaptureData.Reserve(2 * 2 * 48000); + + FAudioCaptureDeviceParams Params = FAudioCaptureDeviceParams(); + + // Start the stream here to avoid hitching the audio render thread. + if (AudioCapture.OpenCaptureStream(Params, MoveTemp(OnCapture), 1024)) + { + AudioCapture.StartStream(); + } + else + { + bSuccess = false; + } + } + return bSuccess; + } + + bool FConvaiAudioCaptureSynth::OpenStream(int32 DeviceIndex) + { + bool bSuccess = true; + if (!AudioCapture.IsStreamOpen()) + { + FOnCaptureFunction OnCapture = [this](const float* AudioData, int32 NumFrames, int32 NumChannels, int32 SampleRate, double StreamTime, bool bOverFlow) + { + int32 NumSamples = NumChannels * NumFrames; + + FScopeLock Lock(&CaptureCriticalSection); + + if (bIsCapturing) + { + // Append the audio memory to the capture data buffer + int32 Index = AudioCaptureData.AddUninitialized(NumSamples); + float* AudioCaptureDataPtr = AudioCaptureData.GetData(); + FMemory::Memcpy(&AudioCaptureDataPtr[Index], AudioData, NumSamples * sizeof(float)); + } + }; + + // Prepare the audio buffer memory for 2 seconds of stereo audio at 48k SR to reduce chance for allocation in callbacks + AudioCaptureData.Reserve(2 * 2 * 48000); + + FAudioCaptureDeviceParams Params = FAudioCaptureDeviceParams(); + Params.DeviceIndex = DeviceIndex; + // Start the stream here to avoid hitching the audio render thread. + if (AudioCapture.OpenCaptureStream(Params, MoveTemp(OnCapture), 1024)) + { + AudioCapture.StartStream(); + } + else + { + bSuccess = false; + } + } + return bSuccess; + } + + void FConvaiAudioCaptureSynth::CloseStream() + { + if (AudioCapture.IsStreamOpen()) + { + AudioCapture.CloseStream(); + } + } + + bool FConvaiAudioCaptureSynth::StartCapturing() + { + FScopeLock Lock(&CaptureCriticalSection); + + AudioCaptureData.Reset(); + + check(AudioCapture.IsStreamOpen()); + + bIsCapturing = true; + return true; + } + + void FConvaiAudioCaptureSynth::StopCapturing() + { + check(AudioCapture.IsStreamOpen()); + check(AudioCapture.IsCapturing()); + FScopeLock Lock(&CaptureCriticalSection); + bIsCapturing = false; + } + + void FConvaiAudioCaptureSynth::AbortCapturing() + { + AudioCapture.AbortStream(); + AudioCapture.CloseStream(); + } + + bool FConvaiAudioCaptureSynth::IsStreamOpen() const + { + return AudioCapture.IsStreamOpen(); + } + + bool FConvaiAudioCaptureSynth::IsCapturing() const + { + return bIsCapturing; + } + + int32 FConvaiAudioCaptureSynth::GetNumSamplesEnqueued() + { + FScopeLock Lock(&CaptureCriticalSection); + return AudioCaptureData.Num(); + } + + FAudioCapture* FConvaiAudioCaptureSynth::GetAudioCapture() + { + return &AudioCapture; + } + + bool FConvaiAudioCaptureSynth::GetAudioData(TArray& OutAudioData) + { + FScopeLock Lock(&CaptureCriticalSection); + + int32 CaptureDataSamples = AudioCaptureData.Num(); + if (CaptureDataSamples > 0) + { + // Append the capture audio to the output buffer + int32 OutIndex = OutAudioData.AddUninitialized(CaptureDataSamples); + float* OutDataPtr = OutAudioData.GetData(); + FMemory::Memcpy(&OutDataPtr[OutIndex], AudioCaptureData.GetData(), CaptureDataSamples * sizeof(float)); + + // Reset the capture data buffer since we copied the audio out + AudioCaptureData.Reset(); + return true; + } + return false; + } +}; + +UConvaiAudioCaptureComponent::UConvaiAudioCaptureComponent(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) +{ + bSuccessfullyInitialized = false; + bIsCapturing = false; + CapturedAudioDataSamples = 0; + ReadSampleIndex = 0; + bIsDestroying = false; + bIsNotReadyForForFinishDestroy = false; + bIsStreamOpen = false; + CaptureAudioData.Reserve(2 * 48000 * 5); + SelectedDeviceIndex = -1; +} + +bool UConvaiAudioCaptureComponent::Init(int32& SampleRate) +{ + + Audio::FCaptureDeviceInfo DeviceInfo; + bool FoundDevice = false; + if (SelectedDeviceIndex == -1) + { + FoundDevice = CaptureSynth.GetDefaultCaptureDeviceInfo(DeviceInfo); + } + else + { + FoundDevice = CaptureSynth.GetCaptureDeviceInfo(DeviceInfo, SelectedDeviceIndex); + if (!FoundDevice) + { + FoundDevice = CaptureSynth.GetDefaultCaptureDeviceInfo(DeviceInfo); + } + } + + CONVAI_LOG(ConvaiAudioLog, Log, TEXT("Using %s as Audio capture device with NumChannels:%d and SampleRate:%d"), *DeviceInfo.DeviceName, DeviceInfo.InputChannels, DeviceInfo.PreferredSampleRate); + + if (FoundDevice) + { + SampleRate = DeviceInfo.PreferredSampleRate; + NumChannels = DeviceInfo.InputChannels; + + // Only support mono and stereo mic inputs for now... + if (NumChannels == 1 || NumChannels == 2) + { + // This may fail if capture synths aren't supported on a given platform or if something went wrong with the capture device + bIsStreamOpen = CaptureSynth.OpenStream(SelectedDeviceIndex); + if (!bIsStreamOpen) + { + CONVAI_LOG(ConvaiAudioLog, Warning, TEXT("OpenStream returned false.")); + } + return true; + } + else + { + CONVAI_LOG(ConvaiAudioLog, Warning, TEXT("Audio capture components only support mono and stereo mic input - Audio might be mangeled.")); + return true; + } + + } + return false; +} + +void UConvaiAudioCaptureComponent::BeginDestroy() +{ + Super::BeginDestroy(); + + // Flag that we're beginning to be destroyed + // This is so that if a mic capture is open, we shut it down on the render thread + bIsDestroying = true; + + // Make sure stop is kicked off + Stop(); +} + +bool UConvaiAudioCaptureComponent::IsReadyForFinishDestroy() +{ + return !bIsNotReadyForForFinishDestroy; +} + +void UConvaiAudioCaptureComponent::FinishDestroy() +{ + if (CaptureSynth.IsStreamOpen()) + { + CaptureSynth.AbortCapturing(); + } + + check(!CaptureSynth.IsStreamOpen()); + + Super::FinishDestroy(); + bSuccessfullyInitialized = false; + bIsCapturing = false; + bIsDestroying = false; + bIsStreamOpen = false; +} + +bool UConvaiAudioCaptureComponent::GetDefaultCaptureDeviceInfo(Audio::FCaptureDeviceInfo& OutInfo) +{ + return CaptureSynth.GetDefaultCaptureDeviceInfo(OutInfo); +} + +bool UConvaiAudioCaptureComponent::GetCaptureDeviceInfo(Audio::FCaptureDeviceInfo& OutInfo, int32 DeviceIndex) +{ + return CaptureSynth.GetCaptureDeviceInfo(OutInfo, DeviceIndex); +} + +TArray UConvaiAudioCaptureComponent::GetCaptureDevicesAvailable() +{ + return CaptureSynth.GetCaptureDevicesAvailable(); +} + +int32 UConvaiAudioCaptureComponent::GetActiveCaptureDevice(Audio::FCaptureDeviceInfo& OutInfo) +{ + if (SelectedDeviceIndex == -1) + GetDefaultCaptureDeviceInfo(OutInfo); + else + GetCaptureDeviceInfo(OutInfo, SelectedDeviceIndex); + return SelectedDeviceIndex; +} + +bool UConvaiAudioCaptureComponent::SetCaptureDevice(int32 DeviceIndex) +{ + Audio::FCaptureDeviceInfo OutInfo; + if (GetCaptureDeviceInfo(OutInfo, DeviceIndex)) + { + CaptureSynth.CloseStream(); + SelectedDeviceIndex = DeviceIndex; + return true; + } + else + { + return false; + } +} + +Audio::FConvaiAudioCaptureSynth* UConvaiAudioCaptureComponent::GetCaptureSynth() +{ + return &CaptureSynth; +} + +void UConvaiAudioCaptureComponent::OnBeginGenerate() +{ + CapturedAudioDataSamples = 0; + ReadSampleIndex = 0; + CaptureAudioData.Reset(); + + if (!bIsStreamOpen) + { + bIsStreamOpen = CaptureSynth.OpenDefaultStream(); + } + + if (bIsStreamOpen) + { + CaptureSynth.StartCapturing(); + check(CaptureSynth.IsCapturing()); + + // Don't allow this component to be destroyed until the stream is closed again + bIsNotReadyForForFinishDestroy = true; + FramesSinceStarting = 0; + ReadSampleIndex = 0; + } + +} + +void UConvaiAudioCaptureComponent::OnEndGenerate() +{ + if (bIsStreamOpen) + { + check(CaptureSynth.IsStreamOpen()); + CaptureSynth.StopCapturing(); + bIsStreamOpen = false; + + bIsNotReadyForForFinishDestroy = false; + } +} + +int32 UConvaiAudioCaptureComponent::OnGenerateAudio(float* OutAudio, int32 NumSamples) +{ + // Don't do anything if the stream isn't open + if (!bIsStreamOpen || !CaptureSynth.IsStreamOpen() || !CaptureSynth.IsCapturing()) + { + // Just return NumSamples, which uses zero'd buffer + return NumSamples; + } + + int32 OutputSamplesGenerated = 0; + + if (CapturedAudioDataSamples > 0 || CaptureSynth.GetNumSamplesEnqueued() > 1024) + { + // Check if we need to read more audio data from capture synth + if (ReadSampleIndex + NumSamples > CaptureAudioData.Num()) + { + // but before we do, copy off the remainder of the capture audio data buffer if there's data in it + int32 SamplesLeft = FMath::Max(0, CaptureAudioData.Num() - ReadSampleIndex); + if (SamplesLeft > 0) + { + float* CaptureDataPtr = CaptureAudioData.GetData(); + FMemory::Memcpy(OutAudio, &CaptureDataPtr[ReadSampleIndex], SamplesLeft * sizeof(float)); + + // Track samples generated + OutputSamplesGenerated += SamplesLeft; + } + + // Get another block of audio from the capture synth + CaptureAudioData.Reset(); + CaptureSynth.GetAudioData(CaptureAudioData); + + // Reset the read sample index since we got a new buffer of audio data + ReadSampleIndex = 0; + } + + // note it's possible we didn't get any more audio in our last attempt to get it + if (CaptureAudioData.Num() > 0) + { + // Compute samples to copy + int32 NumSamplesToCopy = FMath::Min(NumSamples - OutputSamplesGenerated, CaptureAudioData.Num() - ReadSampleIndex); + + float* CaptureDataPtr = CaptureAudioData.GetData(); + FMemory::Memcpy(&OutAudio[OutputSamplesGenerated], &CaptureDataPtr[ReadSampleIndex], NumSamplesToCopy * sizeof(float)); + ReadSampleIndex += NumSamplesToCopy; + OutputSamplesGenerated += NumSamplesToCopy; + } + + CapturedAudioDataSamples += OutputSamplesGenerated; + } + else + { + // Say we generated the full samples, this will result in silence + OutputSamplesGenerated = NumSamples; + } + + return OutputSamplesGenerated; +} + diff --git a/ConvAI/Convai/Source/Convai/Private/ConvaiAudioStreamer.cpp b/ConvAI/Convai/Source/Convai/Private/ConvaiAudioStreamer.cpp new file mode 100644 index 0000000..46aa3db --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/ConvaiAudioStreamer.cpp @@ -0,0 +1,1679 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + +#include "ConvaiAudioStreamer.h" +#include "Sound/SoundWave.h" +#include "Engine.h" +#include "Net/UnrealNetwork.h" +#include "Kismet/KismetSystemLibrary.h" +#include "LipSyncInterface.h" +#include "VisionInterface.h" +#include "Math/UnrealMathUtility.h" +#include "ConvaiUtils.h" + +// THIRD_PARTY_INCLUDES_START +#include "opus.h" +// THIRD_PARTY_INCLUDES_END + +/** Maximum number of frames in a single Opus packet */ +#define MAX_OPUS_FRAMES_PER_PACKET 48 +/** Number of max frames for buffer calculation purposes */ +#define MAX_OPUS_FRAMES 6 + +/** + * Number of samples per channel of available space in PCM during decompression. + * If this is less than the maximum packet duration (120ms; 5760 for 48kHz), opus will not be capable of decoding some packets. + */ +#define MAX_OPUS_FRAME_SIZE MAX_OPUS_FRAMES * 320 + /** Hypothetical maximum for buffer validation */ +#define MAX_OPUS_UNCOMPRESSED_BUFFER_SIZE 48 * 1024 +/** 20ms frame sizes are a good choice for most applications (1000ms / 20ms = 50) */ +//#define NUM_OPUS_FRAMES_PER_SEC 50 +#define NUM_OPUS_FRAMES_PER_SEC 50 + +#define OPUS_CHECK_CTL(Category, CTL) \ + if (ErrCode != OPUS_OK) \ + { \ + CONVAI_LOG(Category, Warning, TEXT("Failure to get CTL %s"), #CTL); \ + } + + +DEFINE_LOG_CATEGORY(ConvaiAudioStreamerLog); + +UConvaiAudioStreamer::UConvaiAudioStreamer(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) +{ + PrimaryComponentTick.bCanEverTick = true; + bAutoActivate = true; + + // Pre-allocate the temporary buffer + TempAudioBuffer.Reserve(TempBufferSize); + + // Initialize the audio buffer with a reasonable size + AudioBuffer.Init(TempBufferSize); +} + +void UConvaiAudioStreamer::BroadcastVoiceDataToClients_Implementation(TArray const& EncodedVoiceData, uint32 SampleRate, uint32 NumChannels, uint32 SizeBeforeEncode) +{ + // Check that decoder is valid and able to decode the input sample rate and channels + if (!Decoder || SampleRate != DecoderSampleRate || NumChannels != DecoderNumChannels) + { + DestroyOpusDecoder(); + InitDecoder(SampleRate, NumChannels); + CONVAI_LOG(ConvaiAudioStreamerLog, Log, TEXT("Initialized Decoder with SampleRate:%d and Channels:%d"), DecoderSampleRate, DecoderNumChannels); + } + + + // Make sure we have a big enough buffer for decoding + if (ReceivedEncodedAudioDataBuffer.GetAllocatedSize() < SizeBeforeEncode * 20) { + ReceivedEncodedAudioDataBuffer.Reserve(SizeBeforeEncode * 20); + } + + // Decode the Audio data + uint32 outsize = ReceivedEncodedAudioDataBuffer.GetAllocatedSize(); + //CONVAI_LOG(ConvaiAudioStreamerLog, Log, TEXT("Allocated buffer size for decoding: %d bytes"), outsize); + + Decode(EncodedVoiceData.GetData(), EncodedVoiceData.Num(), ReceivedEncodedAudioDataBuffer.GetData(), outsize); + + // Do not play incomming audio on the client instance, if this component is owned by the client and "ShouldMuteLocal() == true", which means that we mute the audio locally + // Do not play if we want to mute on all clients "ShouldMuteGlobal() == true" + if (!(ShouldMuteLocal() && GetOwner()->HasLocalNetOwner()) && !ShouldMuteGlobal()) + { + PlayVoiceSynced(ReceivedEncodedAudioDataBuffer.GetData(), outsize, false, SampleRate, NumChannels); + } + + // Run this on server only + if (UKismetSystemLibrary::IsServer(this)) + { + OnServerAudioReceived(ReceivedEncodedAudioDataBuffer.GetData(), outsize, false, SampleRate, NumChannels); + } + + //CONVAI_LOG(ConvaiAudioStreamerLog, Log, TEXT("Decoder Received %d bytes and Outputted %d bytes"), EncodedVoiceData.Num(), outsize); +} + +//void UConvaiAudioStreamer::GetLifetimeReplicatedProps(TArray& OutLifetimeProps) const +//{ +// Super::GetLifetimeReplicatedProps(OutLifetimeProps); +// +// DOREPLIFETIME(UConvaiAudioStreamer, ReplicateVoiceToNetwork); +//} + +void UConvaiAudioStreamer::ProcessEncodedVoiceData_Implementation(TArray const& EncodedVoiceData, uint32 SampleRate, uint32 NumChannels, uint32 SizeBeforeEncode) +{ + BroadcastVoiceDataToClients(EncodedVoiceData, SampleRate, NumChannels, SizeBeforeEncode); +} + +bool UConvaiAudioStreamer::ShouldMuteLocal() +{ + return false; +} + +bool UConvaiAudioStreamer::ShouldMuteGlobal() +{ + return false; +} + +void UConvaiAudioStreamer::PlayVoiceSynced(uint8* VoiceData, uint32 VoiceDataSize, bool ContainsHeaderData, uint32 SampleRate, uint32 NumChannels) +{ + // Do not play incoming audio on the client instance if muted + if ((ShouldMuteLocal() && GetOwner()->HasLocalNetOwner()) || ShouldMuteGlobal()) + { + return; + } + + HandleAudioReceived(VoiceData, VoiceDataSize, ContainsHeaderData, SampleRate, NumChannels); +} + +namespace +{ + void HandleAudioTimer(TWeakObjectPtr WeakSelf, int32 PCM_DataSize, int32 SampleRate) + { + if (!WeakSelf.IsValid() || !IsValid(WeakSelf->GetWorld())) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("PlayVoiceData: Object or World is Invalid!")); + return; + } + + float NewAudioDuration = float(PCM_DataSize) / float(SampleRate * 2); + + + double CurrentTime = FPlatformTime::Seconds(); + + double RemainingAudioDuration = 0.0; + if (WeakSelf->AudioEndTime > 0.0) + { + RemainingAudioDuration = WeakSelf->AudioEndTime - CurrentTime; + if (RemainingAudioDuration < 0.0) + RemainingAudioDuration = 0.0; + } + + + double TotalAudioDuration = RemainingAudioDuration + NewAudioDuration; + + WeakSelf->AudioEndTime = CurrentTime + TotalAudioDuration; + + if (WeakSelf.IsValid() && IsValid(WeakSelf->GetWorld())) + { + WeakSelf->GetWorld()->GetTimerManager().SetTimer( + WeakSelf->AudioFinishedTimerHandle, + WeakSelf.Get(), + &UConvaiAudioStreamer::onAudioFinished, + TotalAudioDuration, + false); + } + else + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("PlayVoiceData: Object or World became invalid before setting timer!")); + } + } + + void SetupAndPlayAudio(TWeakObjectPtr WeakThis, TArray AudioDataCopy, int32 SampleRate, int32 NumChannels) + { + if (!WeakThis.IsValid() || !IsValid(WeakThis->SoundWaveProcedural)) + { + return; + } + + WeakThis->SetSound(WeakThis->SoundWaveProcedural); + WeakThis->SoundWaveProcedural->QueueAudio(AudioDataCopy.GetData(), AudioDataCopy.Num()); + WeakThis->Play(); + + // Lipsync component process the audio data to generate the lipsync + if (WeakThis.IsValid() && !(WeakThis->ConvaiLipSync && WeakThis->ConvaiLipSync->RequiresPrecomputedFaceData())) + { + uint8* NonConstData = const_cast(AudioDataCopy.GetData()); + WeakThis->PlayLipSync(NonConstData, AudioDataCopy.Num(), SampleRate, NumChannels); + } + + WeakThis->ForceRecalculateLipsyncStartTime(); + } +}; + +void UConvaiAudioStreamer::ProcessPendingAudio() +{ + if (!IsValid(SoundWaveProcedural) && PendingAudioBuffer.Num() <= 0) + return; + + // Process the buffer if there's any data + SoundWaveProcedural->QueueAudio(PendingAudioBuffer.GetData(), PendingAudioBuffer.Num()); + + // Lipsync component process the audio data to generate the lipsync + if (!(ConvaiLipSync && ConvaiLipSync->RequiresPrecomputedFaceData())) + { + uint32 SampleRate = SoundWaveProcedural->GetSampleRateForCurrentPlatform(); + uint32 NumChannels = SoundWaveProcedural->NumChannels; + PlayLipSync(PendingAudioBuffer.GetData(), PendingAudioBuffer.Num(), SampleRate>0? SampleRate : 48000, NumChannels > 0? NumChannels : 1); + } + PendingAudioBuffer.Empty(); +} + +void UConvaiAudioStreamer::PlayVoiceData(uint8* VoiceData, uint32 VoiceDataSize, bool ContainsHeaderData, uint32 SampleRate, uint32 NumChannels) +{ + if (IsVoiceCurrentlyFading()) + StopVoice(); + ResetVoiceFade(); + + if (ContainsHeaderData) + { + // Parse Wav header + FWaveModInfo WaveInfo; + FString ErrorReason; + bool ParseSuccess = WaveInfo.ReadWaveInfo(VoiceData, VoiceDataSize, &ErrorReason); + // Set the number of channels and sample rate for the first time reading from the stream + if (ParseSuccess) + { + // Validate that the world exists + if (!IsValid(GetWorld())) + return; + + SampleRate = *WaveInfo.pSamplesPerSec; + NumChannels = *WaveInfo.pChannels; + + // Play only the PCM data which start after 44 bytes + VoiceData += 44; + VoiceDataSize -= 44; + } + else if (!ParseSuccess) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("PlayVoiceData: Failed to parse wav header, reason: %s"), *ErrorReason); + } + } + + TWeakObjectPtr WeakSelf = this; + + if (IsInGameThread()) + { + HandleAudioTimer(WeakSelf, VoiceDataSize, SampleRate); + } + else + { + AsyncTask(ENamedThreads::GameThread, [WeakSelf, VoiceDataSize, SampleRate]() + { + HandleAudioTimer(WeakSelf, VoiceDataSize, SampleRate); + }); + } + + if (!IsValid(SoundWaveProcedural)) + return; + + // If configuring audio then queue the audio and return + if (IsAudioConfiguring) + { + // Lock is already held, queue this audio for later processing + if (ContainsHeaderData) + { + // Skip header for the queue + PendingAudioBuffer.Append(VoiceData + 44, VoiceDataSize - 44); + } + else + { + PendingAudioBuffer.Append(VoiceData, VoiceDataSize); + } + + // Try the lock again before exiting - if it's available now, process the queue + if (!IsAudioConfiguring) + { + IsAudioConfiguring.AtomicSet(true); + ProcessPendingAudio(); + IsAudioConfiguring.AtomicSet(false); + } + + return; + } + + // We have the lock, proceed with processing + + // Check that SoundWaveProcedural is valid and able to play input sample rate and channels + if (SoundWaveProcedural->GetSampleRateForCurrentPlatform() != SampleRate || SoundWaveProcedural->NumChannels != NumChannels) + { + IsAudioConfiguring.AtomicSet(true); + + SoundWaveProcedural->SetSampleRate(SampleRate); + SoundWaveProcedural->NumChannels = NumChannels; + SoundWaveProcedural->Duration = INDEFINITELY_LOOPING_DURATION; + SoundWaveProcedural->SoundGroup = SOUNDGROUP_Voice; + SoundWaveProcedural->bLooping = false; + SoundWaveProcedural->bProcedural = true; + SoundWaveProcedural->Pitch = 1.0f; + SoundWaveProcedural->Volume = 1.0f; + SoundWaveProcedural->AttenuationSettings = nullptr; + SoundWaveProcedural->bDebug = true; + SoundWaveProcedural->VirtualizationMode = EVirtualizationMode::PlayWhenSilent; + + CONVAI_LOG(ConvaiAudioStreamerLog, Log, TEXT("New SampleRate: %d"), SampleRate); + CONVAI_LOG(ConvaiAudioStreamerLog, Log, TEXT("New Channels: %d"), NumChannels); + + // Create a copy of the audio data for thread safety + TArray AudioDataCopy; + AudioDataCopy.Append(VoiceData, VoiceDataSize); + + // Store a copy of the weak pointer for the lambda + TWeakObjectPtr WeakThis = this; + + + if (IsInGameThread()) + { + SetupAndPlayAudio(WeakThis, AudioDataCopy, SampleRate, NumChannels); + + // Process any pending audio before releasing the lock + ProcessPendingAudio(); + + // Release the lock + IsAudioConfiguring.AtomicSet(false); + } + else + { + AsyncTask(ENamedThreads::GameThread, [WeakThis, AudioDataCopy, SampleRate, NumChannels]() + { + if (WeakThis.IsValid()) + SetupAndPlayAudio(WeakThis, AudioDataCopy, SampleRate, NumChannels); + + // Process any pending audio before releasing the lock + if (WeakThis.IsValid()) + WeakThis->ProcessPendingAudio(); + + // Release the lock + if (WeakThis.IsValid()) + WeakThis->IsAudioConfiguring.AtomicSet(false); + }); + } + + if (!IsTalking) + { + onAudioStarted(); + IsTalking = true; + } + + return; + } + + SoundWaveProcedural->QueueAudio(VoiceData, VoiceDataSize); + + if (!IsTalking) + { + onAudioStarted(); + IsTalking = true; + } + + // Lipsync component process the audio data to generate the lipsync + if (!(ConvaiLipSync && ConvaiLipSync->RequiresPrecomputedFaceData())) + { + PlayLipSync(VoiceData, VoiceDataSize, SampleRate, NumChannels); + } +} + +void UConvaiAudioStreamer::ForcePlayVoice(USoundWave* VoiceToPlay) +{ + int32 SampleRate; + int32 NumChannels; + TArray PCMData = UConvaiUtils::ExtractPCMDataFromSoundWave(VoiceToPlay, SampleRate, NumChannels); + PlayVoiceData(PCMData.GetData(), PCMData.Num(), false, SampleRate, NumChannels); +} + +void UConvaiAudioStreamer::StopVoice() +{ + // Reset the audio end time + AudioEndTime = 0.0; + + // Clear audio and lipsync buffers + AudioBuffer.Reset(); + LipSyncBuffer.Reset(); + + // Reset tracking variables + TotalPlayingDuration = 0.0f; + TotalBufferedDuration = 0.0f; + + // Transition to Stopped state + TransitionToState(EAudioLipSyncState::Stopped); + + // If we're not talking and buffers are empty, nothing to do + if (!IsTalking) + return; + + // Reset audio playback + if (SoundWaveProcedural) + SoundWaveProcedural->ResetAudio(); + + // Reset lipsync state + StopLipSync(); + + // Notify that audio has finished + onAudioFinished(); + + // Clear any pending timers + ClearAudioFinishedTimer(); +} + +void UConvaiAudioStreamer::PauseVoice() +{ + if (bIsPaused) + return; + + GetWorld()->GetTimerManager().PauseTimer(AudioFinishedTimerHandle); + SetPaused(true); + IsTalking = false; +} + +void UConvaiAudioStreamer::ResumeVoice() +{ + if (!bIsPaused) + return; + + AsyncTask(ENamedThreads::GameThread, [this] + { + GetWorld()->GetTimerManager().UnPauseTimer(AudioFinishedTimerHandle); + }); + SetPaused(false); +} + +void UConvaiAudioStreamer::StopVoiceWithFade(float InVoiceFadeOutDuration) +{ + if (!IsTalking && AudioBuffer.IsEmpty() && LipSyncBuffer.IsEmpty()) + return; + + if (!IsValid(GetWorld())) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("PlayVoiceData: GetWorld() is Invalid!")); + return; + } + + float CurrentRemainingAudioDuration = GetWorld()->GetTimerManager().GetTimerRemaining(AudioFinishedTimerHandle); + TotalVoiceFadeOutTime = FMath::Min(InVoiceFadeOutDuration, CurrentRemainingAudioDuration); + RemainingVoiceFadeOutTime = TotalVoiceFadeOutTime; + + if (TotalVoiceFadeOutTime <= 0) + StopVoice(); +} + +void UConvaiAudioStreamer::ResetVoiceFade() +{ + if (IsValid(SoundWaveProcedural)) + SoundWaveProcedural->Volume = 1.0f; + TotalVoiceFadeOutTime = 0; + RemainingVoiceFadeOutTime = 0; +} + +void UConvaiAudioStreamer::UpdateVoiceFade(float DeltaTime) +{ + if (!IsVoiceCurrentlyFading() || !IsValid(SoundWaveProcedural)) + return; + RemainingVoiceFadeOutTime -= DeltaTime; + if (RemainingVoiceFadeOutTime <= 0) + { + StopVoice(); + return; + } + float AudioVolume = RemainingVoiceFadeOutTime / TotalVoiceFadeOutTime; + SoundWaveProcedural->Volume = AudioVolume; +} + +bool UConvaiAudioStreamer::IsVoiceCurrentlyFading() +{ + return (TotalVoiceFadeOutTime > 0 && IsTalking); +} + +void UConvaiAudioStreamer::ClearAudioFinishedTimer() +{ + if (!IsValid(GetWorld())) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("ClearAudioFinishedTimer: GetWorld() is Invalid!")); + return; + } + GetWorld()->GetTimerManager().ClearTimer(AudioFinishedTimerHandle); +} + +// Not used +bool UConvaiAudioStreamer::IsLocal() +{ + const ENetMode NetMode = GetNetMode(); + + if (NetMode == NM_Standalone) + { + // Not networked. + return true; + } + + if (NetMode == NM_Client && GetOwner()->GetLocalRole() == ROLE_AutonomousProxy) + { + // Networked client in control. + return true; + } + + if (GetOwner()->GetRemoteRole() != ROLE_AutonomousProxy && GetOwner()->GetLocalRole() == ROLE_Authority) + { + // Local authority in control. + return true; + } + return false; +} + +IConvaiLipSyncInterface* UConvaiAudioStreamer::FindFirstLipSyncComponent() +{ + // Find the LipSync component + auto LipSyncComponents = (GetOwner()->GetComponentsByInterface(UConvaiLipSyncInterface::StaticClass())); + if (LipSyncComponents.Num()) + { + SetLipSyncComponent(LipSyncComponents[0]); + } + return ConvaiLipSync; +} + +bool UConvaiAudioStreamer::SetLipSyncComponent(UActorComponent* LipSyncComponent) +{ + if (!CanUseLipSync()) + return false; + + // Find the LipSync component + if (LipSyncComponent && LipSyncComponent->GetClass()->ImplementsInterface(UConvaiLipSyncInterface::StaticClass())) + { + ConvaiLipSync = Cast(LipSyncComponent); + ConvaiLipSync->OnVisemesDataReady.BindUObject(this, &UConvaiAudioStreamer::OnVisemesReadyCallback); + + // Should lipsync and audio be synchronized + EnableSync = UConvaiSettingsUtils::GetParamValueAsFloat("EnableSync", EnableSync) ? EnableSync : 1; + EnableSync = EnableSync >= 0.5 ? 1 : 0; + + // Update bIsSyncingAudioAndLipSync based on the new component + bIsSyncingAudioAndLipSync = EnableSync && SupportsLipSync() && ConvaiLipSync->RequiresPrecomputedFaceData() && !ReplicateVoiceToNetwork; + + return true; + } + else + { + ConvaiLipSync = nullptr; + + // Update bIsSyncingAudioAndLipSync + bIsSyncingAudioAndLipSync = false; + + return false; + } +} + +bool UConvaiAudioStreamer::SupportsLipSync() +{ + if (!CanUseLipSync()) + return false; + + if (ConvaiLipSync == nullptr) + { + FindFirstLipSyncComponent(); + } + return ConvaiLipSync != nullptr; +} + +IConvaiVisionInterface* UConvaiAudioStreamer::FindFirstVisionComponent() +{ + // Find the Vision component + auto VisionComponents = (GetOwner()->GetComponentsByInterface(UConvaiVisionInterface::StaticClass())); + if (VisionComponents.Num()) + { + SetVisionComponent(VisionComponents[0]); + } + return ConvaiVision; +} + +bool UConvaiAudioStreamer::SetVisionComponent(UActorComponent* VisionComponent) +{ + if (!CanUseVision()) + return false; + + // Find the Vision component + if (VisionComponent && VisionComponent->GetClass()->ImplementsInterface(UConvaiVisionInterface::StaticClass())) + { + ConvaiVision = Cast(VisionComponent); + return true; + } + else + { + ConvaiVision = nullptr; + return false; + } +} + +bool UConvaiAudioStreamer::SupportsVision() +{ + if (!CanUseVision()) + return false; + + if (ConvaiVision == nullptr) + { + FindFirstVisionComponent(); + } + return ConvaiVision != nullptr; +} + +void UConvaiAudioStreamer::BeginPlay() +{ + Super::BeginPlay(); + + // Initialize state + CurrentState = EAudioLipSyncState::Stopped; + + // Initialize tracking variables + TotalPlayingDuration = 0.0f; + TotalBufferedDuration = 0.0f; + + // Initialize configuration parameters + + // Minimum buffer duration in seconds + MinBufferDuration = UConvaiSettingsUtils::GetParamValueAsFloat("MinBufferDuration", MinBufferDuration) ? MinBufferDuration : 0.9f; + MinBufferDuration = MinBufferDuration < 0 ? 0 : MinBufferDuration; + + // Ratio of lipsync to audio duration required + AudioLipSyncRatio = UConvaiSettingsUtils::GetParamValueAsFloat("AudioLipSyncRatio", AudioLipSyncRatio) ? AudioLipSyncRatio : 0.1f; + AudioLipSyncRatio = AudioLipSyncRatio < 0 ? 0 : AudioLipSyncRatio; + AudioLipSyncRatio = AudioLipSyncRatio > 1 ? 1 : AudioLipSyncRatio; + + // Initialize the audio component + bAutoActivate = true; + bAlwaysPlay = true; + + SoundWaveProcedural = NewObject(); + + if (ConvaiLipSync == nullptr) + FindFirstLipSyncComponent(); + + if (ConvaiVision == nullptr) + FindFirstVisionComponent(); +} + +void UConvaiAudioStreamer::TransitionToState(EAudioLipSyncState NewState) +{ + if (CurrentState == NewState) + return; + + // Use a simpler logging approach that doesn't require UEnum reflection + const TCHAR* CurrentStateStr = nullptr; + const TCHAR* NewStateStr = nullptr; + + switch (CurrentState) + { + case EAudioLipSyncState::Stopped: CurrentStateStr = TEXT("Stopped"); break; + case EAudioLipSyncState::Playing: CurrentStateStr = TEXT("Playing"); break; + case EAudioLipSyncState::WaitingOnLipSync: CurrentStateStr = TEXT("WaitingOnLipSync"); break; + case EAudioLipSyncState::WaitingOnAudio: CurrentStateStr = TEXT("WaitingOnAudio"); break; + } + + switch (NewState) + { + case EAudioLipSyncState::Stopped: NewStateStr = TEXT("Stopped"); break; + case EAudioLipSyncState::Playing: NewStateStr = TEXT("Playing"); break; + case EAudioLipSyncState::WaitingOnLipSync: NewStateStr = TEXT("WaitingOnLipSync"); break; + case EAudioLipSyncState::WaitingOnAudio: NewStateStr = TEXT("WaitingOnAudio"); break; + } + + CONVAI_LOG(ConvaiAudioStreamerLog, Log, TEXT("State transition: %s -> %s"), + CurrentStateStr, NewStateStr); + + CurrentState = NewState; + + // Handle state entry actions + switch (CurrentState) + { + case EAudioLipSyncState::Stopped: + // Clear buffers when stopping + AudioBuffer.Reset(); + LipSyncBuffer.Reset(); + break; + + case EAudioLipSyncState::Playing: + // Nothing special on entry to Playing state + break; + + case EAudioLipSyncState::WaitingOnLipSync: + // Nothing special on entry to WaitingOnLipSync state + break; + + case EAudioLipSyncState::WaitingOnAudio: + // Nothing special on entry to WaitingOnAudio state + break; + } +} + +// Handle received audio data +void UConvaiAudioStreamer::HandleAudioReceived(uint8* AudioData, uint32 AudioDataSize, bool ContainsHeaderData, uint32 SampleRate, uint32 NumChannels) +{ + // Calculate audio duration + uint32 PCM_DataSize = AudioDataSize; + if (ContainsHeaderData) + { + // Parse WAV header + FWaveModInfo WaveInfo; + if (WaveInfo.ReadWaveInfo(AudioData, AudioDataSize)) + { + PCM_DataSize = *WaveInfo.pWaveDataSize; + } + } + + float AudioDuration = UConvaiUtils::CalculateAudioDuration(PCM_DataSize, NumChannels, SampleRate, 2); + + // Add to buffer + if (AudioBuffer.IsEmpty()) + { + AudioBuffer.AppendData(AudioData, AudioDataSize); + AudioBuffer.Duration = AudioDuration; + AudioBuffer.SampleRate = SampleRate; + AudioBuffer.NumChannels = NumChannels; + } + else + { + AudioBuffer.AppendData(AudioData, AudioDataSize); + AudioBuffer.Duration += AudioDuration; + } + + // Update buffered duration + TotalBufferedDuration = AudioBuffer.Duration; + + // Handle based on current state + switch (CurrentState) + { + case EAudioLipSyncState::Stopped: + case EAudioLipSyncState::Playing: + case EAudioLipSyncState::WaitingOnAudio: + if (HasSufficientLipSync()) + { + if (HasSufficientAudio()) + { + TryPlayBufferedContent(); + } + else + { + TransitionToState(EAudioLipSyncState::WaitingOnAudio); + break; + } + } + else + { + TransitionToState(EAudioLipSyncState::WaitingOnLipSync); + } + break; + + case EAudioLipSyncState::WaitingOnLipSync: + // Just buffer, waiting for lipsync + break; + } +} + +// Handle received lipsync data +void UConvaiAudioStreamer::HandleLipSyncReceived(FAnimationSequence& FaceSequence) +{ + // Add to buffer + LipSyncBuffer.AddSequence(FaceSequence); + + // Handle based on current state + switch (CurrentState) + { + case EAudioLipSyncState::Stopped: + case EAudioLipSyncState::Playing: + case EAudioLipSyncState::WaitingOnLipSync: + if (HasSufficientLipSync()) + { + if (HasSufficientAudio()) + { + TryPlayBufferedContent(); + } + else + { + TransitionToState(EAudioLipSyncState::WaitingOnAudio); + break; + } + } + break; + + case EAudioLipSyncState::WaitingOnAudio: + // Just buffer, waiting for audio + break; + } +} + +// Check if we have sufficient lipsync data +bool UConvaiAudioStreamer::HasSufficientLipSync() +{ + if (!SupportsLipSync() || !ConvaiLipSync->RequiresPrecomputedFaceData() || !bIsSyncingAudioAndLipSync) + return true; + + float AudioDuration = AudioBuffer.GetTotalDuration(); + float LipSyncDuration = LipSyncBuffer.GetTotalDuration(); + + return LipSyncDuration >= MinBufferDuration || LipSyncDuration >= AudioDuration * AudioLipSyncRatio; +} + +// Check if we have sufficient audio data +bool UConvaiAudioStreamer::HasSufficientAudio() const +{ + if (AudioBuffer.IsEmpty()) + { + return false; + } + + // Get audio duration + float AudioDuration = AudioBuffer.GetTotalDuration(); + + // If we're not syncing audio and lipsync, just check against minimum buffer duration + if (!bIsSyncingAudioAndLipSync) + { + return AudioDuration >= MinBufferDuration; + } + + // Otherwise, check against both minimum duration and lipsync duration + float LipSyncDuration = LipSyncBuffer.GetTotalDuration(); + + return AudioDuration >= MinBufferDuration && AudioDuration >= LipSyncDuration; +} + +// Try to play buffered content +bool UConvaiAudioStreamer::TryPlayBufferedContent(bool force) +{ + if (force) + { + float AudioBufferDuration = AudioBuffer.GetTotalDuration(); + float PlayDuration = AudioBufferDuration; + if (PlayDuration <= 0.0f) + { + return false; + } + + // Play the content + PlayBufferedContent(PlayDuration); + + // Transition to Playing state + TransitionToState(EAudioLipSyncState::Playing); + + return true; + } + + if (AudioBuffer.IsEmpty() || (bIsSyncingAudioAndLipSync && SupportsLipSync() && ConvaiLipSync->RequiresPrecomputedFaceData() && LipSyncBuffer.IsEmpty())) + { + return false; + } + + // Calculate how much we can play + float AudioBufferDuration = AudioBuffer.GetTotalDuration(); + float LipSyncBufferDuration = LipSyncBuffer.GetTotalDuration(); + float PlayDuration = bIsSyncingAudioAndLipSync? FMath::Min(AudioBufferDuration, LipSyncBufferDuration) : AudioBufferDuration; + if (PlayDuration <= 0.0f) + { + return false; + } + + // Play the content + PlayBufferedContent(PlayDuration); + + // Transition to Playing state + TransitionToState(EAudioLipSyncState::Playing); + + return true; +} + +// Play buffered content up to the specified duration +void UConvaiAudioStreamer::PlayBufferedContent(float Duration) +{ + // Update tracking variables + TotalPlayingDuration += Duration; + TotalBufferedDuration -= Duration; + + // Play audio + if (!AudioBuffer.IsEmpty()) + { + // Calculate how many bytes to play based on sample rate, channels, and bytes per sample + uint32 BytesToPlay = AudioBuffer.Data.RingDataUsage(); + + if (Duration < AudioBuffer.Duration) + { + // Calculate samples to play based on duration + uint32 SampleRate = AudioBuffer.SampleRate; + uint32 NumChannels = AudioBuffer.NumChannels; + uint32 BytesPerSample = 2; // Assuming 16-bit PCM (2 bytes per sample) + + // Calculate total samples to play (per channel) + uint32 SamplesToPlay = FMath::FloorToInt(Duration * SampleRate); + + // Calculate total bytes to play (all channels) + BytesToPlay = SamplesToPlay * NumChannels * BytesPerSample; + + // Ensure we don't exceed the buffer size + BytesToPlay = FMath::Min(BytesToPlay, AudioBuffer.Data.RingDataUsage()); + + // Ensure we're aligned to a sample boundary + BytesToPlay = (BytesToPlay / (NumChannels * BytesPerSample)) * (NumChannels * BytesPerSample); + } + + // Ensure our temp buffer is large enough + if ((uint32)TempAudioBuffer.Max() < BytesToPlay) + { + // Only resize if necessary + TempAudioBuffer.SetNumUninitialized(BytesToPlay); + } + else + { + // Just set the used size without reallocating + TempAudioBuffer.SetNumUninitialized(BytesToPlay, false); + } + + // Get the data from the ring buffer + AudioBuffer.GetData(TempAudioBuffer.GetData(), BytesToPlay); + + // Play the audio + PlayVoiceData(TempAudioBuffer.GetData(), BytesToPlay, false, + AudioBuffer.SampleRate, AudioBuffer.NumChannels); + + // Remove played data from buffer + if (BytesToPlay >= AudioBuffer.Data.RingDataUsage()) + { + AudioBuffer.Reset(); + } + else + { + // Efficiently remove data from the ring buffer + AudioBuffer.RemoveData(BytesToPlay); + + // Recalculate the remaining duration based on the actual bytes removed + float PlayedDuration = (float)BytesToPlay / ((float)AudioBuffer.SampleRate * (float)AudioBuffer.NumChannels * 2.0f); + AudioBuffer.Duration -= PlayedDuration; + } + } + + // Play lipsync + if (!LipSyncBuffer.IsEmpty() && SupportsLipSync()) + { + float RemainingDuration = Duration; + float TotalPlayedLipSyncDuration = 0.0f; + TArray SequencesToPlay; + + // First, collect complete sequences that fit within our duration + for (int32 i = 0; i < LipSyncBuffer.Sequences.Num() && RemainingDuration > 0.0f; ++i) + { + const FAnimationSequence& Sequence = LipSyncBuffer.Sequences[i]; + + if (Sequence.Duration <= RemainingDuration) + { + // This sequence fits completely + SequencesToPlay.Add(Sequence); + RemainingDuration -= Sequence.Duration; + TotalPlayedLipSyncDuration += Sequence.Duration; + } + else + { + // This sequence is too long - we need to split it + FAnimationSequence PartialSequence; + PartialSequence.FrameRate = Sequence.FrameRate; + + // Calculate how many frames we can include + float FrameDuration = 1.0f / Sequence.FrameRate; + int32 FramesToInclude = FMath::FloorToInt(RemainingDuration / FrameDuration); + + if (FramesToInclude > 0) + { + // Copy the frames we can include + for (int32 j = 0; j < FramesToInclude && j < Sequence.AnimationFrames.Num(); ++j) + { + PartialSequence.AnimationFrames.Add(Sequence.AnimationFrames[j]); + } + + // Calculate actual duration of partial sequence + PartialSequence.Duration = FramesToInclude * FrameDuration; + + // Add to play list + SequencesToPlay.Add(PartialSequence); + TotalPlayedLipSyncDuration += PartialSequence.Duration; + + // Create remainder sequence for the buffer + FAnimationSequence RemainderSequence; + RemainderSequence.FrameRate = Sequence.FrameRate; + + // Copy the remaining frames + for (int32 j = FramesToInclude; j < Sequence.AnimationFrames.Num(); ++j) + { + RemainderSequence.AnimationFrames.Add(Sequence.AnimationFrames[j]); + } + + // Calculate duration of remainder + RemainderSequence.Duration = Sequence.Duration - PartialSequence.Duration; + + // Replace the original sequence with the remainder + LipSyncBuffer.Sequences[i] = RemainderSequence; + } + + // We've used all our duration + RemainingDuration = 0.0f; + break; + } + } + + // Play all the sequences we collected + for (const FAnimationSequence& Sequence : SequencesToPlay) + { + PlayLipSyncWithPrecomputedFacialAnimation(Sequence); + } + + // Remove completely played sequences from buffer + int32 SequencesToRemove = 0; + for (int32 i = 0; i < LipSyncBuffer.Sequences.Num(); ++i) + { + if (i < SequencesToPlay.Num() && LipSyncBuffer.Sequences[i].Duration == SequencesToPlay[i].Duration) + { + SequencesToRemove++; + } + else + { + break; + } + } + + if (SequencesToRemove > 0) + { + LipSyncBuffer.Sequences.RemoveAt(0, SequencesToRemove); + LipSyncBuffer.TotalDuration -= TotalPlayedLipSyncDuration; + } + } +} + +void UConvaiAudioStreamer::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) +{ + Super::TickComponent(DeltaTime, TickType, ThisTickFunction); + + UpdateVoiceFade(DeltaTime); + + int32 BytesPerFrame = EncoderFrameSize * EncoderNumChannels * sizeof(opus_int16); + if (AudioDataBuffer.Num() >= BytesPerFrame && Encoder) + { + // Buffer to hold encoded data + uint8* CurrentEncodedAudioDataPtr = (uint8*)malloc(AudioDataBuffer.Num()); + uint32 CurrentEncodedAudioDataSize = AudioDataBuffer.Num(); + + // Encode the Audio data + uint32 remainder = Encode(AudioDataBuffer.GetData(), AudioDataBuffer.Num(), CurrentEncodedAudioDataPtr, CurrentEncodedAudioDataSize); + + // Remove encoded data + uint32 SizeOfDataBeforeEncoding = AudioDataBuffer.Num() - remainder; + AudioDataBuffer.RemoveAt(0, SizeOfDataBeforeEncoding); + + // Send the encoded data over the network + ProcessEncodedVoiceData(TArray(CurrentEncodedAudioDataPtr, CurrentEncodedAudioDataSize), EncoderSampleRate, EncoderNumChannels, SizeOfDataBeforeEncoding); + + // Free the Encoded data buffer + free(CurrentEncodedAudioDataPtr); + + //CONVAI_LOG(ConvaiAudioStreamerLog, Log, TEXT("Encoder Received %d bytes and Outputted %d bytes"), SizeOfDataBeforeEncoding, CurrentEncodedAudioDataSize); + //CONVAI_LOG(ConvaiAudioStreamerLog, Log, TEXT("Remaining %d bytes"), AudioDataBuffer.Num()); + } +} + +void UConvaiAudioStreamer::BeginDestroy() +{ + DestroyOpus(); + Super::BeginDestroy(); +} + +void UConvaiAudioStreamer::DestroyOpus() +{ + DestroyOpusEncoder(); + DestroyOpusDecoder(); + +} + +void UConvaiAudioStreamer::PlayLipSyncWithPrecomputedFacialAnimationSynced(FAnimationSequence& FaceSequence) +{ + // If we don't need lipsync synchronization, just play the lipsync directly + if (!bIsSyncingAudioAndLipSync) + { + PlayLipSyncWithPrecomputedFacialAnimation(FaceSequence); + return; + } + + // Otherwise, handle the lipsync through our state machine + HandleLipSyncReceived(FaceSequence); +} + +void UConvaiAudioStreamer::PlayLipSyncWithPrecomputedFacialAnimation(FAnimationSequence FaceSequence) +{ + if (SupportsLipSync() && ConvaiLipSync->RequiresPrecomputedFaceData()) + { + ConvaiLipSync->ConvaiApplyPrecomputedFacialAnimation(nullptr, 0, 0, 0, FaceSequence); + } +} + +void UConvaiAudioStreamer::PlayLipSync(uint8* InPCMData, uint32 InPCMDataSize, uint32 InSampleRate, uint32 InNumChannels) +{ + if (SupportsLipSync()) + { + ConvaiLipSync->ConvaiInferFacialDataFromAudio(InPCMData, InPCMDataSize, InSampleRate, InNumChannels); + } +} + +void UConvaiAudioStreamer::StopLipSync() +{ + if (ConvaiLipSync) + { + ConvaiLipSync->ConvaiStopLipSync(); + ConvaiLipSync->OnVisemesDataReady.ExecuteIfBound(); // TODO (Mohamed): This is redundant and should be removed once all users update their OVR lipsync plugin + } +} + +void UConvaiAudioStreamer::PauseLipSync() +{ + if (ConvaiLipSync) + { + //ConvaiLipSync->ConvaiPauseLipSync(); + } +} + +void UConvaiAudioStreamer::ResumeLipSync() +{ + if (ConvaiLipSync) + { + //ConvaiLipSyncExtended->ConvaiResumeLipSync(); + } +} + +bool UConvaiAudioStreamer::CanUseLipSync() +{ + return false; +} + +void UConvaiAudioStreamer::ForceRecalculateLipsyncStartTime() +{ + if (SupportsLipSync()) + { + ConvaiLipSync->ForceRecalculateStartTime(); + } +} + +bool UConvaiAudioStreamer::CanUseVision() +{ + return false; +} + +void UConvaiAudioStreamer::OnVisemesReadyCallback() +{ + OnVisemesReady.Broadcast(); +} + +void UConvaiAudioStreamer::OnLipSyncTimeOut() +{ +} + +const TArray UConvaiAudioStreamer::GetVisemes() const +{ + if (ConvaiLipSync) + { + return ConvaiLipSync->ConvaiGetVisemes(); + } + return TArray(); +} + +const TArray UConvaiAudioStreamer::GetVisemeNames() const +{ + if (ConvaiLipSync) + { + return ConvaiLipSync->ConvaiGetVisemeNames(); + } + return TArray(); +} + +const TMap UConvaiAudioStreamer::ConvaiGetFaceBlendshapes() const +{ + if (ConvaiLipSync) + { + return ConvaiLipSync->ConvaiGetFaceBlendshapes(); + } + return TMap(); +} + +bool UConvaiAudioStreamer::GeneratesVisemesAsBlendshapes() +{ + if (SupportsLipSync()) + { + return ConvaiLipSync->GeneratesVisemesAsBlendshapes(); + } + return false; +} + +void UConvaiAudioStreamer::AddFaceDataToSend(FAnimationSequence FaceSequence) +{ + PlayLipSyncWithPrecomputedFacialAnimationSynced(FaceSequence); +} + +void UConvaiAudioStreamer::AddPCMDataToSend(TArray PCMDataToAdd, + bool ContainsHeaderData, + uint32 InSampleRate, + uint32 InNumChannels) { + // Validate input parameters to prevent crashes from corrupted data + const uint32 MaxReasonableBufferSize = 1024 * 1024 * 10; // 10 MB max + const uint32 MaxReasonableSampleRate = 192000; // 192 kHz max + const uint32 MaxReasonableChannels = 2; // 8 channels max + + // Check for invalid/corrupted parameters + if (PCMDataToAdd.Num() == 0 || PCMDataToAdd.Num() > (int32)MaxReasonableBufferSize) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("AddPCMDataToSend: Invalid PCMDataToAdd size: %d. Ignoring data."), PCMDataToAdd.Num()); + return; + } + + if (InSampleRate > MaxReasonableSampleRate) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("AddPCMDataToSend: Invalid InSampleRate value: %u. Ignoring data."), InSampleRate); + return; + } + + if (InNumChannels > MaxReasonableChannels) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("AddPCMDataToSend: Invalid InNumChannels value: %u. Ignoring data."), InNumChannels); + return; + } + + if (ContainsHeaderData) + { + // Parse Wav header + FWaveModInfo WaveInfo; + FString ErrorReason; + bool ParseSuccess = WaveInfo.ReadWaveInfo(PCMDataToAdd.GetData(), PCMDataToAdd.Num(), &ErrorReason); + // Set the number of channels and sample rate for the first time reading from the stream + if (ParseSuccess) + { + InSampleRate = *WaveInfo.pSamplesPerSec; + InNumChannels = *WaveInfo.pChannels; + + // Validate parsed values + if (InSampleRate == 0 || InSampleRate > MaxReasonableSampleRate) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("AddPCMDataToSend: Invalid parsed SampleRate: %u. Ignoring data."), InSampleRate); + return; + } + + if (InNumChannels == 0 || InNumChannels > MaxReasonableChannels) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("AddPCMDataToSend: Invalid parsed NumChannels: %u. Ignoring data."), InNumChannels); + return; + } + + PCMDataToAdd.RemoveAt(0, 44); // Remove the header bytes + } + else if (!ParseSuccess) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("AddPCMDataToSend: Failed to parse wav header, reason: %s"), *ErrorReason); + return; // Don't process invalid data + } + } + + InNumChannels = FMath::Max((int)InNumChannels, 1); + + TArray OutConverted; + + if (ReplicateVoiceToNetwork && (InNumChannels > 1 || InSampleRate > 24000)) + { + UConvaiUtils::ResampleAudio(InSampleRate, 24000, InNumChannels, true, (int16*)PCMDataToAdd.GetData(), PCMDataToAdd.Num()/2, OutConverted); + InSampleRate = 24000; + InNumChannels = 1; + } + else + { + OutConverted = TArray((int16*)PCMDataToAdd.GetData(), PCMDataToAdd.Num()/2); + } + + // Send it over to the encoder if we are to stream the voice audio to other clients + if (ReplicateVoiceToNetwork) + { + // Check that encoder is valid and able to encode the input sample rate and channels + if (InSampleRate != EncoderSampleRate || InNumChannels != EncoderNumChannels) + { + AudioDataBuffer.Reset(); + DestroyOpusEncoder(); + InitEncoder(InSampleRate, InNumChannels, EAudioEncodeHint::VoiceEncode_Voice); + CONVAI_LOG(ConvaiAudioStreamerLog, Log, TEXT("Initialized Encoder with SampleRate:%d and Channels:%d"), EncoderSampleRate, EncoderNumChannels); + } + AudioDataBuffer.Append((uint8*)OutConverted.GetData(), OutConverted.Num()*2); + } + else if (!ShouldMuteLocal()) + { + // Just play it locally + PlayVoiceSynced((uint8*)OutConverted.GetData(), OutConverted.Num()*2, false, InSampleRate, InNumChannels); + } +} + +float UConvaiAudioStreamer::GetRemainingContentDuration() +{ + // If we're not talking, return 0 + if (!IsTalking) + return 0.0f; + + // Calculate buffered durations + float BufferedAudioDuration = AudioBuffer.IsEmpty() ? 0.0f : AudioBuffer.Duration; + float BufferedLipSyncDuration = LipSyncBuffer.IsEmpty() ? 0.0f : LipSyncBuffer.TotalDuration; + + // Check if we have sufficient audio + if (!HasSufficientAudio()) + return 0.0f; + + // If we need synced lipsync, also check if we have sufficient lipsync + if (bIsSyncingAudioAndLipSync && !HasSufficientLipSync()) + return 0.0f; + + // For audio-only playback, return audio duration + if (!bIsSyncingAudioAndLipSync) + return BufferedAudioDuration; + + // For synced playback, return the minimum of audio and lipsync duration + return FMath::Min(BufferedAudioDuration, BufferedLipSyncDuration); +} + +void UConvaiAudioStreamer::onAudioStarted() +{ + AsyncTask(ENamedThreads::GameThread, [this] { + OnStartedTalking.Broadcast(); + }); + +} + +void UConvaiAudioStreamer::onAudioFinished() +{ + CONVAI_LOG(ConvaiAudioStreamerLog, Log, TEXT("onAudioFinished")); + + // Reset the audio end time + AudioEndTime = 0.0; + TotalPlayingDuration = 0.0f; + + // Broadcast that audio has finished + AsyncTask(ENamedThreads::GameThread, [this] { + OnFinishedTalking.Broadcast(); + }); + + IsTalking = false; +} + +bool UConvaiAudioStreamer::InitEncoder(int32 InSampleRate, int32 InNumChannels, EAudioEncodeHint EncodeHint) +{ + if (InSampleRate != 8000 && + InSampleRate != 12000 && + InSampleRate != 16000 && + InSampleRate != 24000 && + InSampleRate != 48000) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("Voice encoder doesn't support %d hz"), InSampleRate); + return false; + } + + if (InNumChannels < 1 || InNumChannels > 2) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("Voice encoder only supports 1 or 2 channels")); + return false; + } + + EncoderSampleRate = InSampleRate; + EncoderNumChannels = InNumChannels; + + // 20ms frame sizes are a good choice for most applications (1000ms / 20ms = 50) + EncoderFrameSize = EncoderSampleRate / NUM_OPUS_FRAMES_PER_SEC; + //MaxFrameSize = FrameSize * MAX_OPUS_FRAMES; + + int32 EncError = 0; + + const int32 Application = (EncodeHint == EAudioEncodeHint::VoiceEncode_Audio) ? OPUS_APPLICATION_AUDIO : OPUS_APPLICATION_VOIP; + + const int32 EncSize = opus_encoder_get_size(EncoderNumChannels); + Encoder = (OpusEncoder*)FMemory::Malloc(EncSize); + EncError = opus_encoder_init(Encoder, EncoderSampleRate, EncoderNumChannels, Application); + + + if (EncError == OPUS_OK) + { + // Turn on variable bit rate encoding + const int32 UseVbr = 1; + opus_encoder_ctl(Encoder, OPUS_SET_VBR(UseVbr)); + + // Turn off constrained VBR + const int32 UseCVbr = 0; + opus_encoder_ctl(Encoder, OPUS_SET_VBR_CONSTRAINT(UseCVbr)); + + // Complexity (1-10) + const int32 Complexity = 1; + opus_encoder_ctl(Encoder, OPUS_SET_COMPLEXITY(Complexity)); + + // Forward error correction + const int32 InbandFEC = 0; + opus_encoder_ctl(Encoder, OPUS_SET_INBAND_FEC(InbandFEC)); + } + else + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("Failed to init Opus Encoder: %s"), ANSI_TO_TCHAR(opus_strerror(EncError))); + DestroyOpus(); + } + + return EncError == OPUS_OK; +} + +int32 UConvaiAudioStreamer::Encode(const uint8* RawPCMData, uint32 RawDataSize, uint8* OutCompressedData, uint32& OutCompressedDataSize) +{ + check(Encoder); + + int32 HeaderSize = 0; + const int32 BytesPerFrame = EncoderFrameSize * EncoderNumChannels * sizeof(opus_int16); + const int32 MaxFramesEncoded = MAX_OPUS_UNCOMPRESSED_BUFFER_SIZE / BytesPerFrame; + + // total bytes / bytes per frame + const int32 NumFramesToEncode = FMath::Min((int32)RawDataSize / BytesPerFrame, MaxFramesEncoded); + const int32 DataRemainder = RawDataSize - NumFramesToEncode * BytesPerFrame; + const int32 RawDataStride = BytesPerFrame; + + //CONVAI_LOG(ConvaiAudioStreamerLog, Log, TEXT("NumFramesToEncode %d frames"), NumFramesToEncode); + + + if (NumFramesToEncode == 0) + { + // We can avoid saving out an empty header if we know we're not going to send anything + check(DataRemainder == RawDataSize); + OutCompressedDataSize = 0; + return DataRemainder; + } + + // Store the number of frames to be encoded + check(NumFramesToEncode < MAX_uint8); + OutCompressedData[0] = (uint8)NumFramesToEncode; + OutCompressedData[1] = EncoderGeneration; + HeaderSize += 2 * sizeof(uint8); + + // Store the offset to each encoded frame + uint16* CompressedOffsets = (uint16*)(OutCompressedData + HeaderSize); + const uint32 LengthOfCompressedOffsets = NumFramesToEncode * sizeof(uint16); + HeaderSize += LengthOfCompressedOffsets; + + // Space available after overhead + int32 AvailableBufferSize = OutCompressedDataSize - HeaderSize; + + // Start of the actual compressed data + uint8* CompressedDataStart = OutCompressedData + HeaderSize; + int32 CompressedBufferOffset = 0; + for (int32 i = 0; i < NumFramesToEncode; i++) + { + int32 CompressedLength = opus_encode(Encoder, (const opus_int16*)(RawPCMData + (i * RawDataStride)), EncoderFrameSize, CompressedDataStart + CompressedBufferOffset, AvailableBufferSize); + if (CompressedLength < 0) + { + const char* ErrorStr = opus_strerror(CompressedLength); + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("Failed to encode: [%d] %s"), CompressedLength, ANSI_TO_TCHAR(ErrorStr)); + + // Mark header as nothing encoded + OutCompressedData[0] = 0; + OutCompressedDataSize = 0; + return 0; + } + else if (CompressedLength != 1) + { + AvailableBufferSize -= CompressedLength; + CompressedBufferOffset += CompressedLength; + + check(CompressedBufferOffset < MAX_uint16); + CompressedOffsets[i] = (uint16)CompressedBufferOffset; + } + else + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("Nothing to encode!")); + CompressedOffsets[i] = 0; + } + } + + // End of buffer + OutCompressedDataSize = HeaderSize + CompressedBufferOffset; + + CONVAI_LOG(ConvaiAudioStreamerLog, Verbose, TEXT("OpusEncode[%d]: RawSize: %d HeaderSize: %d CompressedSize: %d NumFramesEncoded: %d Remains: %d"), EncoderGeneration, RawDataSize, HeaderSize, OutCompressedDataSize, NumFramesToEncode, DataRemainder); + + EncoderGeneration = (EncoderGeneration + 1) % MAX_uint8; + return DataRemainder; +} + +void UConvaiAudioStreamer::DestroyOpusEncoder() +{ + if (Encoder) + { + FMemory::Free(Encoder); + Encoder = nullptr; + } +} + +bool UConvaiAudioStreamer::InitDecoder(int32 InSampleRate, int32 InNumChannels) +{ + CONVAI_LOG(ConvaiAudioStreamerLog, Display, TEXT("DecoderVersion: %s"), ANSI_TO_TCHAR(opus_get_version_string())); + + if (InSampleRate != 8000 && + InSampleRate != 12000 && + InSampleRate != 16000 && + InSampleRate != 24000 && + InSampleRate != 48000) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("Voice decoder doesn't support %d hz"), InSampleRate); + return false; + } + + if (InNumChannels < 1 || InNumChannels > 2) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("Voice decoder only supports 1 or 2 channels")); + return false; + } + + DecoderSampleRate = InSampleRate; + DecoderNumChannels = InNumChannels; + + // 20ms frame sizes are a good choice for most applications (1000ms / 20ms = 50) + DecoderFrameSize = DecoderSampleRate / NUM_OPUS_FRAMES_PER_SEC; + + int32 DecError = 0; + + const int32 DecSize = opus_decoder_get_size(DecoderNumChannels); + Decoder = (OpusDecoder*)FMemory::Malloc(DecSize); + DecError = opus_decoder_init(Decoder, DecoderSampleRate, DecoderNumChannels); + + if (DecError == OPUS_OK) + { + + } + else + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("Failed to init Opus Decoder: %s"), ANSI_TO_TCHAR(opus_strerror(DecError))); + DestroyOpus(); + } + + return DecError == OPUS_OK; +} + +inline bool SanityCheckHeader(uint32 HeaderSize, uint32 CompressedDataSize, int32 NumFramesToDecode, const uint16* CompressedOffsets) +{ + bool bHeaderDataOk = (HeaderSize <= CompressedDataSize); + if (bHeaderDataOk) + { + // Validate that the sum of the encoded data sizes fit under the given amount of compressed data + uint16 LastCompressedOffset = 0; + int32 TotalCompressedBufferSize = 0; + for (int32 Idx = 0; Idx < NumFramesToDecode; Idx++) + { + // Offsets should be monotonically increasing (prevent later values intentionally reducing bad previous values) + if (CompressedOffsets[Idx] >= LastCompressedOffset) + { + TotalCompressedBufferSize += (CompressedOffsets[Idx] - LastCompressedOffset); + LastCompressedOffset = CompressedOffsets[Idx]; + } + else + { + bHeaderDataOk = false; + break; + } + } + + bHeaderDataOk = bHeaderDataOk && ((HeaderSize + TotalCompressedBufferSize) <= CompressedDataSize); + } + + return bHeaderDataOk; +} + +void UConvaiAudioStreamer::Decode(const uint8* InCompressedData, uint32 CompressedDataSize, uint8* OutRawPCMData, uint32& OutRawDataSize) +{ + uint32 HeaderSize = (2 * sizeof(uint8)); + if (!InCompressedData || (CompressedDataSize < HeaderSize)) + { + OutRawDataSize = 0; + return; + } + + const int32 BytesPerFrame = DecoderFrameSize * DecoderNumChannels * sizeof(opus_int16); + const int32 MaxFramesEncoded = MAX_OPUS_UNCOMPRESSED_BUFFER_SIZE / BytesPerFrame; + + const int32 NumFramesToDecode = InCompressedData[0]; + const int32 PacketGeneration = InCompressedData[1]; + + //CONVAI_LOG(ConvaiAudioStreamerLog, Log, TEXT("NumFramesToDecode %d frames"), NumFramesToDecode); + + if (PacketGeneration != DecoderLastGeneration + 1) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("Packet generation skipped from %d to %d"), DecoderLastGeneration, PacketGeneration); + } + + if ((NumFramesToDecode > 0) && (NumFramesToDecode <= MaxFramesEncoded)) + { + // Start of compressed data offsets + const uint16* CompressedOffsets = (const uint16*)(InCompressedData + HeaderSize); + uint32 LengthOfCompressedOffsets = NumFramesToDecode * sizeof(uint16); + HeaderSize += LengthOfCompressedOffsets; + + // At this point we have all our pointer fix up complete, but the data it references may be invalid in corrupt/spoofed packets + // Sanity check the numbers to make sure everything works out + if (SanityCheckHeader(HeaderSize, CompressedDataSize, NumFramesToDecode, CompressedOffsets)) + { + // Start of compressed data + const uint8* CompressedDataStart = (InCompressedData + HeaderSize); + + int32 CompressedBufferOffset = 0; + int32 DecompressedBufferOffset = 0; + uint16 LastCompressedOffset = 0; + + for (int32 i = 0; i < NumFramesToDecode; i++) + { + const int32 UncompressedBufferAvail = (OutRawDataSize - DecompressedBufferOffset); + + if (UncompressedBufferAvail >= (MAX_OPUS_FRAMES * BytesPerFrame)) + { + if (CompressedOffsets[i] > 0) + { + const int32 CompressedBufferSize = (CompressedOffsets[i] - LastCompressedOffset); + + check(Decoder); + const int32 NumDecompressedSamples = opus_decode(Decoder, + CompressedDataStart + CompressedBufferOffset, CompressedBufferSize, + (opus_int16*)(OutRawPCMData + DecompressedBufferOffset), MAX_OPUS_FRAME_SIZE, 0); + + if (NumDecompressedSamples < 0) + { + const char* ErrorStr = opus_strerror(NumDecompressedSamples); + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("Failed to decode: [%d] %s"), NumDecompressedSamples, ANSI_TO_TCHAR(ErrorStr)); + } + else + { + if (NumDecompressedSamples != DecoderFrameSize) + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("Unexpected decode result NumSamplesDecoded %d != FrameSize %d"), NumDecompressedSamples, DecoderFrameSize); + } + + // Advance within the decompressed output stream + DecompressedBufferOffset += (NumDecompressedSamples * DecoderNumChannels * sizeof(opus_int16)); + } + + // Advance within the compressed input stream + CompressedBufferOffset += CompressedBufferSize; + LastCompressedOffset = CompressedOffsets[i]; + } + else + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("Decompression buffer skipped a frame")); + // Nothing to advance within the compressed input stream + } + } + else + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("Decompression buffer too small to decode voice")); + break; + } + } + + OutRawDataSize = DecompressedBufferOffset; + } + else + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("Failed to decode: header corrupted")); + OutRawDataSize = 0; + } + } + else + { + CONVAI_LOG(ConvaiAudioStreamerLog, Warning, TEXT("Failed to decode: buffer corrupted")); + OutRawDataSize = 0; + } + + CONVAI_LOG(ConvaiAudioStreamerLog, Verbose, TEXT("OpusDecode[%d]: RawSize: %d HeaderSize: %d CompressedSize: %d NumFramesDecoded: %d "), PacketGeneration, OutRawDataSize, HeaderSize, CompressedDataSize, NumFramesToDecode); + + DecoderLastGeneration = PacketGeneration; +} + +void UConvaiAudioStreamer::DestroyOpusDecoder() +{ + if (Decoder) + { + FMemory::Free(Decoder); + Decoder = nullptr; + } +} diff --git a/ConvAI/Convai/Source/Convai/Private/ConvaiChatBotProxy.cpp b/ConvAI/Convai/Source/Convai/Private/ConvaiChatBotProxy.cpp new file mode 100644 index 0000000..4fa89d5 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/ConvaiChatBotProxy.cpp @@ -0,0 +1,1764 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + +#include "ConvaiChatBotProxy.h" +#include "Sound/SoundWave.h" +#include "../Convai.h" +#include "ConvaiDefinitions.h" +#include "ConvaiUtils.h" +#include "Containers/UnrealString.h" +#include "Sound/SoundWave.h" +#include "Misc/Base64.h" +#include "Engine.h" +#include "JsonObjectConverter.h" +#include "RestAPI/ConvaiURL.h" + +#include "IImageWrapper.h" +#include "IImageWrapperModule.h" +#include "TextureResource.h" +#include "Engine/Texture2D.h" + + +DEFINE_LOG_CATEGORY(ConvaiBotHttpLog); + +namespace +{ + void AddURLPair(FString &Data, FString param, FString value) + { + Data += ("&" + param + "=" + value); + } + + // Define URL functions for all endpoints + static FString GetResponseURL() { return UConvaiURL::GetFullURL(TEXT("character/getResponse/"), false); } + static FString GetResponseFromAudioURL() { return UConvaiURL::GetFullURL(TEXT("character/getResponse"), false); } + static FString CreateCharacterURL() { return UConvaiURL::GetFullURL(TEXT("character/create"), false); } + static FString UpdateCharacterURL() { return UConvaiURL::GetFullURL(TEXT("character/update"), false); } + static FString GetCharacterDetailsURL() { return UConvaiURL::GetFullURL(TEXT("character/get"), false); } + static FString ListCharactersURL() { return UConvaiURL::GetFullURL(TEXT("character/list"), false); } + static FString GetActionResponseURL() { return UConvaiURL::GetFullURL(TEXT("character/getActionResponse"), false); } + static FString GetAvailableVoicesURL() { return UConvaiURL::GetFullURL(TEXT("tts/voices"), false); } +} + +UConvaiChatBotQueryProxy* UConvaiChatBotQueryProxy::CreateChatBotQueryProxy(UObject* WorldContextObject, + FString UserQuery, + bool VoiceResponse, + FString CharID, + FString SessionID, + bool Classification, + TArray ClassLabels) +{ + UConvaiChatBotQueryProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->URL = GetResponseURL(); + Proxy->UserQuery = UserQuery; + Proxy->VoiceResponse = VoiceResponse; + Proxy->CharID = CharID; + Proxy->SessionID = SessionID; + + Proxy->Classification = Classification; + Proxy->ClassLabels = ClassLabels; + return Proxy; +} + + +void UConvaiChatBotQueryProxy::Activate() +{ + //CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed with code %d"), sum(1,6)); + + UWorld* World = WorldPtr.Get(); + + if (!World) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not get a pointer to world!")); + failed(); + return; + } + + FHttpModule* Http = &FHttpModule::Get(); + if (!Http) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not get a pointer to http module!")); + failed(); + return; + } + + TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + FString AuthKey = AuthHeaderAndKey.Value; + FString AuthHeader = AuthHeaderAndKey.Key; + + // Form Validation + if ( + !UConvaiFormValidation::ValidateAuthKey(AuthKey) + || !UConvaiFormValidation::ValidateInputText(UserQuery) + || !UConvaiFormValidation::ValidateCharacterID(CharID) + || !UConvaiFormValidation::ValidateSessionID(SessionID) + ) + { + failed(); + return; + } + + + // Create the request + FHttpRequestRef Request = Http->CreateRequest(); + Request->OnProcessRequestComplete().BindUObject(this, &UConvaiChatBotQueryProxy::onHttpRequestComplete); + + // Set request fields + Request->SetURL(URL); + Request->SetVerb("POST"); + Request->SetHeader(TEXT("User-Agent"), TEXT("X-UnrealEngine-Agent")); + Request->SetHeader(AuthHeader, AuthKey); + Request->SetHeader(TEXT("Content-Type"), TEXT("application/x-www-form-urlencoded")); + + // Prepare x-www-form-urlencoded data + FString Data; + AddURLPair(Data, "charID", CharID); + AddURLPair(Data, "sessionID", SessionID); + AddURLPair(Data, "responseLevel", FString("5")); + AddURLPair(Data, "voiceResponse", VoiceResponse? FString("True") : FString("False")); + AddURLPair(Data, "userText", UserQuery); + AddURLPair(Data, "classification", Classification? FString("True") : FString("False")); + AddURLPair(Data, "classLabels", FString::Join(ClassLabels, *FString(","))); + + Request->SetContentAsString(Data); + + //// prepare json data + //FString JsonString; + //TSharedRef> JsonWriter = TJsonWriterFactory::Create(&JsonString); + + //JsonWriter->WriteObjectStart(); + //JsonWriter->WriteValue("charID", CharID); + ////JsonWriter->WriteValue("api_key", API_key); + //JsonWriter->WriteValue("sessionID", SessionID); + ////JsonWriter->WriteValue("responseLevel", FString("5")); + ////if (VoiceResponse) + //JsonWriter->WriteValue("voiceResponse", VoiceResponse); + //JsonWriter->WriteValue("userText", UserQuery); + + //JsonWriter->WriteObjectEnd(); + //JsonWriter->Close(); + + //Request->SetContentAsString(JsonString); + + + //int Count = Request->GetContent().Num(); + //const uint8* In = Request->GetContent().GetData(); + //FString Result; + //Result.Empty(); + + //while (Count) + //{ + // int16 Value = *In; + + // Result += TCHAR(Value); + + // ++In; + // Count--; + //} + + //CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Content: %s"), *JsonString); + //CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Content: %s"), *Result); + + // Run the request + if (!Request->ProcessRequest()) failed(); +} + + +void UConvaiChatBotQueryProxy::onHttpRequestComplete(FHttpRequestPtr RequestPtr, FHttpResponsePtr ResponsePtr, bool bWasSuccessful) +{ + if (!ResponsePtr) + { + if (bWasSuccessful) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request succeded - But response pointer is invalid")); + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed - Response pointer is invalid")); + } + + failed(); + return; + } + if (!bWasSuccessful || ResponsePtr->GetResponseCode() < 200 || ResponsePtr->GetResponseCode() > 299) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed with code %d"), ResponsePtr->GetResponseCode()); + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Response:%s"), *ResponsePtr->GetContentAsString()); + + failed(); + return; + } + + FString Response = ResponsePtr->GetContentAsString(); + //CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP Response: %s"), *Response); + + TSharedPtr JsonValue; + // Create a reader pointer to read the json data + TSharedRef> Reader = TJsonReaderFactory<>::Create(Response); + + FString AudioContentString, SampleRateStr; + if (FJsonSerializer::Deserialize(Reader, JsonValue)) { + // Get the value of the json object by field name + BotText = JsonValue->AsObject()->GetStringField("text"); + NewSessionID = JsonValue->AsObject()->GetStringField("sessionID"); + if (VoiceResponse) + { + AudioContentString = JsonValue->AsObject()->GetStringField("audio"); + SampleRateStr = JsonValue->AsObject()->GetStringField("sample_rate"); + TArray OutByteArray; + if (!FBase64::Decode(AudioContentString, OutByteArray)) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not decode audio content, Response:%s"), *Response); + failed(); + return; + } + + // this->AudioContent = UConvaiUtils::PCMDataToSoundWav(OutByteArray, 1, FCString::Atoi(*SampleRateStr)); + this->AudioContent = UConvaiUtils::WavDataToSoundWave(OutByteArray); + + if (this->AudioContent == nullptr) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Failed to decode response content to a sound wave")); + failed(); + return; + } + + } + + if (BotText.Len() == 0 || NewSessionID.Len() == 0 || (AudioContentString.Len() == 0 && VoiceResponse)) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("One or more expected inputs was not received, Response:%s"), *Response); + //failed(); + //return; + } + // Find classified actions in response + ClassifiedAction = ""; + if (Classification) + { + ClassifiedAction = JsonValue->AsObject()->GetStringField("tag"); + } + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not deserialize response into Json, Response:%s"), *Response); + failed(); + return; + } + + success(); +} + + +void UConvaiChatBotQueryProxy::failed() +{ + OnFailure.Broadcast(AudioContent, BotText, NewSessionID, ClassifiedAction); + finish(); +} + + +void UConvaiChatBotQueryProxy::success() +{ + OnSuccess.Broadcast(AudioContent, BotText, NewSessionID, ClassifiedAction); + finish(); +} + + +void UConvaiChatBotQueryProxy::finish() +{ +} + + + +UConvaiChatBotQueryFromAudioProxy* UConvaiChatBotQueryFromAudioProxy::CreateChatBotQueryFromAudioProxy( + UObject* WorldContextObject, + FString Filename, + bool VoiceResponse, + FString CharID, + FString SessionID, + bool Classification, + TArray ClassLabels) +{ + UConvaiChatBotQueryFromAudioProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->URL = GetResponseFromAudioURL(); + + if (!FPaths::FileExists(Filename)) + { + // check if the file is relative to the save/BouncedWavFiles directory + FString SaveDir = FPaths::ConvertRelativePathToFull(FPaths::ProjectSavedDir()); + Filename = FPaths::Combine(SaveDir, FString("BouncedWavFiles"), Filename); + if (!FPaths::FileExists(Filename)) + { + //if (!FPaths::GameAgnosticSavedDir) + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("File does not exist!, %s"), *Filename); + Proxy->failed(); + return nullptr; + } + } + + // Read the file into a byte array + FFileHelper::LoadFileToArray(Proxy->Payload, *Filename, 0); + + Proxy->VoiceResponse = VoiceResponse; + Proxy->CharID = CharID; + Proxy->SessionID = SessionID; + + Proxy->Classification = Classification; + Proxy->ClassLabels = ClassLabels; + + return Proxy; +} + + +UConvaiChatBotQueryFromAudioProxy* UConvaiChatBotQueryFromAudioProxy::CreateChatBotQueryFromSoundWavProxy( + UObject* WorldContextObject, + USoundWave* SoundWave, + bool VoiceResponse, + FString CharID, + FString SessionID, + bool Classification, + TArray ClassLabels) +{ + UConvaiChatBotQueryFromAudioProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->URL = GetResponseFromAudioURL(); + + if (SoundWave == nullptr) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Sound wave is invalid!")); + Proxy->failed(); + return nullptr; + } + + + //Proxy->Payload.SetNum(SoundWave->TotalSamples * 2); + uint8* PCMData = nullptr; + //int32 numBytes = SoundWave->GeneratePCMData(PCMData, SoundWave->TotalSamples); + + if (SoundWave->RawPCMData == nullptr) { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("RawPCMData is invalid!")); + } + + //TArray AudioBuffer(SoundWave->RawPCMData, SoundWave->RawPCMDataSize); + TArray RawPCMData; + RawPCMData = TArray(SoundWave->RawPCMData, SoundWave->RawPCMDataSize); + + SerializeWaveFile(Proxy->Payload, RawPCMData.GetData(), RawPCMData.Num(), SoundWave->NumChannels, SoundWave->GetSampleRateForCurrentPlatform()); + + Proxy->VoiceResponse = VoiceResponse; + Proxy->CharID = CharID; + Proxy->SessionID = SessionID; + + Proxy->Classification = Classification; + Proxy->ClassLabels = ClassLabels; + + return Proxy; +} + +void UConvaiChatBotQueryFromAudioProxy::Activate() +{ + //CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed with code %d"), sum(1,6)); + + UWorld* World = WorldPtr.Get(); + + if (!World) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not get a pointer to world!")); + failed(); + return; + } + + FHttpModule* Http = &FHttpModule::Get(); + if (!Http) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not get a pointer to http module!")); + failed(); + return; + } + + if (Payload.Num() <= 44) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Payload size is too small, %d bytes!"), Payload.Num()); + failed(); + return; + } + + TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + FString AuthKey = AuthHeaderAndKey.Value; + FString AuthHeader = AuthHeaderAndKey.Key; + + // Form Validation + if ( + !UConvaiFormValidation::ValidateAuthKey(AuthKey) + || !UConvaiFormValidation::ValidateInputVoice(Payload) + || !UConvaiFormValidation::ValidateCharacterID(CharID) + || !UConvaiFormValidation::ValidateSessionID(SessionID) + ) + { + failed(); + return; + } + + TArray monoWavBytes; + // Change the wav file from 2 channels to 1 channel + UConvaiUtils::StereoToMono(Payload, monoWavBytes); + + FString responseLevel = "5"; + + // Create the request + FHttpRequestRef Request = Http->CreateRequest(); + Request->OnProcessRequestComplete().BindUObject(this, &UConvaiChatBotQueryFromAudioProxy::onHttpRequestComplete); + + // Set request fields + Request->SetURL(URL); + Request->SetVerb("POST"); + Request->SetHeader(TEXT("User-Agent"), TEXT("X-UnrealEngine-Agent")); + Request->SetHeader(AuthHeader, AuthKey); + Request->SetHeader("Content-Type", "multipart/form-data; boundary=blahblahsomeboundary"); + + // Set request fields + Request->SetURL(URL); + Request->SetVerb("POST"); + Request->SetHeader(TEXT("User-Agent"), TEXT("X-UnrealEngine-Agent")); + + Request->SetHeader("Content-Type", "multipart/form-data; boundary=blahblahsomeboundary"); + + // prepare request content data + FString a = "\r\n--blahblahsomeboundary\r\n"; + FString b = "Content-Disposition: form-data; name=\"charID\"\r\n\r\n"; + // charID + + FString c = "\r\n--blahblahsomeboundary\r\n"; + FString d = "Content-Disposition: form-data; name=\"sessionID\"\r\n\r\n"; + // sessionID + + FString e = "\r\n--blahblahsomeboundary\r\n"; + FString f = "Content-Disposition: form-data; name=\"responseLevel\"\r\n\r\n"; + // responseLevel + + FString g = "\r\n--blahblahsomeboundary\r\n"; + FString h = "Content-Disposition: form-data; name=\"voiceResponse\"\r\n\r\n"; + // voiceResponse + + FString i = "\r\n--blahblahsomeboundary\r\n"; + FString j = "Content-Disposition: form-data; name=\"classification\"\r\n\r\n"; + // classification + + FString k = "\r\n--blahblahsomeboundary\r\n"; + FString l = "Content-Disposition: form-data; name=\"classLabels\"\r\n\r\n"; + // classificationLabels + + FString m = "\r\n--blahblahsomeboundary\r\n"; + FString n = "Content-Disposition: form-data; name=\"file\"; filename=\"out.wav\"\r\n\r\n"; + + // UpFileRawData + FString o = "\r\n--blahblahsomeboundary--\r\n"; + + TArray data; + data.Append((uint8*)TCHAR_TO_UTF8(*a), a.Len()); + data.Append((uint8*)TCHAR_TO_UTF8(*b), b.Len()); + data.Append((uint8*)TCHAR_TO_UTF8(*CharID), CharID.Len()); + + data.Append((uint8*)TCHAR_TO_UTF8(*c), c.Len()); + data.Append((uint8*)TCHAR_TO_UTF8(*d), d.Len()); + data.Append((uint8*)TCHAR_TO_UTF8(*SessionID), SessionID.Len()); + + data.Append((uint8*)TCHAR_TO_UTF8(*e), e.Len()); + data.Append((uint8*)TCHAR_TO_UTF8(*f), f.Len()); + data.Append((uint8*)TCHAR_TO_UTF8(*responseLevel), responseLevel.Len()); + + data.Append((uint8*)TCHAR_TO_UTF8(*g), g.Len()); + data.Append((uint8*)TCHAR_TO_UTF8(*h), h.Len()); + data.Append((uint8*)TCHAR_TO_UTF8(VoiceResponse ? *FString("True") : *FString("False")), VoiceResponse ? 4 : 5); + + data.Append((uint8*)TCHAR_TO_UTF8(*i), i.Len()); + data.Append((uint8*)TCHAR_TO_UTF8(*j), j.Len()); + data.Append((uint8*)TCHAR_TO_UTF8(Classification ? *FString("True") : *FString("False")), Classification ? 4 : 5); + + if (Classification && ClassLabels.Num() > 0) + { + FString ClassLabelsStr = FString::Join(ClassLabels, *FString(",")); + data.Append((uint8*)TCHAR_TO_UTF8(*k), k.Len()); + data.Append((uint8*)TCHAR_TO_UTF8(*l), l.Len()); + data.Append((uint8*)TCHAR_TO_UTF8(*ClassLabelsStr), ClassLabelsStr.Len()); + } + + + data.Append((uint8*)TCHAR_TO_UTF8(*m), m.Len()); + data.Append((uint8*)TCHAR_TO_UTF8(*n), n.Len()); + data.Append(monoWavBytes); + //CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("%d bytes"), monoWavBytes.Num()); + + data.Append((uint8*)TCHAR_TO_UTF8(*o), o.Len()); + + Request->SetContent(data); + + // Run the request + if (!Request->ProcessRequest()) failed(); +} + + +void UConvaiChatBotQueryFromAudioProxy::onHttpRequestComplete(FHttpRequestPtr RequestPtr, FHttpResponsePtr ResponsePtr, bool bWasSuccessful) +{ + if (!ResponsePtr) + { + if (bWasSuccessful) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request succeded - But response pointer is invalid")); + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed - Response pointer is invalid")); + } + + failed(); + return; + } + if (!bWasSuccessful || ResponsePtr->GetResponseCode() < 200 || ResponsePtr->GetResponseCode() > 299) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed with code %d, Response:%s"), ResponsePtr->GetResponseCode(), *ResponsePtr->GetContentAsString()); + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Response:%s"), *ResponsePtr->GetContentAsString()); + + failed(); + return; + } + + FString Response = ResponsePtr->GetContentAsString(); + //CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed with code %s"), *Response); + + TSharedPtr JsonValue; + // Create a reader pointer to read the json data + TSharedRef> Reader = TJsonReaderFactory<>::Create(Response); + + FString AudioContentString, SampleRateStr; + if (FJsonSerializer::Deserialize(Reader, JsonValue)) { + // Get the value of the json object by field name + BotText = JsonValue->AsObject()->GetStringField("text"); + NewSessionID = JsonValue->AsObject()->GetStringField("sessionID"); + UserQuery = JsonValue->AsObject()->GetStringField("UserQuery"); + + if (VoiceResponse) + { + AudioContentString = JsonValue->AsObject()->GetStringField("audio"); + SampleRateStr = JsonValue->AsObject()->GetStringField("sample_rate"); + TArray OutByteArray; + if (!FBase64::Decode(AudioContentString, OutByteArray)) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not decode audio content, Response:%s"), *Response); + failed(); + return; + } + + // this->AudioContent = UConvaiUtils::PCMDataToSoundWav(OutByteArray, 1, FCString::Atoi(*SampleRateStr)); + this->AudioContent = UConvaiUtils::WavDataToSoundWave(OutByteArray); + + if (this->AudioContent == nullptr) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Failed to decode response content to a sound wave, Response:%s"), *Response); + failed(); + return; + } + if (BotText.Len() == 0 || UserQuery.Len() == 0 || NewSessionID.Len() == 0 || (AudioContentString.Len() == 0 && VoiceResponse)) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("One or more expected inputs was not received, Response:%s"), *Response); + //failed(); + //return; + } + + // Find classified actions in response + ClassifiedAction = ""; + if (Classification) + { + ClassifiedAction = JsonValue->AsObject()->GetStringField("tag"); + } + } + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not deserialize response into Json, Response:%s"), *Response); + failed(); + return; + } + + success(); +} + + +void UConvaiChatBotQueryFromAudioProxy::failed() +{ + OnFailure.Broadcast(AudioContent, BotText, UserQuery, NewSessionID, ClassifiedAction); + finish(); +} + + +void UConvaiChatBotQueryFromAudioProxy::success() +{ + OnSuccess.Broadcast(AudioContent, BotText, UserQuery, NewSessionID, ClassifiedAction); + finish(); +} + + +void UConvaiChatBotQueryFromAudioProxy::finish() +{ +} + + + +UConvaiChatBotCreateProxy* UConvaiChatBotCreateProxy::CreateCharacterCreateProxy(UObject* WorldContextObject, FString CharName, FString Voice, FString Backstory) +{ + UConvaiChatBotCreateProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->URL = CreateCharacterURL(); + + Proxy->CharName = CharName; + Proxy->Voice = Voice; + Proxy->Backstory = Backstory; + return Proxy; +} + + +void UConvaiChatBotCreateProxy::Activate() +{ + //CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed with code %d"), sum(1,6)); + + UWorld* World = WorldPtr.Get(); + + if (!World) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not get a pointer to world!")); + failed(); + return; + } + + FHttpModule* Http = &FHttpModule::Get(); + if (!Http) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not get a pointer to http module!")); + failed(); + return; + } + + TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + FString AuthKey = AuthHeaderAndKey.Value; + FString AuthHeader = AuthHeaderAndKey.Key; + + // Form Validation + if ( + !UConvaiFormValidation::ValidateAuthKey(AuthKey) + || !UConvaiFormValidation::ValidateCharacterName(CharName) + || !UConvaiFormValidation::ValidateBackstory(Backstory) + || !UConvaiFormValidation::ValidateVoiceType(Voice) + ) + { + failed(); + return; + } + + // Create the request + FHttpRequestRef Request = Http->CreateRequest(); + Request->OnProcessRequestComplete().BindUObject(this, &UConvaiChatBotCreateProxy::onHttpRequestComplete); + + // Set request fields + Request->SetURL(URL); + Request->SetVerb("POST"); + Request->SetHeader(TEXT("User-Agent"), TEXT("X-UnrealEngine-Agent")); + Request->SetHeader(AuthHeader, AuthKey); + Request->SetHeader(TEXT("Content-Type"), TEXT("application/json")); + + // prepare json data + FString JsonString; + TSharedRef> JsonWriter = TJsonWriterFactory::Create(&JsonString); + + JsonWriter->WriteObjectStart(); + JsonWriter->WriteValue("charName", CharName); + //JsonWriter->WriteValue("api_key", API_key); + JsonWriter->WriteValue("backstory", Backstory); + JsonWriter->WriteValue("voiceType", Voice); + + JsonWriter->WriteObjectEnd(); + JsonWriter->Close(); + + Request->SetContentAsString(JsonString); + + // Run the request + if (!Request->ProcessRequest()) failed(); +} + + +void UConvaiChatBotCreateProxy::onHttpRequestComplete(FHttpRequestPtr RequestPtr, FHttpResponsePtr ResponsePtr, bool bWasSuccessful) +{ + if (!ResponsePtr) + { + if (bWasSuccessful) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request succeded - But response pointer is invalid")); + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed - Response pointer is invalid")); + } + + failed(); + return; + } + if (!bWasSuccessful || ResponsePtr->GetResponseCode() < 200 || ResponsePtr->GetResponseCode() > 299) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed with code %d, and response:%s"), ResponsePtr->GetResponseCode(), *ResponsePtr->GetContentAsString()); + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Response:%s"), *ResponsePtr->GetContentAsString()); + + failed(); + return; + } + + FString Response = ResponsePtr->GetContentAsString(); + + TSharedPtr JsonValue; + // Create a reader pointer to read the json data + TSharedRef> Reader = TJsonReaderFactory<>::Create(Response); + + if (FJsonSerializer::Deserialize(Reader, JsonValue)) { + // Get the value of the json object by field name + CharID = JsonValue->AsObject()->GetStringField("charID"); + if (CharID.Len() == 0) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Failed to receive CharID, Response:%s"), *Response); + failed(); + return; + } + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not deserialize response into Json, Response:%s"), *Response); + failed(); + return; + } + + success(); +} + + +void UConvaiChatBotCreateProxy::failed() +{ + OnFailure.Broadcast(CharID); + finish(); +} + + +void UConvaiChatBotCreateProxy::success() +{ + OnSuccess.Broadcast(CharID); + finish(); +} + + +void UConvaiChatBotCreateProxy::finish() +{ +} + + + + + + + +UConvaiChatBotUpdateProxy* UConvaiChatBotUpdateProxy::CreateCharacterUpdateProxy(UObject* WorldContextObject, FString CharID, FString NewVoice, FString NewBackstory, FString NewCharName, FString NewLanguage) +{ + UConvaiChatBotUpdateProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->URL = UpdateCharacterURL(); + + Proxy->CharID = CharID; + Proxy->NewVoice = NewVoice; + Proxy->NewBackstory = NewBackstory; + Proxy->NewCharName = NewCharName; + Proxy->NewLanguage = NewLanguage; + return Proxy; +} + + +void UConvaiChatBotUpdateProxy::Activate() +{ + //CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed with code %d"), sum(1,6)); + + UWorld* World = WorldPtr.Get(); + + if (!World) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not get a pointer to world!")); + failed(); + return; + } + + FHttpModule* Http = &FHttpModule::Get(); + if (!Http) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not get a pointer to http module!")); + failed(); + return; + } + + TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + FString AuthKey = AuthHeaderAndKey.Value; + FString AuthHeader = AuthHeaderAndKey.Key; + + // Form Validation + if ( + !UConvaiFormValidation::ValidateAuthKey(AuthKey) + || !UConvaiFormValidation::ValidateCharacterID(CharID) + //|| !UConvaiFormValidation::ValidateCharacterName(NewCharName) + //|| !UConvaiFormValidation::ValidateBackstory(NewBackstory) + //|| !UConvaiFormValidation::ValidateVoiceType(NewVoice) + ) + { + failed(); + return; + } + + // Create the request + FHttpRequestRef Request = Http->CreateRequest(); + Request->OnProcessRequestComplete().BindUObject(this, &UConvaiChatBotUpdateProxy::onHttpRequestComplete); + + // Set request fields + Request->SetURL(URL); + Request->SetVerb("POST"); + Request->SetHeader(TEXT("User-Agent"), TEXT("X-UnrealEngine-Agent")); + Request->SetHeader(AuthHeader, AuthKey); + Request->SetHeader(TEXT("Content-Type"), TEXT("application/json")); + + + + //// prepare json data + FString JsonString; + TSharedRef> JsonWriter = TJsonWriterFactory::Create(&JsonString); + + JsonWriter->WriteObjectStart(); + JsonWriter->WriteValue("charID", CharID); + if (NewVoice.Len()) + JsonWriter->WriteValue("voiceType", NewVoice); + if (NewBackstory.Len()) + JsonWriter->WriteValue("backstory", NewBackstory); + if (NewCharName.Len()) + JsonWriter->WriteValue("charName", NewCharName); + if (NewLanguage.Len()) + JsonWriter->WriteValue("languageCode", NewLanguage); + + + JsonWriter->WriteObjectEnd(); + JsonWriter->Close(); + + Request->SetContentAsString(JsonString); + + // Run the request + if (!Request->ProcessRequest()) failed(); +} + + +void UConvaiChatBotUpdateProxy::onHttpRequestComplete(FHttpRequestPtr RequestPtr, FHttpResponsePtr ResponsePtr, bool bWasSuccessful) +{ + if (!ResponsePtr) + { + if (bWasSuccessful) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request succeded - But response pointer is invalid")); + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed - Response pointer is invalid")); + } + + failed(); + return; + } + if (!bWasSuccessful || ResponsePtr->GetResponseCode() < 200 || ResponsePtr->GetResponseCode() > 299) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed with code %d, and response:%s"), ResponsePtr->GetResponseCode(), *ResponsePtr->GetContentAsString()); + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Response:%s"), *ResponsePtr->GetContentAsString()); + + failed(); + return; + } + + FString Response = ResponsePtr->GetContentAsString(); + + TSharedPtr JsonValue; + // Create a reader pointer to read the json data + TSharedRef> Reader = TJsonReaderFactory<>::Create(Response); + + if (FJsonSerializer::Deserialize(Reader, JsonValue)) { + // Get the value of the json object by field name + FString status = JsonValue->AsObject()->GetStringField("STATUS"); + if (status.Len() == 0) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Failed to receive status, Response:%s"), *Response); + failed(); + return; + } + else if (status != "SUCCESS") + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("%s"), *Response); + failed(); + return; + } + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not deserialize response into Json, Response:%s"), *Response); + failed(); + return; + } + + success(); +} + + +void UConvaiChatBotUpdateProxy::failed() +{ + OnFailure.Broadcast(); + finish(); +} + + +void UConvaiChatBotUpdateProxy::success() +{ + OnSuccess.Broadcast(); + finish(); +} + + +void UConvaiChatBotUpdateProxy::finish() +{ +} + + + + + + + + +UConvaiChatBotGetDetailsProxy* UConvaiChatBotGetDetailsProxy::CreateCharacterGetDetailsProxy(UObject* WorldContextObject, FString CharID) +{ + UConvaiChatBotGetDetailsProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->URL = GetCharacterDetailsURL(); + + Proxy->CharID = CharID; + Proxy->HasReadyPlayerMeLink = false; + return Proxy; +} + + +void UConvaiChatBotGetDetailsProxy::Activate() +{ + UWorld* World = WorldPtr.Get(); + + if (!World) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not get a pointer to world!")); + failed(); + return; + } + + FHttpModule* Http = &FHttpModule::Get(); + if (!Http) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not get a pointer to http module!")); + failed(); + return; + } + + TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + FString AuthKey = AuthHeaderAndKey.Value; + FString AuthHeader = AuthHeaderAndKey.Key; + + // Form Validation + if ( + !UConvaiFormValidation::ValidateAuthKey(AuthKey) + || !UConvaiFormValidation::ValidateCharacterID(CharID) + ) + { + failed(); + return; + } + + // Create the request + FHttpRequestRef Request = Http->CreateRequest(); + Request->OnProcessRequestComplete().BindUObject(this, &UConvaiChatBotGetDetailsProxy::onHttpRequestComplete); + + // Set request fields + Request->SetURL(URL); + Request->SetVerb("POST"); + Request->SetHeader(TEXT("User-Agent"), TEXT("X-UnrealEngine-Agent")); + Request->SetHeader(AuthHeader, AuthKey); + Request->SetHeader(TEXT("Content-Type"), TEXT("application/json")); + + // prepare json data + FString JsonString; + TSharedRef> JsonWriter = TJsonWriterFactory::Create(&JsonString); + + JsonWriter->WriteObjectStart(); + JsonWriter->WriteValue("charID", CharID); + + JsonWriter->WriteObjectEnd(); + JsonWriter->Close(); + + Request->SetContentAsString(JsonString); + + // Run the request + if (!Request->ProcessRequest()) failed(); +} + + +void UConvaiChatBotGetDetailsProxy::onHttpRequestComplete(FHttpRequestPtr RequestPtr, FHttpResponsePtr ResponsePtr, bool bWasSuccessful) +{ + if (!ResponsePtr) + { + if (bWasSuccessful) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request succeded - But response pointer is invalid")); + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed - Response pointer is invalid")); + } + + failed(); + return; + } + if (!bWasSuccessful || ResponsePtr->GetResponseCode() < 200 || ResponsePtr->GetResponseCode() > 299) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed with code %d, and response:%s"), ResponsePtr->GetResponseCode(), *ResponsePtr->GetContentAsString()); + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Response:%s"), *ResponsePtr->GetContentAsString()); + + failed(); + return; + } + + //FString ResponseContent = ResponsePtr->GetContentAsString(); + //CONVAI_LOG(LogTemp, Log, TEXT("HTTP Response Content: %s"), *ResponseContent); + + FString Response = ResponsePtr->GetContentAsString(); + + TSharedPtr JsonValue; + // Create a reader pointer to read the json data + TSharedRef> Reader = TJsonReaderFactory<>::Create(Response); + + if (FJsonSerializer::Deserialize(Reader, JsonValue)) { + // Get the value of the json object by field name + character_name = JsonValue->AsObject()->GetStringField("character_name"); + //user_id = JsonValue->AsObject()->GetStringField("user_id"); + FString character_id = JsonValue->AsObject()->GetStringField("character_id"); + voice_type = JsonValue->AsObject()->GetStringField("voice_type"); + //timestamp = JsonValue->AsObject()->GetStringField("timestamp"); + backstory = JsonValue->AsObject()->GetStringField("backstory"); + LanguageCode = JsonValue->AsObject()->GetStringField("language_code"); + AvatarImageLink = FString("https://convai.com/_next/static/images/placeholder-3d-cab6463359f6ccedb4cda311c4056788.jpg"); + + const TSharedPtr* model_details; + if (JsonValue->AsObject()->TryGetObjectField(TEXT("model_details"), model_details)) + { + if ((*model_details)->TryGetStringField(TEXT("modelLink"), ReadyPlayerMeLink)) + { + // Make sure ReadyPlayerMeLink is not null or empty + if (ReadyPlayerMeLink != "NULL" && ReadyPlayerMeLink.Len() > 0) + { + HasReadyPlayerMeLink = true; + (*model_details)->TryGetStringField(TEXT("modelPlaceholder"), AvatarImageLink); + } + } + } + + if (character_name.Len() == 0 || voice_type.Len() == 0) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("One or more expected inputs was not received, Response:%s"), *Response); + failed(); + return; + } + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not deserialize response into Json, Response:%s"), *Response); + failed(); + return; + } + success(); +} + + +void UConvaiChatBotGetDetailsProxy::failed() +{ + OnFailure.Broadcast(character_name, + voice_type, + backstory, + LanguageCode, + HasReadyPlayerMeLink, + ReadyPlayerMeLink, + AvatarImageLink); + finish(); +} + + +void UConvaiChatBotGetDetailsProxy::success() +{ + OnSuccess.Broadcast(character_name, + voice_type, + backstory, + LanguageCode, + HasReadyPlayerMeLink, + ReadyPlayerMeLink, + AvatarImageLink); + finish(); +} + + +void UConvaiChatBotGetDetailsProxy::finish() +{ +} + + + + + + + + + + + + + +UConvaiChatBotGetCharsProxy* UConvaiChatBotGetCharsProxy::CreateCharacterGetCharsProxy(UObject* WorldContextObject) +{ + UConvaiChatBotGetCharsProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->URL = ListCharactersURL(); + + return Proxy; +} + + +void UConvaiChatBotGetCharsProxy::Activate() +{ + //CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed with code %d"), sum(1,6)); + + UWorld* World = WorldPtr.Get(); + + if (!World) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not get a pointer to world!")); + failed(); + return; + } + + FHttpModule* Http = &FHttpModule::Get(); + if (!Http) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not get a pointer to http module!")); + failed(); + return; + } + + TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + FString AuthKey = AuthHeaderAndKey.Value; + FString AuthHeader = AuthHeaderAndKey.Key; + + // Form Validation + if (!UConvaiFormValidation::ValidateAuthKey(AuthKey)) + { + failed(); + return; + } + + // Create the request + FHttpRequestRef Request = Http->CreateRequest(); + Request->OnProcessRequestComplete().BindUObject(this, &UConvaiChatBotGetCharsProxy::onHttpRequestComplete); + + // Set request fields + Request->SetURL(URL); + Request->SetVerb("POST"); + Request->SetHeader(TEXT("User-Agent"), TEXT("X-UnrealEngine-Agent")); + Request->SetHeader(AuthHeader, AuthKey); + Request->SetHeader(TEXT("Content-Type"), TEXT("application/json")); + + // Run the request + if (!Request->ProcessRequest()) failed(); +} + + +void UConvaiChatBotGetCharsProxy::onHttpRequestComplete(FHttpRequestPtr RequestPtr, FHttpResponsePtr ResponsePtr, bool bWasSuccessful) +{ + if (!ResponsePtr) + { + if (bWasSuccessful) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request succeded - But response pointer is invalid")); + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed - Response pointer is invalid")); + } + + failed(); + return; + } + if (!bWasSuccessful || ResponsePtr->GetResponseCode() < 200 || ResponsePtr->GetResponseCode() > 299) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed with code %d, and response:%s"), ResponsePtr->GetResponseCode(), *ResponsePtr->GetContentAsString()); + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Response:%s"), *ResponsePtr->GetContentAsString()); + + failed(); + return; + } + + FString Response = ResponsePtr->GetContentAsString(); + + TSharedPtr JsonValue; + // Create a reader pointer to read the json data + TSharedRef> Reader = TJsonReaderFactory<>::Create(Response); + + if (FJsonSerializer::Deserialize(Reader, JsonValue)) { + // Get the value of the json object by field name + const TArray< TSharedPtr > *OutArray; + if (JsonValue->AsObject()->TryGetArrayField("characters", OutArray)) + { + for (int i = 0; i < OutArray->Num(); i++) + { + FString CharID; + if ((*OutArray)[i]->AsObject()->TryGetStringField("character_id", CharID)) + { + CharIDs.Add(CharID); + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("CharIDs is received in an invalid format, Response:%s"), *Response); + failed(); + return; + } + } + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Failed to receive CharIDs, Response:%s"), *Response); + failed(); + return; + } + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not deserialize response into Json, Response:%s"), *Response); + failed(); + return; + } + + success(); +} + + +void UConvaiChatBotGetCharsProxy::failed() +{ + OnFailure.Broadcast(CharIDs); + finish(); +} + + +void UConvaiChatBotGetCharsProxy::success() +{ + OnSuccess.Broadcast(CharIDs); + finish(); +} + + +void UConvaiChatBotGetCharsProxy::finish() +{ +} + + + + + +UConvaiDownloadImageProxy* UConvaiDownloadImageProxy::CreateDownloadImageProxy(UObject* WorldContextObject, FString URL) +{ + UConvaiDownloadImageProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->URL = URL; + return Proxy; +} + +UConvaiDownloadImageProxy* UConvaiDownloadImageProxy::CreateDownloadImageForRPMProxy(UObject* WorldContextObject, FString URL) +{ + UConvaiDownloadImageProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + + // Define the base URL for the model + FString BaseUrl = TEXT("https://models.readyplayer.me/"); + + // Check if the URL starts with the base URL and ends with .glb + if (URL.StartsWith(BaseUrl) && URL.EndsWith(TEXT(".glb"))) + { + // Extract the model ID + FString ModelId; + int32 StartIndex = BaseUrl.Len(); + int32 EndIndex = URL.Len() - 4; // Exclude the length of ".glb" + ModelId = URL.Mid(StartIndex, EndIndex - StartIndex); + + // Generate the new URL + FString NewURL = BaseUrl + ModelId + TEXT(".png?pose=relaxed&background=0,0,60&size=512"); + + // Assign the new URL to the Proxy + Proxy->URL = NewURL; + } + else + { + // If URL doesn't match, just assign the original URL + Proxy->URL = URL; + } + + return Proxy; +} + +void UConvaiDownloadImageProxy::Activate() +{ + //CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed with code %d"), sum(1,6)); + + UWorld* World = WorldPtr.Get(); + + if (!World) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not get a pointer to world!")); + failed(); + return; + } + + FHttpModule* Http = &FHttpModule::Get(); + if (!Http) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not get a pointer to http module!")); + failed(); + return; + } + + // Remove trailing slash if present + if (URL.EndsWith("/")) { + URL.RemoveAt(URL.Len() - 1, 1, false); + } + + // Create the request + FHttpRequestRef Request = Http->CreateRequest(); + Request->OnProcessRequestComplete().BindUObject(this, &UConvaiDownloadImageProxy::onHttpRequestComplete); + Request->SetVerb("GET"); + Request->SetURL(URL); + + // Run the request + if (!Request->ProcessRequest()) failed(); +} + +void UConvaiDownloadImageProxy::onHttpRequestComplete(FHttpRequestPtr RequestPtr, FHttpResponsePtr ResponsePtr, bool bWasSuccessful) +{ + if (!ResponsePtr) + { + if (bWasSuccessful) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request succeded - But response pointer is invalid")); + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed - Response pointer is invalid")); + } + + failed(); + return; + } + if (!bWasSuccessful || ResponsePtr->GetResponseCode() < 200 || ResponsePtr->GetResponseCode() > 299) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed with code %d, and response:%s"), ResponsePtr->GetResponseCode(), *ResponsePtr->GetContentAsString()); + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Response:%s"), *ResponsePtr->GetContentAsString()); + + failed(); + return; + } + + if (ResponsePtr->GetContentLength() <= 0) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Failed to download image - Received 0 bytes")); + } + + // Load image data into memory buffer + TArray ImageData = ResponsePtr->GetContent(); + + // Detect image format using file extension in URL + FString FileExtension = FPaths::GetExtension(URL); + EImageFormat ImageFormat = EImageFormat::Invalid; + if (FileExtension.Equals("jpg", ESearchCase::IgnoreCase) || FileExtension.Equals("jpeg", ESearchCase::IgnoreCase)) { + ImageFormat = EImageFormat::JPEG; + } + else if (FileExtension.Equals("png", ESearchCase::IgnoreCase)) { + ImageFormat = EImageFormat::PNG; + } + else if (FileExtension.Equals("bmp", ESearchCase::IgnoreCase)) { + ImageFormat = EImageFormat::BMP; + } + + if (ImageFormat == EImageFormat::Invalid) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not detect Image format from URL - Assuming PNG")); + ImageFormat = EImageFormat::PNG; + } + + // Decode image using ImageWrapper + IImageWrapperModule& ImageWrapperModule = FModuleManager::LoadModuleChecked(FName("ImageWrapper")); + TSharedPtr ImageWrapper = ImageWrapperModule.CreateImageWrapper(ImageFormat); + if (ImageWrapper.IsValid() && ImageWrapper->SetCompressed(ImageData.GetData(), ImageData.Num())) + { + TArray UncompressedImageData; + if (ImageWrapper->GetRaw(ERGBFormat::BGRA, 8, UncompressedImageData)) + { + // Create texture from image data + Image = UTexture2D::CreateTransient(ImageWrapper->GetWidth(), ImageWrapper->GetHeight(), PF_B8G8R8A8); + if (Image) { + +#if ENGINE_MAJOR_VERSION < 5 + FTexture2DMipMap& Mip = Image->PlatformData->Mips[0]; +#else + FTexture2DMipMap& Mip = Image->GetPlatformData()->Mips[0]; +#endif + void* Data = Mip.BulkData.Lock(LOCK_READ_WRITE); + FMemory::Memcpy(Data, UncompressedImageData.GetData(), UncompressedImageData.Num()); + Mip.BulkData.Unlock(); + Image->UpdateResource(); + + success(); + return; + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not create Image texture")); + failed(); + } + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("ImageWrapper->GetRaw was not successful")); + failed(); + } + } + else + { + if (!ImageWrapper.IsValid()) + { + + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("ImageWrapper is not valid")); + } + else + { + //FString ImageFormatString = UEnum::GetValueAsString(ImageFormat); // Convert enum to string + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Image data was not in the expected form - expected: %d"), ImageFormat); + } + failed(); + } + + + + +} + +void UConvaiDownloadImageProxy::failed() +{ + OnFailure.Broadcast(Image); + finish(); +} + +void UConvaiDownloadImageProxy::success() +{ + OnSuccess.Broadcast(Image); + finish(); +} + +void UConvaiDownloadImageProxy::finish() +{ +} + + + + + + + + + + + + + + +UConvaiGetAvailableVoicesProxy* UConvaiGetAvailableVoicesProxy::CreateGetAvailableVoicesProxy(EVoiceType VoiceType, ELanguageType LanguageType, EGenderType Gender) +{ + UConvaiGetAvailableVoicesProxy* Proxy = NewObject(); + Proxy->URL = GetAvailableVoicesURL(); + Proxy->FilterVoiceType = VoiceType; + Proxy->FilterLanguageType = LanguageType; + Proxy->FilterGender = Gender; + return Proxy; +} + +void UConvaiGetAvailableVoicesProxy::Activate() +{ + FHttpModule* Http = &FHttpModule::Get(); + if (!Http) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Could not get a pointer to http module!")); + failed(); + return; + } + + TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + FString AuthKey = AuthHeaderAndKey.Value; + FString AuthHeader = AuthHeaderAndKey.Key; + + // Form Validation + if (!UConvaiFormValidation::ValidateAuthKey(AuthKey)) + { + failed(); + return; + } + + // Create the request + FHttpRequestRef Request = Http->CreateRequest(); + Request->OnProcessRequestComplete().BindUObject(this, &UConvaiGetAvailableVoicesProxy::onHttpRequestComplete); + + // Set request fields + Request->SetURL(URL); + Request->SetVerb("GET"); + Request->SetHeader(TEXT("User-Agent"), TEXT("X-UnrealEngine-Agent")); + Request->SetHeader(AuthHeader, AuthKey); + Request->SetHeader(TEXT("Content-Type"), TEXT("application/json")); + + // Run the request + if (!Request->ProcessRequest()) failed(); +} + +void UConvaiGetAvailableVoicesProxy::onHttpRequestComplete(FHttpRequestPtr RequestPtr, FHttpResponsePtr ResponsePtr, bool bWasSuccessful) +{ + if (!ResponsePtr) + { + if (bWasSuccessful) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request succeded - But response pointer is invalid")); + } + else + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed - Response pointer is invalid")); + } + + failed(); + return; + } + if (!bWasSuccessful || ResponsePtr->GetResponseCode() < 200 || ResponsePtr->GetResponseCode() > 299) + { + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("HTTP request failed with code %d, and response:%s"), ResponsePtr->GetResponseCode(), *ResponsePtr->GetContentAsString()); + CONVAI_LOG(ConvaiBotHttpLog, Warning, TEXT("Response:%s"), *ResponsePtr->GetContentAsString()); + + failed(); + return; + } + + FString Response = ResponsePtr->GetContentAsString(); + + if (!ParseAllVoiceData(Response, AvailableVoices.AvailableVoices)) + { + failed(); + return; + } + + if (AvailableVoices.AvailableVoices.IsEmpty()) + { + failed(); + return; + } + + success(); +} + +void UConvaiGetAvailableVoicesProxy::failed() +{ + OnFailure.Broadcast(FAvailableVoices()); +} + +void UConvaiGetAvailableVoicesProxy::success() +{ + OnSuccess.Broadcast(AvailableVoices); +} + +bool UConvaiGetAvailableVoicesProxy::ParseAllVoiceData(const FString& JsonString, TMap& FilteredVoices) +{ + TSharedRef> Reader = TJsonReaderFactory<>::Create(JsonString); + TSharedPtr JsonObject; + + if (FJsonSerializer::Deserialize(Reader, JsonObject) && JsonObject.IsValid()) + { + FString LanguagePrefix = GetLanguageCodeFromEnum(FilterLanguageType); + FString VoiceTypeString = GetVoiceTypeFromEnum(FilterVoiceType); + FString GenderTypeString = GetGenderFromEnum(FilterGender); + + for (const auto& VoiceTypeEntry : JsonObject->Values) + { + FString VoiceType = VoiceTypeEntry.Key; + const TArray>* VoiceArray; + + if (VoiceTypeEntry.Value->TryGetArray(VoiceArray)) + { + for (const TSharedPtr& Value : *VoiceArray) + { + TSharedPtr VoiceObject = Value->AsObject(); + if (VoiceObject.IsValid()) + { + FVoiceLanguageStruct VoiceData; + + if (ParseVoiceData(VoiceObject, VoiceData)) + { + VoiceData.VoiceType = VoiceType; + + // Apply the filters here directly + if (VoiceType == VoiceTypeString && VoiceData.Gender == GenderTypeString) + { + // Filter based on language code + FVoiceLanguageStruct FilteredVoiceData; + bool bShouldAdd = false; + + for (const FString& LangCode : VoiceData.LangCodes) + { + if (LangCode.StartsWith(LanguagePrefix)) + { + bShouldAdd = true; + FilteredVoiceData.LangCodes.Add(LangCode); + } + } + + if (bShouldAdd) + { + FilteredVoiceData.VoiceValue = VoiceData.VoiceValue; + FilteredVoices.Add(VoiceData.VoiceName, FilteredVoiceData); + } + } + } + } + } + } + } + return true; + } + + return false; +} + +bool UConvaiGetAvailableVoicesProxy::ParseVoiceData(TSharedPtr VoiceObject, FVoiceLanguageStruct& OutVoice) +{ + if (VoiceObject.IsValid()) + { + for (const auto& VoiceEntry : VoiceObject->Values) + { + OutVoice.VoiceName = VoiceEntry.Key; + + TSharedPtr VoiceDetails = VoiceEntry.Value->AsObject(); + if (VoiceDetails.IsValid()) + { + // Check for deployment env + const TArray>* Deployment_Env; + if (VoiceDetails->TryGetArrayField(TEXT("deployment_env"), Deployment_Env)) + { + bool bInProd = false; + for (const TSharedPtr& It : *Deployment_Env) + { + if (It->AsString().MatchesWildcard(TEXT("PRODUCTION"))) + { + bInProd = true; + break; + } + } + + if (!bInProd) + return false; + } + + + OutVoice.LangCodes.Empty(); + + const TArray>* LangCodesArray; + if (VoiceDetails->TryGetArrayField(TEXT("lang_codes"), LangCodesArray)) + { + for (const TSharedPtr& LangValue : *LangCodesArray) + { + OutVoice.LangCodes.Add(LangValue->AsString()); + } + } + VoiceDetails->TryGetStringField(TEXT("voice_value"), OutVoice.VoiceValue); + VoiceDetails->TryGetStringField(TEXT("gender"), OutVoice.Gender); + } + } + return true; + } + + return false; +} + +FString UConvaiGetAvailableVoicesProxy::GetLanguageCodeFromEnum(ELanguageType LanguageType) +{ + switch (LanguageType) + { + case ELanguageType::Arabic: return "ar"; + case ELanguageType::ChineseCantonese: return "zh"; + case ELanguageType::ChineseMandarin: return "zh"; + case ELanguageType::Dutch: return "nl"; + case ELanguageType::DutchBelgium: return "nl"; + case ELanguageType::English: return "en"; + case ELanguageType::Finnish: return "fi"; + case ELanguageType::French: return "fr"; + case ELanguageType::German: return "de"; + case ELanguageType::Hindi: return "hi"; + case ELanguageType::Italian: return "it"; + case ELanguageType::Japanese: return "ja"; + case ELanguageType::Korean: return "ko"; + case ELanguageType::Polish: return "pl"; + case ELanguageType::PortugueseBrazil: return "pt"; + case ELanguageType::PortuguesePortugal: return "pt"; + case ELanguageType::Russian: return "ru"; + case ELanguageType::Spanish: return "es"; + case ELanguageType::SpanishMexico: return "es"; + case ELanguageType::SpanishUS: return "es"; + case ELanguageType::Swedish: return "sv"; + case ELanguageType::Turkish: return "tr"; + case ELanguageType::Vietnamese: return "vi"; + default: return ""; + } +} + +FString UConvaiGetAvailableVoicesProxy::GetVoiceTypeFromEnum(EVoiceType VoiceType) +{ + switch (VoiceType) + { + case EVoiceType::AzureVoices: + return TEXT("Azure Voices"); + case EVoiceType::ElevenLabsVoices: + return TEXT("ElevenLabs Voices"); + case EVoiceType::GCPVoices: + return TEXT("GCP Voices"); + case EVoiceType::ConvaiVoices: + return TEXT("Convai Voices"); + case EVoiceType::OpenAIVoices: + return TEXT("OpenAI Voices"); + case EVoiceType::ConvaiVoicesNew: + return TEXT("Convai Voices (New)"); + case EVoiceType::ConvaiVoicesExperimental: + return TEXT("Convai Voices (Experimental)"); + default: + return TEXT("Unknown Voice Type"); + } +} + +FString UConvaiGetAvailableVoicesProxy::GetGenderFromEnum(EGenderType GenderType) +{ + switch (GenderType) + { + case EGenderType::Male: return "MALE"; + case EGenderType::Female: return "FEMALE"; + default: return ""; + } +} diff --git a/ConvAI/Convai/Source/Convai/Private/ConvaiChatbotComponent.cpp b/ConvAI/Convai/Source/Convai/Private/ConvaiChatbotComponent.cpp new file mode 100644 index 0000000..b24bd16 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/ConvaiChatbotComponent.cpp @@ -0,0 +1,1357 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + +#include "ConvaiChatbotComponent.h" +#include "ConvaiPlayerComponent.h" +#include "../Convai.h" +#include "ConvaiGRPC.h" +#include "ConvaiActionUtils.h" +#include "ConvaiUtils.h" +#include "LipSyncInterface.h" +#include "VisionInterface.h" +#include "ConvaiSubsystem.h" + +#include "Sound/SoundWaveProcedural.h" +#include "Net/UnrealNetwork.h" +#include "ConvaiChatBotProxy.h" +#include "Kismet/KismetSystemLibrary.h" +#include "TimerManager.h" +#include "Async/Async.h" +#include "Engine/GameInstance.h" + +DEFINE_LOG_CATEGORY(ConvaiChatbotComponentLog); + +UConvaiChatbotComponent::UConvaiChatbotComponent() +{ + PrimaryComponentTick.bCanEverTick = true; + PrimaryComponentTick.TickInterval = 1 / 15; + //SetIsReplicated(true); + InterruptVoiceFadeOutDuration = 1.0; + LastPlayerName = FString("Unknown"); + //Environment = CreateDefaultSubobject(TEXT("Environment")); +} + +void UConvaiChatbotComponent::GetLifetimeReplicatedProps(TArray& OutLifetimeProps) const +{ + Super::GetLifetimeReplicatedProps(OutLifetimeProps); + + DOREPLIFETIME(UConvaiChatbotComponent, CharacterID); + DOREPLIFETIME(UConvaiChatbotComponent, SessionID); + DOREPLIFETIME(UConvaiChatbotComponent, CharacterName); + DOREPLIFETIME(UConvaiChatbotComponent, VoiceType); + DOREPLIFETIME(UConvaiChatbotComponent, Backstory); + DOREPLIFETIME(UConvaiChatbotComponent, ReadyPlayerMeLink); + DOREPLIFETIME(UConvaiChatbotComponent, LanguageCode); + DOREPLIFETIME(UConvaiChatbotComponent, CurrentConvaiPlayerComponent); + DOREPLIFETIME(UConvaiChatbotComponent, ActionsQueue); + DOREPLIFETIME(UConvaiChatbotComponent, EmotionState); + DOREPLIFETIME(UConvaiChatbotComponent, LockEmotionState); + DOREPLIFETIME(UConvaiChatbotComponent, ConvaiEnvironmentDetails); +} + +bool UConvaiChatbotComponent::IsInConversation() +{ + return ((IsValid(ConvaiGRPCGetResponseProxy) && !ReceivedFinalData) || IsTalking); +} + +bool UConvaiChatbotComponent::IsProcessing() +{ + if (IsValid(ConvaiGRPCGetResponseProxy) && !ReceivedFinalData) + return true; + else if (!GetIsTalking() && !AudioBuffer.IsEmpty()) + return true; + else + return false; +} + +bool UConvaiChatbotComponent::IsListening() +{ + return CanWriteToGetResponseStream(); +} + +bool UConvaiChatbotComponent::GetIsTalking() +{ + return IsTalking; +} + +float UConvaiChatbotComponent::GetTalkingTimeElapsed() +{ + float TimeElapsed = 0; + if (IsValid(GetWorld())) + { + // TODO: Reset DataBuffer.TotalAudioDurationElapsed after response is complete + TimeElapsed = GetWorld()->GetTimerManager().GetTimerElapsed(AudioFinishedTimerHandle); + } + + return TimeElapsed; +} + +float UConvaiChatbotComponent::GetTalkingTimeRemaining() +{ + float TimeRemaing = 0; + if (IsValid(GetWorld())) + { + TimeRemaing = GetWorld()->GetTimerManager().GetTimerRemaining(AudioFinishedTimerHandle); + TimeRemaing = TimeRemaing < 0 ? 0 : TimeRemaing; + float BufferedInSyncTimeRemaining = GetRemainingContentDuration(); + TimeRemaing += BufferedInSyncTimeRemaining; + } + return TimeRemaing; +} + +void UConvaiChatbotComponent::ResetConversation() +{ + SessionID = "-1"; +} + +void UConvaiChatbotComponent::LoadCharacter(FString NewCharacterID) +{ + CharacterID = NewCharacterID; + ConvaiGetDetails(); +} + +void UConvaiChatbotComponent::AppendActionsToQueue(TArray NewActions) +{ + if (ActionsQueue.Num() > 0) + { + FConvaiResultAction FirstAction = ActionsQueue[0]; + NewActions.Insert(FirstAction, 0); + ActionsQueue = NewActions; + } + else + { + ActionsQueue = NewActions; + } +} + +void UConvaiChatbotComponent::HandleActionCompletion(bool IsSuccessful, float Delay) +{ + if (!UConvaiUtils::IsNewActionSystemEnabled()) + { + + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("HandleActionCompletion: New Action System is not enabled in settings")); + return; + } + + + if (IsSuccessful) + DequeueAction(); + + if (IsActionsQueueEmpty()) + return; + + // Create a timer to call StartFirstAction after a delay + if (Delay > 0.0f) + { + FTimerHandle TimerHandle; + FTimerDelegate TimerDelegate; + + // Bind the function with parameters + TimerDelegate.BindUFunction(this, FName("StartFirstAction")); + + // Set the timer + GetWorld()->GetTimerManager().SetTimer(TimerHandle, TimerDelegate, Delay, false); + } + else + { + // Call the function immediately + StartFirstAction(); + } +} + +bool UConvaiChatbotComponent::IsActionsQueueEmpty() +{ + if (!UConvaiUtils::IsNewActionSystemEnabled()) + { + + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("IsActionsQueueEmpty: New Action System is not enabled in settings")); + return true; + } + + return ActionsQueue.Num() == 0; +} + +void UConvaiChatbotComponent::ClearActionQueue() +{ + ActionsQueue.Empty(); +} + +bool UConvaiChatbotComponent::FetchFirstAction(FConvaiResultAction& ConvaiResultAction) +{ + if (!UConvaiUtils::IsNewActionSystemEnabled()) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("FetchFirstAction: New Action System is not enabled in settings")); + return false; + } + + if (ActionsQueue.Num() == 0) + return false; + + ConvaiResultAction = ActionsQueue[0]; + return true; +} + +bool UConvaiChatbotComponent::DequeueAction() +{ + if (ActionsQueue.Num() > 0) + { + ActionsQueue.RemoveAt(0); + return true; + } + return false; +} + +bool UConvaiChatbotComponent::StartFirstAction() +{ + FConvaiResultAction ConvaiResultAction; + if (FetchFirstAction(ConvaiResultAction)) + { + if (ConvaiResultAction.Action.Compare(FString("None"), ESearchCase::IgnoreCase) == 0) + { + HandleActionCompletion(true, 0); + return true; + } + + AsyncTask(ENamedThreads::GameThread, [this, ConvaiResultAction] + { + TriggerNamedBlueprintAction(ConvaiResultAction.Action, ConvaiResultAction); + }); + return true; + } + return false; +} + +bool UConvaiChatbotComponent::TriggerNamedBlueprintAction(const FString& ActionName, FConvaiResultAction ConvaiActionStruct) +{ + if (!ActionName.IsEmpty()) + { + // Check the owning actor first + if (AActor* Owner = GetOwner()) + { + if (TryCallFunction(Owner, ActionName, ConvaiActionStruct)) + { + return true; + } + } + + // Fallback to self (BP_ConvaiChatbotComponent) + if (TryCallFunction(this, ActionName, ConvaiActionStruct)) + { + return true; + } + + // Log an error if the function is not found in both places + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("TriggerNamedBlueprintAction: Could not find a valid function '%s' on the owning actor or the component (self)."), *ActionName); + } + else + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("TriggerNamedBlueprintAction: Provided action name is empty.")); + } + + return false; +} + +bool UConvaiChatbotComponent::TryCallFunction(UObject* Object, const FString& FunctionName, FConvaiResultAction& ConvaiResultAction) const +{ + if (!Object) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("TryCallFunction: Null object provided.")); + return false; + } + + UFunction* Function = Object->FindFunction(FName(*FunctionName)); + if (!Function) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Verbose, TEXT("TryCallFunction: Function '%s' not found on '%s'."), *FunctionName, *Object->GetName()); + return false; + } + + // Check function parameters (if any) + bool bCanCall = false; + if (FProperty* FirstParam = Function->PropertyLink) + { + if (const FStructProperty* StructProp = CastField(FirstParam)) + { + if (StructProp->Struct == FConvaiResultAction::StaticStruct()) + { + bCanCall = true; + } + } + } + else + { + bCanCall = true; // No parameters + } + + if (bCanCall) + { + Object->ProcessEvent(Function, Function->PropertyLink ? &ConvaiResultAction : nullptr); + return true; + } + else + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("TryCallFunction: Function '%s' found on '%s' but has incompatible parameters. Ensure it accepts 'FConvaiResultAction' or has no parameters."), *FunctionName, *Object->GetName()); + } + + return false; +} + +void UConvaiChatbotComponent::ForceSetEmotion(EBasicEmotions BasicEmotion, EEmotionIntensity Intensity, bool ResetOtherEmotions) +{ + EmotionState.ForceSetEmotion(BasicEmotion, Intensity, ResetOtherEmotions); + OnEmotionStateChangedEvent.Broadcast(this, CurrentConvaiPlayerComponent); +} + +float UConvaiChatbotComponent::GetEmotionScore(EBasicEmotions Emotion) +{ + return EmotionState.GetEmotionScore(Emotion); +} + +TMap UConvaiChatbotComponent::GetEmotionBlendshapes() +{ + return EmotionBlendshapes; +} + +void UConvaiChatbotComponent::ResetEmotionState() +{ + EmotionState.ResetEmotionScores(); + OnEmotionStateChangedEvent.Broadcast(this, CurrentConvaiPlayerComponent); +} + +void UConvaiChatbotComponent::StartRecordingVoice() +{ + if (IsRecordingAudio) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("Cannot start Recording voice while already recording voice")); + return; + } + IsRecordingAudio = true; +} + +USoundWave* UConvaiChatbotComponent::FinishRecordingVoice() +{ + CONVAI_LOG(ConvaiChatbotComponentLog, Log, TEXT("Finished Recording Audio - Total bytes: %d - Duration: %f"), RecordedAudio.Num(), UConvaiUtils::CalculateAudioDuration(RecordedAudio.Num(), 1,RecordedAudioSampleRate, 2)); + + if (!IsRecordingAudio) + return nullptr; + USoundWave* SoundWave = UConvaiUtils::PCMDataToSoundWav(RecordedAudio, 1, RecordedAudioSampleRate); + IsRecordingAudio = false; + RecordedAudio.Empty(); + return SoundWave; +} + +bool UConvaiChatbotComponent::PlayRecordedVoice(USoundWave* RecordedVoice) +{ + if (!IsValid(RecordedVoice)) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("Recorded voice is not valid")); + return false; + } + + if (IsRecordingAudio) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("Cannot Play Recorded voice while Recording voice")); + return false; + } + + if (GetIsTalking()) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("Playing Recorded voice and stopping currently playing voice")); + InterruptSpeech(0); + } + + CONVAI_LOG(ConvaiChatbotComponentLog, Log, TEXT("Play Recorded Audio - Duration: %f"), RecordedVoice->Duration); + + InterruptSpeech(InterruptVoiceFadeOutDuration); + + ForcePlayVoice(RecordedVoice); + + return true; +} + +void UConvaiChatbotComponent::StartGetResponseStream(UConvaiPlayerComponent* InConvaiPlayerComponent, FString InputText, UConvaiEnvironment* InEnvironment, bool InGenerateActions, bool InVoiceResponse, bool RunOnServer, bool UseOverrideAuthKey, FString OverrideAuthKey, FString OverrideAuthHeader, uint32 InToken, FString InSpeakerID) +{ + if (!IsValid(InConvaiPlayerComponent)) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("StartGetResponseStream: ConvaiPlayerComponent is not valid")); + return; + } + + if (IsValid(CurrentConvaiPlayerComponent) && CurrentConvaiPlayerComponent != InConvaiPlayerComponent && CheckTokenValidity()) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("StartGetResponseStream: character is currently being talked to by another player, make sure to run \"Finish Talking\"")); + return; + } + + if (IsValid(Environment)) + { + Environment->SetFromEnvironment(InEnvironment); + } + else + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("StartGetResponseStream: Environment is not valid")); + } + + FString Error; + bool ValidEnvironment = UConvaiActions::ValidateEnvironment(Environment, Error); + if (GenerateActions && !ValidEnvironment) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("StartGetResponseStream: %s"), *Error); + CONVAI_LOG(ConvaiChatbotComponentLog, Log, TEXT("StartGetResponseStream: Environment object seems to have issues -> setting GenerateActions to false")); + GenerateActions = false; + } + + // Set the main character (player) to be the one talking + //if (ValidEnvironment && Environment->MainCharacter.Name != InConvaiPlayerComponent->PlayerName) + //{ + // FConvaiObjectEntry MainCharacter; + // MainCharacter.Name = InConvaiPlayerComponent->PlayerName; + // MainCharacter.Ref = InConvaiPlayerComponent; + // Environment->MainCharacter = MainCharacter; + //} + + + InterruptSpeech(InterruptVoiceFadeOutDuration); + + UserText = InputText; + TextInput = UserText.Len() > 0; + GenerateActions = InGenerateActions; + VoiceResponse = InVoiceResponse; + ReplicateVoiceToNetwork = RunOnServer; + Token = InToken; + CurrentConvaiPlayerComponent = InConvaiPlayerComponent; + LastPlayerName = CurrentConvaiPlayerComponent->PlayerName; + SpeakerID = InSpeakerID; + + if (!TextInput) + { + StreamInProgress = true; + } + else + { + OnTranscriptionReceived(UserText, true, true); + } + + + Start_GRPC_Request(UseOverrideAuthKey, OverrideAuthKey, OverrideAuthHeader); +} + +void UConvaiChatbotComponent::FinishGetResponseStream(UConvaiPlayerComponent* InConvaiPlayerComponent) +{ + if (!HasOnGoingGetResponseStream()) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Log, TEXT("UConvaiChatbotComponent::FinishGetResponseStream Trying to finish a non-existent stream | Character ID : %s | Session ID : %s"), + *CharacterID, + *SessionID); + return; + } + + if (!CanWriteToGetResponseStream()) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Log, TEXT("UConvaiChatbotComponent::FinishGetResponseStream stream is no longer writable | Character ID : %s | Session ID : %s"), + *CharacterID, + *SessionID); + return; + } + + if (CurrentConvaiPlayerComponent != InConvaiPlayerComponent) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Log, TEXT("UConvaiChatbotComponent::FinishGetResponseStream Trying to finish using a player that did not start the stream | Character ID : %s | Session ID : %s"), + *CharacterID, + *SessionID); + return; + } + + ConvaiGRPCGetResponseProxy->FinishWriting(); + ClearTimeOutTimer(); +} + +void UConvaiChatbotComponent::ExecuteNarrativeTrigger(FString TriggerMessage, UConvaiEnvironment* InEnvironment, bool InGenerateActions, bool InVoiceResponse, bool InReplicateOnNetwork) +{ + if (TriggerMessage.IsEmpty()) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("Invoke Speech: TriggerMessage is missing")); + return; + } + CONVAI_LOG(ConvaiChatbotComponentLog, Log, TEXT("Invoke Speech: Executed | Character ID : %s | Session ID : %s"), + *CharacterID, + *SessionID); + InvokeTrigger_Internal("", TriggerMessage, InEnvironment, InGenerateActions, InVoiceResponse, InReplicateOnNetwork); +} + +void UConvaiChatbotComponent::InvokeNarrativeDesignTrigger(FString TriggerName, UConvaiEnvironment* InEnvironment, bool InGenerateActions, bool InVoiceResponse, bool InReplicateOnNetwork) +{ + if (TriggerName.IsEmpty()) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("Invoke Narrative Design Trigger: TriggerName is missing")); + return; + } + CONVAI_LOG(ConvaiChatbotComponentLog, Log, TEXT("Invoke Narrative Design Trigger: Executed | Character ID : %s | Session ID : %s"), + *CharacterID, + *SessionID); + InvokeTrigger_Internal(TriggerName, "", InEnvironment, InGenerateActions, InVoiceResponse, InReplicateOnNetwork); +} + +void UConvaiChatbotComponent::InvokeTrigger_Internal(FString TriggerName, FString TriggerMessage, UConvaiEnvironment* InEnvironment, bool InGenerateActions, bool InVoiceResponse, bool InReplicateOnNetwork) +{ + if (TriggerMessage.IsEmpty() && TriggerName.IsEmpty()) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("InvokeTrigger_Internal: TriggerName and TriggerMessage are missing - Please supply one of them")); + return; + } + + if (IsValid(Environment)) + { + Environment->SetFromEnvironment(InEnvironment); + } + else + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("InvokeTrigger_Internal: Environment is not valid")); + } + + FString Error; + bool ValidEnvironment = UConvaiActions::ValidateEnvironment(Environment, Error); + if (GenerateActions && !ValidEnvironment) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("InvokeTrigger_Internal: %s"), *Error); + CONVAI_LOG(ConvaiChatbotComponentLog, Log, TEXT("InvokeTrigger_Internal: Environment object seems to have issues -> setting GenerateActions to false")); + GenerateActions = false; + } + + // Set the main character (player) to be the one talking + //if (ValidEnvironment && Environment->MainCharacter.Name != InConvaiPlayerComponent->PlayerName) + //{ + // FConvaiObjectEntry MainCharacter; + // MainCharacter.Name = InConvaiPlayerComponent->PlayerName; + // MainCharacter.Ref = InConvaiPlayerComponent; + // Environment->MainCharacter = MainCharacter; + //} + + InterruptSpeech(InterruptVoiceFadeOutDuration); + + UserText = ""; + GenerateActions = InGenerateActions; + VoiceResponse = InVoiceResponse; + ReplicateVoiceToNetwork = InReplicateOnNetwork; + + Start_GRPC_Request(false, "", "", TriggerName, TriggerMessage); +} + +void UConvaiChatbotComponent::InterruptSpeech(float InVoiceFadeOutDuration) +{ + // Broadcast to clients + if (UKismetSystemLibrary::IsServer(this) && ReplicateVoiceToNetwork) + { + Broadcast_InterruptSpeech(InVoiceFadeOutDuration); + } + + // Ensure all GRPC requests are unbound + Unbind_GRPC_Request_Delegates(); + + if (GetIsTalking() || IsProcessing()) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Log, TEXT("InterruptSpeech: Interrupting character | Character ID : %s | Session ID : %s"), + *CharacterID, + *SessionID); + onFinishedReceivingData(); + StopVoiceWithFade(InVoiceFadeOutDuration); + + if (ReceivedFinalTranscription == false) + OnTranscriptionReceived(LastTranscription, true, true); + + if (ReceivedFinalData == false) + onResponseDataReceived(FString(""), TArray(), 0, true); + + AsyncTask(ENamedThreads::GameThread, [WeakThis = MakeWeakObjectPtr(this)] + { + if (!WeakThis.IsValid()) + { + // The object is no longer valid or is being destroyed. + return; + } + WeakThis->OnInterruptedEvent.Broadcast(WeakThis.Get(), WeakThis->CurrentConvaiPlayerComponent); + }); + } + else + { + StopVoice(); // Make sure to stop the voice either way + } +} + +void UConvaiChatbotComponent::TryClearInteractingPlayer(bool& Success, bool Interrupt) +{ + if (IsListening()) + { + Success = false; + return; + } + if (Interrupt) + InterruptSpeech(0.5); + CurrentConvaiPlayerComponent = nullptr; +} + +void UConvaiChatbotComponent::Broadcast_InterruptSpeech_Implementation(float InVoiceFadeOutDuration) +{ + // Execute if you are a client + if (!UKismetSystemLibrary::IsServer(this)) + { + InterruptSpeech(InVoiceFadeOutDuration); + } +} + +void UConvaiChatbotComponent::Start_GRPC_Request(bool UseOverrideAuthKey, FString OverrideAuthKey, FString OverrideAuthHeader, FString TriggerName, FString TriggerMessage) +{ + TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + FString AuthKey = AuthHeaderAndKey.Value; + FString AuthHeader = AuthHeaderAndKey.Key; + + AuthKey = UseOverrideAuthKey ? OverrideAuthKey : AuthKey; + AuthHeader = UseOverrideAuthKey ? OverrideAuthHeader : AuthHeader; + + bool RequireFaceData = false; + bool GeneratesVisemesAsBlendshapes = false; + ReceivedFinalData = false; + if (ConvaiLipSync) + { + RequireFaceData = ConvaiLipSync->RequiresPrecomputedFaceData(); + GeneratesVisemesAsBlendshapes = ConvaiLipSync->GeneratesVisemesAsBlendshapes(); + } + RequireFaceData = RequireFaceData && VoiceResponse; + + FConvaiGRPCVisionParams ConvaiGRPCVisionParams; + if (ConvaiVision && ConvaiVision->GetState() == EVisionState::Capturing) + { + bool bCaptureSuccess = ConvaiVision->GetCompressedData(ConvaiGRPCVisionParams.width, ConvaiGRPCVisionParams.height, ConvaiGRPCVisionParams.data); + + // Attempt to capture compressed data if pre-compressed data isn't available + if (!bCaptureSuccess) + { + constexpr float CompressionQuality = 60.0f; + bCaptureSuccess = ConvaiVision->CaptureCompressed(ConvaiGRPCVisionParams.width, ConvaiGRPCVisionParams.height, ConvaiGRPCVisionParams.data, CompressionQuality); + } + + // Fallback to raw data capture if compressed capture fails + if (!bCaptureSuccess) + { + ConvaiVision->CaptureRaw(ConvaiGRPCVisionParams.width, ConvaiGRPCVisionParams.height, ConvaiGRPCVisionParams.data); + } + } + + + // Create the request proxy + FConvaiGRPCGetResponseParams Params; + Params.UserQuery = UserText; + Params.TriggerName = TriggerName; + Params.TriggerMessage = TriggerMessage; + Params.CharID = CharacterID; + Params.VoiceResponse = VoiceResponse; + Params.RequireFaceData = RequireFaceData; + Params.GeneratesVisemesAsBlendshapes = GeneratesVisemesAsBlendshapes; + Params.Narrative_Template_Keys = NarrativeTemplateKeys; + Params.SessionID = SessionID; + Params.Environment = Environment; + Params.GenerateActions = GenerateActions; + Params.ConvaiGRPCVisionParams = ConvaiGRPCVisionParams; + Params.AuthKey = AuthKey; + Params.AuthHeader = AuthHeader; + Params.DynamicEnvironmentInfo = DynamicEnvironmentInfo; + Params.SpeakerID = SpeakerID; + + ConvaiGRPCGetResponseProxy = UConvaiGRPCGetResponseProxy::CreateConvaiGRPCGetResponseProxy(this, Params); + + // Bind the needed delegates + Bind_GRPC_Request_Delegates(); + + // Start the stream + ConvaiGRPCGetResponseProxy->Activate(); +} + +void UConvaiChatbotComponent::Bind_GRPC_Request_Delegates() +{ + if (!IsValid(ConvaiGRPCGetResponseProxy)) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("Bind_GRPC_Request_Delegates: ConvaiGRPCGetResponseProxy is invalid")); + return; + } + + ConvaiGRPCGetResponseProxy->OnTranscriptionReceived.BindUObject(this, &UConvaiChatbotComponent::OnTranscriptionReceived); + ConvaiGRPCGetResponseProxy->OnDataReceived.BindUObject(this, &UConvaiChatbotComponent::onResponseDataReceived); + ConvaiGRPCGetResponseProxy->OnFaceDataReceived.BindUObject(this, &UConvaiChatbotComponent::OnFaceDataReceived); + ConvaiGRPCGetResponseProxy->OnSessionIDReceived.BindUObject(this, &UConvaiChatbotComponent::onSessionIDReceived); + ConvaiGRPCGetResponseProxy->OnActionsReceived.BindUObject(this, &UConvaiChatbotComponent::onActionSequenceReceived); + ConvaiGRPCGetResponseProxy->OnNarrativeDataReceived.BindUObject(this, &UConvaiChatbotComponent::OnNarrativeSectionReceived); + ConvaiGRPCGetResponseProxy->OnInteractionIDReceived.BindUObject(this, &UConvaiChatbotComponent::onInteractionIDReceived); + ConvaiGRPCGetResponseProxy->OnEmotionReceived.BindUObject(this, &UConvaiChatbotComponent::onEmotionReceived); + ConvaiGRPCGetResponseProxy->OnFinish.BindUObject(this, &UConvaiChatbotComponent::onFinishedReceivingData); + ConvaiGRPCGetResponseProxy->OnFailure.BindUObject(this, &UConvaiChatbotComponent::onFailure); +} + +void UConvaiChatbotComponent::Unbind_GRPC_Request_Delegates() +{ + if (!IsValid(ConvaiGRPCGetResponseProxy)) + { + return; + } + + // Do not unbind narrative design delegate + //ConvaiGRPCGetResponseProxy->OnNarrativeDataReceived.Unbind(); + + ConvaiGRPCGetResponseProxy->OnTranscriptionReceived.Unbind(); + ConvaiGRPCGetResponseProxy->OnDataReceived.Unbind(); + ConvaiGRPCGetResponseProxy->OnFaceDataReceived.Unbind(); + ConvaiGRPCGetResponseProxy->OnSessionIDReceived.Unbind(); + ConvaiGRPCGetResponseProxy->OnActionsReceived.Unbind(); + ConvaiGRPCGetResponseProxy->OnInteractionIDReceived.Unbind(); + ConvaiGRPCGetResponseProxy->OnEmotionReceived.Unbind(); + ConvaiGRPCGetResponseProxy->OnFinish.Unbind(); + ConvaiGRPCGetResponseProxy->OnFailure.Unbind(); +} + +void UConvaiChatbotComponent::Cleanup(bool StreamConnectionFinished) +{ + CONVAI_LOG(ConvaiChatbotComponentLog, Log, TEXT("Cleanup | Character ID : %s | Session ID : %s"), + *CharacterID, + *SessionID); + if (IsValid(CurrentConvaiPlayerComponent)) + { + CurrentConvaiPlayerComponent->getOnDataReceivedDelegate().Unbind(); + } + CurrentConvaiPlayerComponent = nullptr; + + StreamInProgress = false; + //Environment.reset(); +} + +void UConvaiChatbotComponent::onMicrophoneDataReceived() +{ + //CONVAI_LOG(ConvaiChatbotComponentLog, Log, TEXT("onMicrophoneDataReceived")); + if (!IsValid(CurrentConvaiPlayerComponent)) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("onMicrophoneDataReceived: CurrentConvaiPlayerComponent is invalid")); + return; + } + + CurrentConvaiPlayerComponent->getOnDataReceivedDelegate().Unbind(); +} + +//void UConvaiChatbotComponent::onAudioFinished() +//{ +// if (!StreamInProgress && IsTalking) // A false StreamInProgress means we have finished reading from the stream +// { +// OnFinishedTalking.Broadcast(); +// IsTalking = false; +// } +//} + +void UConvaiChatbotComponent::Broadcast_OnTranscriptionReceived_Implementation(const FString& Transcription, bool IsTranscriptionReady, bool IsFinal) +{ + // Execute if you are a client + if (!UKismetSystemLibrary::IsServer(this)) + { + OnTranscriptionReceived(Transcription, IsTranscriptionReady, IsFinal); + } +} + +void UConvaiChatbotComponent::Broadcast_onResponseDataReceived_Implementation(const FString& ReceivedText, bool IsFinal) +{ + if (!UKismetSystemLibrary::IsServer(this)) + { + onResponseDataReceived(ReceivedText, TArray(), 0, IsFinal); + } +} + +void UConvaiChatbotComponent::Broadcast_onSessionIDReceived_Implementation(const FString& ReceivedSessionID) +{ + if (!UKismetSystemLibrary::IsServer(this)) + { + onSessionIDReceived(ReceivedSessionID); + } +} + +void UConvaiChatbotComponent::Broadcast_onInteractionIDReceived_Implementation(const FString& ReceivedInteractionID) +{ + if (!UKismetSystemLibrary::IsServer(this)) + { + onInteractionIDReceived(ReceivedInteractionID); + } +} + +void UConvaiChatbotComponent::Broadcast_onActionSequenceReceived_Implementation(const TArray& ReceivedSequenceOfActions) +{ + if (!UKismetSystemLibrary::IsServer(this)) + { + onActionSequenceReceived(ReceivedSequenceOfActions); + } +} + +void UConvaiChatbotComponent::Broadcast_OnNarrativeSectionReceived_Implementation(const FString& BT_Code, const FString& BT_Constants, const FString& ReceivedNarrativeSectionID) +{ + if (!UKismetSystemLibrary::IsServer(this)) + { + OnNarrativeSectionReceived(BT_Code, BT_Constants, ReceivedNarrativeSectionID); + } +} + +void UConvaiChatbotComponent::Broadcast_onEmotionReceived_Implementation(const FString& ReceivedEmotionResponse, bool MultipleEmotions) +{ + if (!UKismetSystemLibrary::IsServer(this)) + { + onEmotionReceived(ReceivedEmotionResponse, FAnimationFrame(), MultipleEmotions); + } +} + +void UConvaiChatbotComponent::OnTranscriptionReceived(FString Transcription, bool IsTranscriptionReady, bool IsFinal) +{ + LastTranscription = Transcription; + ReceivedFinalTranscription = IsFinal; + + // Broadcast to clients + if (UKismetSystemLibrary::IsServer(this) && ReplicateVoiceToNetwork) + { + if (IsInGameThread()) + { + Broadcast_OnTranscriptionReceived(Transcription, IsTranscriptionReady, IsFinal); + } + else + { + AsyncTask(ENamedThreads::GameThread, [this, Transcription, IsTranscriptionReady, IsFinal] + { + Broadcast_OnTranscriptionReceived(Transcription, IsTranscriptionReady, IsFinal); + }); + } + } + + FString PlayerName = IsValid(CurrentConvaiPlayerComponent) ? CurrentConvaiPlayerComponent->PlayerName : LastPlayerName; + + if (IsInGameThread()) + { + OnTranscriptionReceivedEvent_V2.Broadcast(this, CurrentConvaiPlayerComponent, PlayerName, Transcription, IsTranscriptionReady, IsFinal); + + // Run the deprecated event + OnTranscriptionReceivedEvent.Broadcast(Transcription, IsTranscriptionReady, IsFinal); + } + else + { + AsyncTask(ENamedThreads::GameThread, [this, Transcription, IsTranscriptionReady, IsFinal, PlayerName] + { + OnTranscriptionReceivedEvent_V2.Broadcast(this, CurrentConvaiPlayerComponent, PlayerName, Transcription, IsTranscriptionReady, IsFinal); + + // Run the deprecated event + OnTranscriptionReceivedEvent.Broadcast(Transcription, IsTranscriptionReady, IsFinal); + }); + } +} + +void UConvaiChatbotComponent::onResponseDataReceived(const FString ReceivedText, const TArray& ReceivedAudio, uint32 SampleRate, bool IsFinal) +{ + // Broadcast to clients + if (UKismetSystemLibrary::IsServer(this) && ReplicateVoiceToNetwork) + { + if (ReceivedText.IsEmpty() && IsFinal == false) + { + return; + } + + if (!IsInGameThread()) + { + TWeakObjectPtr WeakThis(this); + AsyncTask(ENamedThreads::GameThread, [WeakThis, ReceivedText, IsFinal]() + { + if (WeakThis.IsValid()) + { + UConvaiChatbotComponent* StrongThis = WeakThis.Get(); + StrongThis->Broadcast_onResponseDataReceived(ReceivedText, IsFinal); + } + }); + } + else + { + Broadcast_onResponseDataReceived(ReceivedText, IsFinal); + } + + } + + float ReceivedAudioDuration = float(ReceivedAudio.Num() - 44) / float(SampleRate * 2); // Assuming 1 channel + + if (VoiceResponse && ReceivedAudio.Num() > 0) + { + AddPCMDataToSend(ReceivedAudio, false, SampleRate, 1); + + if (IsRecordingAudio) + { + RecordedAudio.Append(ReceivedAudio); + RecordedAudioSampleRate = SampleRate; + } + } + + + if (ReceivedText != "" || IsFinal == true) + { + if (!IsInGameThread()) + { + TWeakObjectPtr WeakThis(this); + + AsyncTask(ENamedThreads::GameThread, [WeakThis, ReceivedText, ReceivedAudioDuration, IsFinal]() + { + if (WeakThis.IsValid()) + { + UConvaiChatbotComponent* StrongThis = WeakThis.Get(); + // Send text and audio duration to blueprint event + StrongThis->OnTextReceivedEvent_V2.Broadcast(StrongThis, StrongThis->CurrentConvaiPlayerComponent, StrongThis->CharacterName, ReceivedText, ReceivedAudioDuration, IsFinal); + + // Run the deprecated event + StrongThis->OnTextReceivedEvent.Broadcast(StrongThis->CharacterName, ReceivedText, ReceivedAudioDuration, IsFinal); + } + }); + } + else + { + // Already on game thread, safe to use 'this' + OnTextReceivedEvent_V2.Broadcast(this, CurrentConvaiPlayerComponent, CharacterName, ReceivedText, ReceivedAudioDuration, IsFinal); + OnTextReceivedEvent.Broadcast(CharacterName, ReceivedText, ReceivedAudioDuration, IsFinal); + } + } + + + if (ReceivedAudioDuration > 0) + { + TotalReceivedAudioDuration += ReceivedAudioDuration; + } + if (IsFinal) + { + CONVAI_LOG(ConvaiChatbotComponentLog, Log, TEXT("Chatbot Total Received Audio: %f seconds"), TotalReceivedAudioDuration); + TotalReceivedAudioDuration = 0; + } + + ReceivedFinalData = IsFinal; +} + +void UConvaiChatbotComponent::OnFaceDataReceived(FAnimationSequence FaceDataAnimation) +{ + AddFaceDataToSend(FaceDataAnimation); +} + +void UConvaiChatbotComponent::onSessionIDReceived(const FString ReceivedSessionID) +{ + // Broadcast to clients + if (UKismetSystemLibrary::IsServer(this) && ReplicateVoiceToNetwork) + { + if (IsInGameThread()) + { + Broadcast_onSessionIDReceived(ReceivedSessionID); + } + else + { + AsyncTask(ENamedThreads::GameThread, [this, ReceivedSessionID] + { + Broadcast_onSessionIDReceived(ReceivedSessionID); + }); + } + } + + SessionID = ReceivedSessionID; +} + +void UConvaiChatbotComponent::onInteractionIDReceived(FString ReceivedInteractionID) +{ + // Broadcast to clients + if (UKismetSystemLibrary::IsServer(this) && ReplicateVoiceToNetwork) + { + if (IsInGameThread()) + { + Broadcast_onInteractionIDReceived(ReceivedInteractionID); + } + else + { + AsyncTask(ENamedThreads::GameThread, [this, ReceivedInteractionID] + { + Broadcast_onInteractionIDReceived(ReceivedInteractionID); + }); + } + } + + if (IsInGameThread()) + { + // Send Interaction ID to blueprint event + OnInteractionIDReceivedEvent.Broadcast(this, CurrentConvaiPlayerComponent, ReceivedInteractionID); + } + else + { + AsyncTask(ENamedThreads::GameThread, [this, ReceivedInteractionID] + { + // Send Interaction ID to blueprint event + OnInteractionIDReceivedEvent.Broadcast(this, CurrentConvaiPlayerComponent, ReceivedInteractionID); + }); + } +} + +void UConvaiChatbotComponent::onActionSequenceReceived(const TArray& ReceivedSequenceOfActions) +{ + // Broadcast to clients + if (UKismetSystemLibrary::IsServer(this) && ReplicateVoiceToNetwork) + { + if (IsInGameThread()) + { + Broadcast_onActionSequenceReceived(ReceivedSequenceOfActions); + } + else + { + AsyncTask(ENamedThreads::GameThread, [this, ReceivedSequenceOfActions] + { + Broadcast_onActionSequenceReceived(ReceivedSequenceOfActions); + }); + } + } + + if (UConvaiUtils::IsNewActionSystemEnabled()) + { + bool ActionsAlreadyStarted = !IsActionsQueueEmpty(); + + // Fill the current queue of actions + AppendActionsToQueue(ReceivedSequenceOfActions); + + if (!ActionsAlreadyStarted) + StartFirstAction(); + } + + // Broadcast the actions + AsyncTask(ENamedThreads::GameThread, [this, ReceivedSequenceOfActions] { + OnActionReceivedEvent_V2.Broadcast(this, CurrentConvaiPlayerComponent, ReceivedSequenceOfActions); + + // Run the deprecated event + OnActionReceivedEvent.Broadcast(ReceivedSequenceOfActions); + }); +} + +void UConvaiChatbotComponent::onEmotionReceived(FString ReceivedEmotionResponse, FAnimationFrame EmotionBlendshapesFrame, bool MultipleEmotions) +{ + if (LockEmotionState) + return; + + // Broadcast to clients + if (UKismetSystemLibrary::IsServer(this) && ReplicateVoiceToNetwork) + { + if (IsInGameThread()) + { + Broadcast_onEmotionReceived(ReceivedEmotionResponse, MultipleEmotions); + } + else + { + AsyncTask(ENamedThreads::GameThread, [this, ReceivedEmotionResponse, MultipleEmotions] + { + Broadcast_onEmotionReceived(ReceivedEmotionResponse, MultipleEmotions); + }); + } + } + + // Update the emotion state + if (!ReceivedEmotionResponse.IsEmpty()) + { + if (MultipleEmotions) + { + EmotionState.SetEmotionData(ReceivedEmotionResponse, EmotionOffset); + } + else + { + EmotionState.SetEmotionDataSingleEmotion(ReceivedEmotionResponse, EmotionOffset); + //EmotionBlendshapes = EmotionBlendshapesFrame.BlendShapes; + } + } + + // Broadcast the emotion state changed event + AsyncTask(ENamedThreads::GameThread, [this] { + OnEmotionStateChangedEvent.Broadcast(this, CurrentConvaiPlayerComponent); + }); +} + +void UConvaiChatbotComponent::onFinishedReceivingData() +{ + CONVAI_LOG(ConvaiChatbotComponentLog, Log, TEXT("UConvaiChatbotComponent Request Finished! | Character ID : %s | Session ID : %s"), + *CharacterID, + *SessionID); + if (ConvaiGRPCGetResponseProxy) + { + Unbind_GRPC_Request_Delegates(); + ConvaiGRPCGetResponseProxy = nullptr; + } + // Attempt to play all buffered audio and lipsync + TryPlayBufferedContent(true); +} + +void UConvaiChatbotComponent::OnNarrativeSectionReceived(FString BT_Code, FString BT_Constants, FString ReceivedNarrativeSectionID) +{ + // Broadcast to clients + if (UKismetSystemLibrary::IsServer(this) && ReplicateVoiceToNetwork) + { + if (IsInGameThread()) + { + Broadcast_OnNarrativeSectionReceived(BT_Code, BT_Constants, ReceivedNarrativeSectionID); + } + else + { + AsyncTask(ENamedThreads::GameThread, [this, BT_Code, BT_Constants, ReceivedNarrativeSectionID] + { + Broadcast_OnNarrativeSectionReceived(BT_Code, BT_Constants, ReceivedNarrativeSectionID); + }); + } + + } + + AsyncTask(ENamedThreads::GameThread, [this, ReceivedNarrativeSectionID] + { + OnNarrativeSectionReceivedEvent.Broadcast(this, ReceivedNarrativeSectionID); + }); +} + +void UConvaiChatbotComponent::onFailure() +{ + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("UConvaiChatbotComponent Get Response Failed! | Character ID : %s | Session ID : %s"), + *CharacterID, + *SessionID); + + // Broadcast the failure + AsyncTask(ENamedThreads::GameThread, [this] {OnFailureEvent.Broadcast(); }); + + onFinishedReceivingData(); +} + +void UConvaiChatbotComponent::OnRep_EnvironmentData() +{ + if (IsValid(Environment)) + { + Environment->SetFromEnvironment(ConvaiEnvironmentDetails); + } + else + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("OnRep_EnvironmentData: Environment is not valid")); + } +} + +void UConvaiChatbotComponent::UpdateEnvironmentData() +{ + if (IsValid(Environment)) + { + ConvaiEnvironmentDetails = Environment->ToEnvironmentStruct(); + } + else + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("UpdateEnvironmentData: Environment is not valid")); + } +} + +void UConvaiChatbotComponent::LoadEnvironment(UConvaiEnvironment* NewConvaiEnvironment) +{ + if (IsValid(Environment)) + { + Environment->SetFromEnvironment(NewConvaiEnvironment); + } + else + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("LoadEnvironment: Environment is not valid")); + } +} + +bool UConvaiChatbotComponent::CheckTokenValidity() +{ + if (!IsValid(CurrentConvaiPlayerComponent) || !CurrentConvaiPlayerComponent->CheckTokenValidty(Token)) + { + // Clear the time out timer just in case it was triggered by previous lack of data + ClearTimeOutTimer(); + return false; + } + return true; +} + +void UConvaiChatbotComponent::OnPlayerTimeOut() +{ + ClearTimeOutTimer(); + CurrentConvaiPlayerComponent = nullptr; + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("Player timed out | Character ID : %s | Session ID : %s"), + *CharacterID, + *SessionID); +} + +void UConvaiChatbotComponent::ClearTimeOutTimer() +{ + if (TimeOutTimerHandle.IsValid()) + { + GetWorld()->GetTimerManager().ClearTimer(TimeOutTimerHandle); + TimeOutTimerHandle.Invalidate(); + } +} + +bool UConvaiChatbotComponent::HasOnGoingGetResponseStream() +{ + return IsValid(ConvaiGRPCGetResponseProxy) && !ConvaiGRPCGetResponseProxy->IsStreamFinished(); +} + +bool UConvaiChatbotComponent::CanWriteToGetResponseStream() +{ + return IsValid(ConvaiGRPCGetResponseProxy) && HasOnGoingGetResponseStream() && ConvaiGRPCGetResponseProxy->CanWriteToStream(); +} + +bool UConvaiChatbotComponent::ConsumeMicStreamIntoBuffer() +{ + if (!IsValid(CurrentConvaiPlayerComponent)) + return false; + + // Consume the mic stream into our buffer + bool Successful = false; + PlayerInpuAudioBuffer.Empty(PlayerInpuAudioBuffer.Max()); // Empty the buffer but keep its memory allocation intact + Successful = CurrentConvaiPlayerComponent->ConsumeStreamingBuffer(PlayerInpuAudioBuffer); + + return Successful; +} + +void UConvaiChatbotComponent::BeginPlay() +{ + Super::BeginPlay(); + + Environment = NewObject(); + + PlayerInpuAudioBuffer.SetNumUninitialized(ConvaiConstants::VoiceCaptureSampleRate * 10); // Buffer allocated 10 seconds of audio into memory + + if (IsValid(Environment)) + { + Environment->OnEnvironmentChanged.BindUObject(this, &UConvaiChatbotComponent::UpdateEnvironmentData); + } + else + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("BeginPlay: Environment is not valid")); + } + + // Get character details + if (CharacterID != "") + ConvaiGetDetails(); + + // Register with the ConvaiSubsystem + if (UGameInstance* GameInstance = GetWorld()->GetGameInstance()) + { + if (UConvaiSubsystem* ConvaiSubsystem = GameInstance->GetSubsystem()) + { + if (IsValid(ConvaiSubsystem)) + { + ConvaiSubsystem->RegisterChatbotComponent(this); + } + else + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("BeginPlay: ConvaiSubsystem is not valid")); + } + } + } +} + +void UConvaiChatbotComponent::EndPlay(const EEndPlayReason::Type EndPlayReason) +{ + // Unregister from the ConvaiSubsystem + if (UGameInstance* GameInstance = GetWorld()->GetGameInstance()) + { + if (UConvaiSubsystem* ConvaiSubsystem = GameInstance->GetSubsystem()) + { + if (IsValid(ConvaiSubsystem)) + { + ConvaiSubsystem->UnregisterChatbotComponent(this); + } + } + } + + Super::EndPlay(EndPlayReason); +} + +void UConvaiChatbotComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) +{ + Super::TickComponent(DeltaTime, TickType, ThisTickFunction); + + if (!CanWriteToGetResponseStream()) + { + ClearTimeOutTimer(); + return; + } + + bool Successful = ConsumeMicStreamIntoBuffer(); + if (Successful) + ConvaiGRPCGetResponseProxy->WriteAudioDataToSend(PlayerInpuAudioBuffer.GetData(), PlayerInpuAudioBuffer.Num()); + + if (!Successful) + { + // Start the time out timer if we did not start yet + if (!TimeOutTimerHandle.IsValid()) + { + GetWorld()->GetTimerManager().SetTimer(TimeOutTimerHandle, this, &UConvaiChatbotComponent::OnPlayerTimeOut, ConvaiConstants::PlayerTimeOut / 1000, false); + } + } + else // Make sure the time out timer is cleared on a successful read or that we have finished reading from the mic + { + ClearTimeOutTimer(); + } +} + +void UConvaiChatbotComponent::BeginDestroy() +{ + // Fallback unregistration in case EndPlay wasn't called + if (UGameInstance* GameInstance = GetWorld() ? GetWorld()->GetGameInstance() : nullptr) + { + if (UConvaiSubsystem* ConvaiSubsystem = GameInstance->GetSubsystem()) + { + if (IsValid(ConvaiSubsystem)) + { + ConvaiSubsystem->UnregisterChatbotComponent(this); + } + } + } + + if (IsValid(Environment)) + { + Environment->OnEnvironmentChanged.Unbind(); + } + Unbind_GRPC_Request_Delegates(); + Cleanup(true); + Super::BeginDestroy(); +} + +bool UConvaiChatbotComponent::CanUseLipSync() +{ + return true; +} + +bool UConvaiChatbotComponent::CanUseVision() +{ + return true; +} + +UConvaiChatBotGetDetailsProxy* UConvaiChatbotComponent::ConvaiGetDetails() +{ + ConvaiChatBotGetDetailsDelegate.BindUFunction(this, "OnConvaiGetDetailsCompleted"); + + if (IsValid(ConvaiChatBotGetDetailsProxy)) + { + ConvaiChatBotGetDetailsProxy->OnSuccess.Clear(); + ConvaiChatBotGetDetailsProxy->OnFailure.Clear(); + } + + + ConvaiChatBotGetDetailsProxy = UConvaiChatBotGetDetailsProxy::CreateCharacterGetDetailsProxy(this, CharacterID); + ConvaiChatBotGetDetailsProxy->OnSuccess.Add(ConvaiChatBotGetDetailsDelegate); + ConvaiChatBotGetDetailsProxy->OnFailure.Add(ConvaiChatBotGetDetailsDelegate); + ConvaiChatBotGetDetailsProxy->Activate(); + return ConvaiChatBotGetDetailsProxy; +} + +void UConvaiChatbotComponent::OnConvaiGetDetailsCompleted(FString ReceivedCharacterName, FString ReceivedVoiceType, FString ReceivedBackstory, FString ReceivedLanguageCode, bool HasReadyPlayerMeLink, FString ReceivedReadyPlayerMeLink, FString ReceivedAvatarImageLink) +{ + if (ReceivedCharacterName == "" && ReceivedVoiceType == "" && ReceivedBackstory == "") + { + CONVAI_LOG(ConvaiChatbotComponentLog, Warning, TEXT("OnConvaiGetDetailsCompleted: Could not get character details for charID:\"%s\""), *CharacterID); + OnCharacterDataLoadEvent.Broadcast(false); + return; + } + + CharacterName = ReceivedCharacterName; + VoiceType = ReceivedVoiceType; + Backstory = ReceivedBackstory; + LanguageCode = ReceivedLanguageCode; + ReadyPlayerMeLink = ReceivedReadyPlayerMeLink; + AvatarImageLink = ReceivedAvatarImageLink; + + OnCharacterDataLoadEvent.Broadcast(true); + ConvaiChatBotGetDetailsProxy = nullptr; +} diff --git a/ConvAI/Convai/Source/Convai/Private/ConvaiDefinitions.cpp b/ConvAI/Convai/Source/Convai/Private/ConvaiDefinitions.cpp new file mode 100644 index 0000000..113982d --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/ConvaiDefinitions.cpp @@ -0,0 +1,12 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + + +#include "ConvaiDefinitions.h" + +const TMap FConvaiEmotionState::ScoreMultipliers = +{ + {EEmotionIntensity::None, 0.0}, + {EEmotionIntensity::LessIntense, 0.25}, + {EEmotionIntensity::Basic, 0.6}, + {EEmotionIntensity::MoreIntense, 1} +}; \ No newline at end of file diff --git a/ConvAI/Convai/Source/Convai/Private/ConvaiFaceSync.cpp b/ConvAI/Convai/Source/Convai/Private/ConvaiFaceSync.cpp new file mode 100644 index 0000000..0db4c79 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/ConvaiFaceSync.cpp @@ -0,0 +1,346 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + +#include "ConvaiFaceSync.h" +#include "Misc/ScopeLock.h" +#include "ConvaiUtils.h" + +DEFINE_LOG_CATEGORY(ConvaiFaceSyncLog); + +namespace +{ + // Helper function: Creates a zero blendshapes map + TMap CreateZeroBlendshapes() + { + TMap ZeroBlendshapes; + for (const auto& BlendShapeName : ConvaiConstants::BlendShapesNames) + { + ZeroBlendshapes.Add(*BlendShapeName, 0.0); + } + return ZeroBlendshapes; + } + + // Helper function: Creates a zero visemes map + TMap CreateZeroVisemes() + { + TMap ZeroVisemes; + for (const auto& VisemeName : ConvaiConstants::VisemeNames) + { + ZeroVisemes.Add(*VisemeName, 0.0); + } + ZeroVisemes["sil"] = 1; + return ZeroVisemes; + } + + + float Calculate1DBezierCurve(float t, float P0, float P1, float P2, float P3) + { + // Make sure t is in the range [0, 1] + t = FMath::Clamp(t, 0.0f, 1.0f); + + // Calculate the 1D Bezier curve value at time t + float result = FMath::Pow(1.0f - t, 3.0f) * P0 + 3.0f * FMath::Pow(1.0f - t, 2.0f) * t * P1 + + 3.0f * (1.0f - t) * FMath::Pow(t, 2.0f) * P2 + FMath::Pow(t, 3.0f) * P3; + + return result; + } +}; + + +const TMap UConvaiFaceSyncComponent::ZeroBlendshapeFrame = CreateZeroBlendshapes(); +const TMap UConvaiFaceSyncComponent::ZeroVisemeFrame = CreateZeroVisemes(); + +UConvaiFaceSyncComponent::UConvaiFaceSyncComponent() +{ + PrimaryComponentTick.bCanEverTick = true; + CurrentSequenceTimePassed = 0; + bAutoActivate = true; + //CurrentBlendShapesMap = ZeroBlendshapeFrame; +} + +UConvaiFaceSyncComponent::~UConvaiFaceSyncComponent() // Implement destructor +{ + +} + +void UConvaiFaceSyncComponent::BeginPlay() +{ + Super::BeginPlay(); + CurrentBlendShapesMap = GenerateZeroFrame(); +} + +void UConvaiFaceSyncComponent::TickComponent(float DeltaTime, ELevelTick TickType, + FActorComponentTickFunction* ThisTickFunction) +{ + Super::TickComponent(DeltaTime, TickType, ThisTickFunction); + + // Interpolate blendshapes and advance animation sequence + if (IsValidSequence(MainSequenceBuffer)) + { + SequenceCriticalSection.Lock(); + + // Calculate time passed since ConvaiProcessLipSyncAdvanced was called + double CurrentTime = FPlatformTime::Seconds(); + CurrentSequenceTimePassed = CurrentTime - StartTime; + + if (CurrentSequenceTimePassed > MainSequenceBuffer.Duration) + { + ConvaiStopLipSync(); + SequenceCriticalSection.Unlock(); + return; + } + + bIsPlaying = true; + + // Calculate frame duration and offsets + float FrameDuration = MainSequenceBuffer.Duration / MainSequenceBuffer.AnimationFrames.Num(); + float FrameOffset = FrameDuration * 0.5f; + int32 FrameIndex; + int32 BufferIndex; + + TMap StartFrame; + TMap EndFrame; + float Alpha; + + // Choose the current and next BlendShapes + if (CurrentSequenceTimePassed <= FrameOffset) + { + //StartFrame = ZeroBlendshapeFrame; + StartFrame = GetCurrentFrame(); + EndFrame = MainSequenceBuffer.AnimationFrames[0].BlendShapes; + Alpha = CurrentSequenceTimePassed / FrameOffset + 0.5; + FrameIndex = MainSequenceBuffer.AnimationFrames[0].FrameIndex; + BufferIndex = 0; + } + else if (CurrentSequenceTimePassed >= MainSequenceBuffer.Duration - FrameOffset) + { + int LastFrameIdx = MainSequenceBuffer.AnimationFrames.Num() - 1; + StartFrame = MainSequenceBuffer.AnimationFrames[LastFrameIdx].BlendShapes; + EndFrame = GenerateZeroFrame(); + Alpha = (CurrentSequenceTimePassed - (MainSequenceBuffer.Duration - FrameOffset)) / FrameOffset; + FrameIndex = MainSequenceBuffer.AnimationFrames[LastFrameIdx].FrameIndex; + BufferIndex = LastFrameIdx; + } + else + { + int CurrentFrameIndex = FMath::FloorToInt((CurrentSequenceTimePassed - FrameOffset) / FrameDuration); + CurrentFrameIndex = FMath::Min(CurrentFrameIndex, MainSequenceBuffer.AnimationFrames.Num() - 1); + int NextFrameIndex = FMath::Min(CurrentFrameIndex + 1, MainSequenceBuffer.AnimationFrames.Num() - 1); + StartFrame = MainSequenceBuffer.AnimationFrames[CurrentFrameIndex].BlendShapes; + EndFrame = MainSequenceBuffer.AnimationFrames[NextFrameIndex].BlendShapes; + Alpha = (CurrentSequenceTimePassed - FrameOffset - (CurrentFrameIndex * FrameDuration)) / FrameDuration; + + Apply_StartEndFrames_PostProcessing(CurrentFrameIndex, NextFrameIndex, Alpha, StartFrame, EndFrame); + + FrameIndex = MainSequenceBuffer.AnimationFrames[CurrentFrameIndex].FrameIndex; + BufferIndex = CurrentFrameIndex; + } + SequenceCriticalSection.Unlock(); + + // CONVAI_LOG(ConvaiFaceSyncLog, Log, TEXT("Evaluate: FrameIndex:%d Alpha: %f FramesLeft: %d"), FrameIndex, Alpha, MainSequenceBuffer.AnimationFrames.Num() - BufferIndex); + + //CurrentBlendShapesMap = StartFrame; + CurrentBlendShapesMap = InterpolateFrames(StartFrame, EndFrame, Alpha); + + ApplyPostProcessing(); + + // Trigger the blueprint event + OnVisemesDataReady.ExecuteIfBound(); + } +} + +void UConvaiFaceSyncComponent::ConvaiApplyPrecomputedFacialAnimation(uint8* InPCMData, uint32 InPCMDataSize, uint32 InSampleRate, uint32 InNumChannels, FAnimationSequence FaceSequence) +{ + SequenceCriticalSection.Lock(); + MainSequenceBuffer.AnimationFrames.Append(FaceSequence.AnimationFrames); + MainSequenceBuffer.Duration += FaceSequence.Duration; + MainSequenceBuffer.FrameRate = FaceSequence.FrameRate; + CalculateStartingTime(); + SequenceCriticalSection.Unlock(); + + if (IsRecordingLipSync) + { + FScopeLock ScopeLock(&RecordingCriticalSection); + RecordedSequenceBuffer.AnimationFrames.Append(FaceSequence.AnimationFrames); + RecordedSequenceBuffer.Duration += FaceSequence.Duration; + RecordedSequenceBuffer.FrameRate = FaceSequence.FrameRate; + } +} + +void UConvaiFaceSyncComponent::ConvaiApplyFacialFrame(FAnimationFrame FaceFrame, float Duration) +{ + SequenceCriticalSection.Lock(); + if (!GeneratesVisemesAsBlendshapes()) + { + float* sil = FaceFrame.BlendShapes.Find("sil"); + if (sil != nullptr && *sil < 0) + { + ClearMainSequence(); + Stopping = true; + return; + } + } + + MainSequenceBuffer.AnimationFrames.Add(FaceFrame); + MainSequenceBuffer.Duration += Duration; + MainSequenceBuffer.FrameRate = Duration==0? -1 : 1.0/Duration; + SequenceCriticalSection.Unlock(); + + if (IsRecordingLipSync) + { + FScopeLock ScopeLock(&RecordingCriticalSection); + RecordedSequenceBuffer.AnimationFrames.Add(FaceFrame); + RecordedSequenceBuffer.Duration += Duration; + RecordedSequenceBuffer.FrameRate = Duration == 0 ? -1 : 1.0 / Duration; + } +} + +void UConvaiFaceSyncComponent::StartRecordingLipSync() +{ + if (IsRecordingLipSync) + { + CONVAI_LOG(ConvaiFaceSyncLog, Warning, TEXT("Cannot start Recording LipSync while already recording LipSync")); + return; + } + + CONVAI_LOG(ConvaiFaceSyncLog, Log, TEXT("Started Recording LipSync")); + IsRecordingLipSync = true; +} + +FAnimationSequenceBP UConvaiFaceSyncComponent::FinishRecordingLipSync() +{ + CONVAI_LOG(ConvaiFaceSyncLog, Log, TEXT("Finished Recording LipSync - Total Frames: %d - Duration: %f"), RecordedSequenceBuffer.AnimationFrames.Num(), RecordedSequenceBuffer.Duration); + + if (!IsRecordingLipSync) + return FAnimationSequenceBP(); + + FScopeLock ScopeLock(&RecordingCriticalSection); + IsRecordingLipSync = false; + + FAnimationSequenceBP AnimationSequenceBP; + AnimationSequenceBP.AnimationSequence = RecordedSequenceBuffer; + RecordedSequenceBuffer.AnimationFrames.Empty(); + RecordedSequenceBuffer.Duration = 0; + return AnimationSequenceBP; +} + +bool UConvaiFaceSyncComponent::PlayRecordedLipSync(FAnimationSequenceBP RecordedLipSync, int StartFrame, int EndFrame, float OverwriteDuration) +{ + if (!IsValidSequence(RecordedLipSync.AnimationSequence)) + { + CONVAI_LOG(ConvaiFaceSyncLog, Warning, TEXT("Recorded LipSync is not valid - Total Frames: %d - Duration: %f"), RecordedLipSync.AnimationSequence.AnimationFrames.Num(), RecordedLipSync.AnimationSequence.Duration); + return false; + } + + if (IsRecordingLipSync) + { + CONVAI_LOG(ConvaiFaceSyncLog, Warning, TEXT("Cannot Play Recorded LipSync while Recording LipSync")); + return false; + } + + if (IsValidSequence(MainSequenceBuffer)) + { + CONVAI_LOG(ConvaiFaceSyncLog, Warning, TEXT("Playing Recorded LipSync and stopping currently playing LipSync")); + ConvaiStopLipSync(); + } + + if (StartFrame > 0 && StartFrame > RecordedLipSync.AnimationSequence.AnimationFrames.Num() - 1) + { + CONVAI_LOG(ConvaiFaceSyncLog, Warning, TEXT("StartFrame is greater than the recorded LipSync - StartFrame: %d Total Frames: %d - Duration: %f"), StartFrame, RecordedLipSync.AnimationSequence.AnimationFrames.Num(), RecordedLipSync.AnimationSequence.Duration); + return false; + } + + + if (EndFrame > 0 && EndFrame < StartFrame) + { + CONVAI_LOG(ConvaiFaceSyncLog, Warning, TEXT("StartFrame cannot be greater than the EndFrame")); + return false; + } + + //if (EndFrame > 0 && EndFrame > RecordedLipSync.AnimationSequence.AnimationFrames.Num() - 1) + //{ + // CONVAI_LOG(ConvaiFaceSyncLog, Warning, TEXT("EndFrame is greater than the recorded LipSync - EndFrame: %d Total Frames: %d - Duration: %f"), EndFrame, RecordedLipSync.AnimationSequence.AnimationFrames.Num(), RecordedLipSync.AnimationSequence.Duration); + // return false; + //} + + if (EndFrame > 0 && EndFrame < RecordedLipSync.AnimationSequence.AnimationFrames.Num()-1) + { + float FrameDuration = RecordedLipSync.AnimationSequence.Duration / RecordedLipSync.AnimationSequence.AnimationFrames.Num(); + int NumRemovedFrames = RecordedLipSync.AnimationSequence.AnimationFrames.Num() - EndFrame - 1; + RecordedLipSync.AnimationSequence.AnimationFrames.RemoveAt(EndFrame + 1, NumRemovedFrames); + float RemovedDuration = NumRemovedFrames * FrameDuration; + RecordedLipSync.AnimationSequence.Duration -= RemovedDuration; + } + + if (StartFrame > 0) + { + float FrameDuration = RecordedLipSync.AnimationSequence.Duration / RecordedLipSync.AnimationSequence.AnimationFrames.Num(); + int NumRemovedFrames = StartFrame; + RecordedLipSync.AnimationSequence.AnimationFrames.RemoveAt(0, NumRemovedFrames); + float RemovedDuration = NumRemovedFrames * FrameDuration; + RecordedLipSync.AnimationSequence.Duration -= RemovedDuration; + } + + if (OverwriteDuration > 0) + { + RecordedLipSync.AnimationSequence.Duration = OverwriteDuration; + } + + CONVAI_LOG(ConvaiFaceSyncLog, Log, TEXT("Playing Recorded LipSync - Total Frames: %d - Duration: %f"), RecordedLipSync.AnimationSequence.AnimationFrames.Num(), RecordedLipSync.AnimationSequence.Duration); + ConvaiApplyPrecomputedFacialAnimation(nullptr, 0, 0, 0, RecordedLipSync.AnimationSequence); + return true; +} + +bool UConvaiFaceSyncComponent::IsValidSequence(const FAnimationSequence& Sequence) +{ + if (Sequence.Duration > 0 && Sequence.AnimationFrames.Num() > 0 && Sequence.AnimationFrames[0].BlendShapes.Num() > 0) + return true; + else + return false; +} + +bool UConvaiFaceSyncComponent::IsPlaying() +{ + return bIsPlaying; +} + +void UConvaiFaceSyncComponent::CalculateStartingTime() +{ + if (!bIsPlaying) + StartTime = FPlatformTime::Seconds(); +} + +void UConvaiFaceSyncComponent::ForceRecalculateStartTime() +{ + StartTime = FPlatformTime::Seconds(); +} + +void UConvaiFaceSyncComponent::ClearMainSequence() +{ + SequenceCriticalSection.Lock(); + MainSequenceBuffer.AnimationFrames.Empty(); + MainSequenceBuffer.Duration = 0; + SequenceCriticalSection.Unlock(); +} + +TMap UConvaiFaceSyncComponent::InterpolateFrames(const TMap& StartFrame, const TMap& EndFrame, float Alpha) +{ + const TArray& CurveNames = GeneratesVisemesAsBlendshapes() ? ConvaiConstants::BlendShapesNames : ConvaiConstants::VisemeNames; + TMap Result; + for (const auto& CurveName : CurveNames) + { + float StartValue = StartFrame.Contains(*CurveName) ? StartFrame[*CurveName] : 0.0; + float EndValue = EndFrame.Contains(*CurveName) ? EndFrame[*CurveName] : 0.0; + Result.Add(*CurveName, FMath::Lerp(StartValue, EndValue, Alpha)); + } + return Result; +} + +void UConvaiFaceSyncComponent::ConvaiStopLipSync() +{ + bIsPlaying = false; + CurrentSequenceTimePassed = 0; + ClearMainSequence(); + SetCurrentFrametoZero(); + OnVisemesDataReady.ExecuteIfBound(); + // CONVAI_LOG(ConvaiFaceSyncLog, Warning, TEXT("Stopping LipSync")); +} diff --git a/ConvAI/Convai/Source/Convai/Private/ConvaiGRPC.cpp b/ConvAI/Convai/Source/Convai/Private/ConvaiGRPC.cpp new file mode 100644 index 0000000..671c3d3 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/ConvaiGRPC.cpp @@ -0,0 +1,1131 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + + +#include "ConvaiGRPC.h" +#include "../Convai.h" +#include "ConvaiDefinitions.h" +#include "ConvaiActionUtils.h" +#include "ConvaiUtils.h" +#include "JsonObjectConverter.h" +#include "Kismet/GameplayStatics.h" +#include "Engine/GameInstance.h" +#include "Engine/Engine.h" +#include "HAL/PlatformProcess.h" +#include +#include "Engine/EngineTypes.h" +#include "Utility/Log/ConvaiLogger.h" + +THIRD_PARTY_INCLUDES_START +#include +THIRD_PARTY_INCLUDES_END + +// Needed for CURL to work +//#pragma comment (lib, "crypt32.lib") + +DEFINE_LOG_CATEGORY(ConvaiGRPCLog); +DEFINE_LOG_CATEGORY(ConvaiGRPCFeedBackLog); + +using ::service::GetResponseRequest_GetResponseConfig; +using ::service::TriggerConfig; +using ::service::ActionConfig; +using ::service::VisionInput; +using ::service::VisionInput_ImageData; +using ::service::AudioConfig; +using ::service::ActionConfig_Object; +using ::service::ActionConfig_Character; +using ::service::GetResponseRequest_GetResponseData; +using ::service::FaceModel; +using ::service::DynamicInfoConfig; + +using ::service::FeedbackRequest; +using ::service::FeedbackRequest_Feedback; + +using grpc::Channel; +using grpc::ClientAsyncResponseReader; +using grpc::ClientContext; +using grpc::CompletionQueue; +using grpc::Status; +using service::ConvaiService; + + + +namespace { + const char* StatusCodeStr[] = + { + "OK", + "CANCELLED", + "UNKNOWN", + "INVALID_ARGUMENT", + "DEADLINE_EXCEEDED", + "NOT_FOUND", + "ALREADY_EXISTS", + "PERMISSION_DENIED", + "UNAUTHENTICATED", + "RESOURCE_EXHAUSTED", + "FAILED_PRECONDITION", + "ABORTED", + "OUT_OF_RANGE", + "UNIMPLEMENTED", + "INTERNAL", + "UNAVAILABLE", + "DATA_LOSS", + "DO_NOT_USE" }; +} + +UConvaiGRPCGetResponseProxy* UConvaiGRPCGetResponseProxy::CreateConvaiGRPCGetResponseProxy(UObject* WorldContextObject, FConvaiGRPCGetResponseParams ConvaiGRPCGetResponseParams) +{ + UConvaiGRPCGetResponseProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->ConvaiGRPCGetResponseParams = ConvaiGRPCGetResponseParams; + Proxy->MaxRetries = 3; + + return Proxy; +} + +void UConvaiGRPCGetResponseProxy::Activate() +{ + AddToRoot(); + + OnInitStreamDelegate = FgRPC_Delegate::CreateUObject(this, &ThisClass::OnStreamInit); + OnStreamReadDelegate = FgRPC_Delegate::CreateUObject(this, &ThisClass::OnStreamRead); + OnStreamWriteDelegate = FgRPC_Delegate::CreateUObject(this, &ThisClass::OnStreamWrite); + OnStreamWriteDoneDelegate = FgRPC_Delegate::CreateUObject(this, &ThisClass::OnStreamWriteDone); + OnStreamFinishDelegate = FgRPC_Delegate::CreateUObject(this, &ThisClass::OnStreamFinish); + + reply = std::unique_ptr(new service::GetResponseResponse()); + + // Form Validation + if (!UConvaiFormValidation::ValidateAuthKey(ConvaiGRPCGetResponseParams.AuthKey) || !(UConvaiFormValidation::ValidateCharacterID(ConvaiGRPCGetResponseParams.CharID)) || !(UConvaiFormValidation::ValidateSessionID(ConvaiGRPCGetResponseParams.SessionID))) + { + OnFailure.ExecuteIfBound(); + return; + } + + if (!WorldPtr.IsValid()) + { + CONVAI_LOG(ConvaiGRPCLog, Warning, TEXT("WorldPtr not valid")); + OnFailure.ExecuteIfBound(); + return; + } + + UConvaiSubsystem* ConvaiSubsystem = UConvaiUtils::GetConvaiSubsystem(WorldPtr.Get()); + if (!ConvaiSubsystem) + { + CONVAI_LOG(ConvaiGRPCLog, Warning, TEXT("Convai Subsystem is not valid")); + OnFailure.ExecuteIfBound(); + return; + } + + // Create a new stub instance + stub_ = ConvaiSubsystem->gRPC_Runnable->GetNewStub(); + if (!stub_) + { + CONVAI_LOG(ConvaiGRPCLog, Warning, TEXT("Could not aquire a new stub instance")); + OnFailure.ExecuteIfBound(); + return; + } + + // Aquire the completion queue instance + cq_ = ConvaiSubsystem->gRPC_Runnable->GetCompletionQueue(); + if (!cq_) + { + CONVAI_LOG(ConvaiGRPCLog, Warning, TEXT("Got an invalid completion queue instance")); + OnFailure.ExecuteIfBound(); + return; + } + + bool Found; + FString VersionName; + FString EngineVersion; + FString PlatformName; + FString PluginEngineVersion; + FString FriendlyName; + + UConvaiUtils::GetPluginInfo(FString("Convai"), Found, VersionName, FriendlyName, PluginEngineVersion); + UConvaiUtils::GetPlatformInfo(EngineVersion, PlatformName); + + // Add metadata + client_context.AddMetadata("engine", "Unreal Engine"); + client_context.AddMetadata("engine_version", TCHAR_TO_UTF8(*EngineVersion)); + client_context.AddMetadata("platform_name", TCHAR_TO_UTF8(*PlatformName)); + + if (Found) + { + client_context.AddMetadata("plugin_engine_version", TCHAR_TO_UTF8(*PluginEngineVersion)); + client_context.AddMetadata("plugin_version", TCHAR_TO_UTF8(*VersionName)); + client_context.AddMetadata("plugin_base_name", TCHAR_TO_UTF8(*FriendlyName)); + } + else + { + client_context.AddMetadata("plugin_engine_version", "Unknown"); + client_context.AddMetadata("plugin_version", "Unknown"); + client_context.AddMetadata("plugin_base_name", "Unknown"); + } + + ReceivedFinish = false; + + // Set long timeout for request + std::chrono::system_clock::time_point deadline = std::chrono::system_clock::now() + std::chrono::hours(1); + client_context.set_deadline(deadline); + + // Initialize the stream + FScopeLock Lock(&GPRCInitSection); + stream_handler = stub_->AsyncGetResponse(&client_context, cq_, (void*)&OnInitStreamDelegate); + CONVAI_LOG(ConvaiGRPCLog, Log, + TEXT("AsyncGetResponse started | Character ID : %s | Session ID : %s"), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); +} + +void UConvaiGRPCGetResponseProxy::WriteAudioDataToSend(uint8* Buffer, uint32 Length) +{ + m_mutex.Lock(); + + AudioBuffer.Append(Buffer, Length); + + m_mutex.Unlock(); + + // CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("WriteAudioDataToSend:: InformOnDataReceived = %s"), InformOnDataReceived ? *FString("True") : *FString("False")); + if (InformOnDataReceived) + { + // Reset + InformOnDataReceived = false; + + //CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("WriteAudioDataToSend:: Informing On Data Received")); + + // Inform of new data to send + OnStreamWrite(true); + } +} + +void UConvaiGRPCGetResponseProxy::FinishWriting() +{ + LastWriteReceived = true; + + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("Finish Writing to audio data buffer")); + + if (InformOnDataReceived) + { + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("FinishWriting:: Informing On Data Received")); + + // Inform of new data to send + OnStreamWrite(true); + + + // Reset + InformOnDataReceived = false; + } +} + +void UConvaiGRPCGetResponseProxy::BeginDestroy() +{ + client_context.TryCancel(); + stub_.reset(); + CONVAI_LOG(ConvaiGRPCLog, Log, + TEXT("Destroying UConvaiGRPCGetResponseProxy... | Character ID : %s | Session ID : %s"), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); + Super::BeginDestroy(); +} + +void UConvaiGRPCGetResponseProxy::CallFinish() +{ + if (CalledFinish || !stream_handler) + { + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("stream_handler->Finish is already called | Character ID : %s | Session ID : %s"), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); + return; + } + + CalledFinish = true; + CONVAI_LOG(ConvaiGRPCLog, Log, + TEXT("Calling Stream Finish | Character ID : %s | Session ID : %s"), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); + stream_handler->Finish(&status, (void*)&OnStreamFinishDelegate); +} + +TArray UConvaiGRPCGetResponseProxy::ConsumeFromAudioBuffer(bool& IsThisTheFinalWrite) +{ + // TODO: (Mohamed) optimize and clean this to reduce number of copying operations to not spend much time in CS, also reserve memory for "output" array before entering + + TArray output; + + m_mutex.Lock(); + //uint32 Length = FMath::Min(AudioBuffer.Num(), (int32)ConvaiConstants::VoiceStreamMaxChunk); + uint32 Length = AudioBuffer.Num(); + if (Length) + { + output.Append(AudioBuffer.GetData(), Length); + + if (Length == AudioBuffer.Num()) + AudioBuffer.Empty(AudioBuffer.Max()); + else + AudioBuffer.RemoveAt(0, Length); + } + + + if (LastWriteReceived) + IsThisTheFinalWrite = true; + else + IsThisTheFinalWrite = false; + m_mutex.Unlock(); + + return output; +} + +void UConvaiGRPCGetResponseProxy::LogAndEcecuteFailure(FString FuncName) +{ + CONVAI_LOG(ConvaiGRPCLog, Warning, + TEXT("%s: Status.ok():%s | Debug Log:%s | Error message:%s | Error Details:%s | Error Code:%i | Character ID:%s | Session ID:%s"), + *FString(FuncName), + *FString(status.ok() ? "Ok" : "Not Ok"), + *FString(reply->DebugString().c_str()), + *FString(status.error_message().c_str()), + *FString(status.error_details().c_str()), + status.error_code(), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); + + if (!FailAlreadyExecuted) + { + OnFailure.ExecuteIfBound(); + FailAlreadyExecuted = true; + } +} + +void UConvaiGRPCGetResponseProxy::ExtendDeadline() +{ + // Extend the deadline + std::chrono::system_clock::time_point deadline = + std::chrono::system_clock::now() + std::chrono::milliseconds(3000); + //client_context.set_deadline(deadline); +} + +void UConvaiGRPCGetResponseProxy::OnStreamInit(bool ok) +{ + + //TODO (Mohamed) handle status variable + + +#if ENGINE_MAJOR_VERSION < 5 + if (!IsValid(this) || HasAnyFlags(RF_BeginDestroyed)) + { + CONVAI_LOG(ConvaiGRPCLog, Warning, TEXT("OnStreamInit Could not initialize due to pending kill! | Character ID : %s | Session ID : %s"), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); + LogAndEcecuteFailure("OnStreamInit"); + return; +} +#else + if (!IsValid(this) || !IsValidChecked(this) || HasAnyFlags(RF_BeginDestroyed)) + { + CONVAI_LOG(ConvaiGRPCLog, Warning, TEXT("OnStreamInit Could not initialize due to pending kill! | Character ID : %s | Session ID : %s"), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); + LogAndEcecuteFailure("OnStreamInit"); + return; + } +#endif + + if (!ok || !status.ok()) + { + LogAndEcecuteFailure("OnStreamInit"); + return; + } + + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("GRPC GetResponse stream initialized | Character ID : %s | Session ID : %s"), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); + + FScopeLock Lock(&GPRCInitSection); + + // Create Action Configuration + ActionConfig* action_config = new ActionConfig(); + FString MainCharacter; + if (ConvaiGRPCGetResponseParams.GenerateActions && IsValid(ConvaiGRPCGetResponseParams.Environment)) + { + action_config->set_classification("multistep"); + for (FString action : ConvaiGRPCGetResponseParams.Environment->Actions) // Add Actions + { + action_config->add_actions(TCHAR_TO_UTF8(*action)); + } + + for (FConvaiObjectEntry object : ConvaiGRPCGetResponseParams.Environment->Objects) // Add Objects + { + ActionConfig_Object* action_config_object = action_config->add_objects(); + FString FinalName = object.Name; + if (object.Description.Len()) + { + FinalName = FinalName.Append(*FString(" <")); + FinalName = FinalName.Append(*object.Description); + FinalName = FinalName.Append(">"); + } + action_config_object->set_name(TCHAR_TO_UTF8(*FinalName)); + action_config_object->set_description(TCHAR_TO_UTF8(*object.Description)); + } + + for (FConvaiObjectEntry character : ConvaiGRPCGetResponseParams.Environment->Characters) // Add Characters + { + ActionConfig_Character* action_config_character = action_config->add_characters(); + FString FinalName = character.Name; + if (character.Description.Len()) + { + FinalName = FinalName.Append(*FString(" <")); + FinalName = FinalName.Append(*character.Description); + FinalName = FinalName.Append(">"); + } + + action_config_character->set_name(TCHAR_TO_UTF8(*FinalName)); + action_config_character->set_bio(TCHAR_TO_UTF8(*character.Description)); + } + + // Check if we have an attention object set + FConvaiObjectEntry AttentionObject = ConvaiGRPCGetResponseParams.Environment->AttentionObject; + if (AttentionObject.Name.Len() != 0) + { + FString FinalName = AttentionObject.Name; + if (AttentionObject.Description.Len()) + { + FinalName = FinalName.Append(*FString(" <")); + FinalName = FinalName.Append(*AttentionObject.Description); + FinalName = FinalName.Append(">"); + } + action_config->set_current_attention_object(TCHAR_TO_UTF8(*FinalName)); + } + } + + if (IsValid(ConvaiGRPCGetResponseParams.Environment)) + { + // Get the speaker/main character name + MainCharacter = ConvaiGRPCGetResponseParams.Environment->MainCharacter.Name; + } + + // Create Audio Configuration + AudioConfig* audio_config = new AudioConfig(); + audio_config->set_sample_rate_hertz((int32)ConvaiConstants::VoiceCaptureSampleRate); + audio_config->set_enable_facial_data(ConvaiGRPCGetResponseParams.RequireFaceData); + audio_config->set_disable_audio(!ConvaiGRPCGetResponseParams.VoiceResponse); + if (ConvaiGRPCGetResponseParams.RequireFaceData) + { + //FaceModel faceModel = ConvaiGRPCGetResponseParams.GeneratesVisemesAsBlendshapes ? FaceModel::FACE_MODEL_A_2X_MODEL_NAME : FaceModel::FACE_MODEL_OVR_MODEL_NAME; + FaceModel faceModel = ConvaiGRPCGetResponseParams.GeneratesVisemesAsBlendshapes ? FaceModel::FACE_MODEL_PHONEMES_MODEL_NAME : FaceModel::FACE_MODEL_OVR_MODEL_NAME; + audio_config->set_face_model(faceModel); + } + + // Create the config object that holds Audio and Action configs + GetResponseRequest_GetResponseConfig* getResponseConfig = new GetResponseRequest_GetResponseConfig(); + + if (ConvaiGRPCGetResponseParams.AuthHeader == ConvaiConstants::Auth_Token_Header) + { + getResponseConfig->set_api_auth_token(TCHAR_TO_UTF8(*ConvaiGRPCGetResponseParams.AuthKey)); + } + else if (ConvaiGRPCGetResponseParams.AuthHeader == ConvaiConstants::API_Key_Header) + { + getResponseConfig->set_api_key(TCHAR_TO_UTF8(*ConvaiGRPCGetResponseParams.AuthKey)); + } + else + { + CONVAI_LOG(ConvaiGRPCLog, Warning, TEXT("OnStreamInit Could not initialize due to invalid Authentication type! | Character ID : %s | Session ID : %s | Authentication type: %s | Authentication Key: %s"), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID, + *ConvaiGRPCGetResponseParams.AuthHeader, + *ConvaiGRPCGetResponseParams.AuthKey); + LogAndEcecuteFailure("OnStreamInit"); + return; + } + + + getResponseConfig->set_session_id(TCHAR_TO_UTF8(*ConvaiGRPCGetResponseParams.SessionID)); + getResponseConfig->set_character_id(TCHAR_TO_UTF8(*ConvaiGRPCGetResponseParams.CharID)); + + if (ConvaiGRPCGetResponseParams.GenerateActions) + { + getResponseConfig->set_allocated_action_config(action_config); + getResponseConfig->set_speaker(TCHAR_TO_UTF8(*MainCharacter)); + } + getResponseConfig->set_allocated_audio_config(audio_config); + + // Set narrative_template_keys + google::protobuf::Map* narrative_template_keys_ProtoMap = getResponseConfig->mutable_narrative_template_keys(); + for (const TPair& Elem : ConvaiGRPCGetResponseParams.Narrative_Template_Keys) + { + std::string Key = TCHAR_TO_UTF8(*Elem.Key); + std::string Value = TCHAR_TO_UTF8(*Elem.Value); + (*narrative_template_keys_ProtoMap)[Key] = Value; + } + + // Create Dynamic Info Configuration + DynamicInfoConfig* dynamic_info_config = new DynamicInfoConfig(); + dynamic_info_config->set_text(TCHAR_TO_UTF8(*ConvaiGRPCGetResponseParams.DynamicEnvironmentInfo)); + getResponseConfig->set_allocated_dynamic_info_config(dynamic_info_config); + + // Set Speaker ID + getResponseConfig->set_speaker_id(TCHAR_TO_UTF8(*ConvaiGRPCGetResponseParams.SpeakerID)); + +#if ConvaiDebugMode + FString DebugString(getResponseConfig->DebugString().c_str()); + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("request: %s | Character ID : %s | Session ID : %s"), + *DebugString, + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); +#endif + + + // Create Vision Configuration + if (ConvaiGRPCGetResponseParams.ConvaiGRPCVisionParams.data.Num() > 0) + { + VisionInput* vision_input = new VisionInput();; + VisionInput_ImageData* vision_input_image_data = new VisionInput_ImageData(); + vision_input_image_data->set_width(ConvaiGRPCGetResponseParams.ConvaiGRPCVisionParams.width); + vision_input_image_data->set_height(ConvaiGRPCGetResponseParams.ConvaiGRPCVisionParams.height); + vision_input_image_data->set_data(ConvaiGRPCGetResponseParams.ConvaiGRPCVisionParams.data.GetData(), ConvaiGRPCGetResponseParams.ConvaiGRPCVisionParams.data.Num()); + vision_input->set_allocated_image_data(vision_input_image_data); + getResponseConfig->set_allocated_vision_input(vision_input); + } + + // Set the config object in the request object to be passed to the API + request.Clear(); + request.set_allocated_get_response_config(getResponseConfig); + + + // Do a write task + stream_handler->Write(request, (void*)&(OnStreamWriteDelegate)); + CONVAI_LOG(ConvaiGRPCLog, Log, + TEXT("Initial Stream Write | Character ID : %s | Session ID : %s"), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); + + + // Do a read task + stream_handler->Read(reply.get(), (void*)&OnStreamReadDelegate); + CONVAI_LOG(ConvaiGRPCLog, Log, + TEXT("Initial Stream Read | Character ID : %s | Session ID : %s"), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); } + +void UConvaiGRPCGetResponseProxy::OnStreamWrite(bool ok) +{ + if (!IsValid(this)) + { + CONVAI_LOG(ConvaiGRPCLog, Warning, TEXT("OnStreamWrite failed due to pending kill!")); + LogAndEcecuteFailure("OnStreamWrite"); + return; + } + + if (!ok || !status.ok()) + { + LogAndEcecuteFailure("OnStreamWrite"); + CallFinish(); + return; + } + + if (CalledFinish) + return; + + // CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("OnStreamWriteBegin")); + + // Clear the request data to make it ready to hold the new data we are going to send + request.Clear(); + GetResponseRequest_GetResponseData* get_response_data = new GetResponseRequest_GetResponseData(); + + bool IsThisTheFinalWrite; + + // If there is text + if (ConvaiGRPCGetResponseParams.UserQuery.Len()) + { + // Add in the text data + get_response_data->set_text_data(TCHAR_TO_UTF8(*ConvaiGRPCGetResponseParams.UserQuery)); + CONVAI_LOG(ConvaiGRPCLog, Log, + TEXT("Sent UserQuery %s: | Character ID : %s | Session ID : %s"), + *ConvaiGRPCGetResponseParams.UserQuery, + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); + IsThisTheFinalWrite = true; + } + else if (ConvaiGRPCGetResponseParams.TriggerName.Len() || ConvaiGRPCGetResponseParams.TriggerMessage.Len()) // If there is a trigger message + { + // Add in the trigger data + TriggerConfig* triggerConfig = new TriggerConfig(); + triggerConfig->set_trigger_name(TCHAR_TO_UTF8(*ConvaiGRPCGetResponseParams.TriggerName)); + triggerConfig->set_trigger_message(TCHAR_TO_UTF8(*ConvaiGRPCGetResponseParams.TriggerMessage)); + get_response_data->set_allocated_trigger_data(triggerConfig); + IsThisTheFinalWrite = true; + CONVAI_LOG(ConvaiGRPCLog, Log, + TEXT("Sent %s %s: | Character ID : %s | Session ID : %s"), + *FString(ConvaiGRPCGetResponseParams.TriggerName.IsEmpty() ? "Trigger Message" : "Trigger Name"), + *FString(ConvaiGRPCGetResponseParams.TriggerName.IsEmpty() ? ConvaiGRPCGetResponseParams.TriggerMessage : ConvaiGRPCGetResponseParams.TriggerName), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); + } + else // Normal voice data + { + // Try to consume the next chunk of mic data + uint8* Buffer = nullptr; + TArray Data = ConsumeFromAudioBuffer(IsThisTheFinalWrite); + + if (!Data.Num()) + { + if (IsThisTheFinalWrite) + { + // Tell the server that we have finished writing + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("Calling Stream WritesDone | LastWriteReceived : %s | AudioBuffer.Num() : %d | Character ID : %s | Session ID : %s"), + (LastWriteReceived ? TEXT("True") : TEXT("False")), + AudioBuffer.Num(), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); + get_response_data->set_audio_data(Data.GetData(), Data.Num()); + request.set_allocated_get_response_data(get_response_data); + + //stream_handler->WritesDone((void*)&OnStreamWriteDoneDelegate); + stream_handler->WriteLast(request, grpc::WriteOptions(), (void*)&OnStreamWriteDoneDelegate); CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("On Stream Write Done Writing")); + FinishedWritingToStream = true; + } + else + { + // Let us know when new data is available + InformOnDataReceived = true; // CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("OnStreamWrite: Awaiting audio data")); + } + + // Do not proceed + return; + } + else + { + // Load the audio data to the request + get_response_data->set_audio_data(Data.GetData(), Data.Num()); + } + + NumberOfAudioBytesSent += Data.Num(); + } + // Prepare the request + request.set_allocated_get_response_data(get_response_data); + + if (IsThisTheFinalWrite) + { + // Send the data and tell the server that this is the last piece of data + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("Calling Stream WriteLast | Character ID : %s | Session ID : %s"), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); + stream_handler->WriteLast(request, grpc::WriteOptions(), (void*)&OnStreamWriteDoneDelegate); + FinishedWritingToStream = true; + } + else + { + stream_handler->Write(request, (void*)&OnStreamWriteDelegate); + } + +} + +void UConvaiGRPCGetResponseProxy::OnStreamWriteDone(bool ok) +{ + if (!IsValid(this)) + { + CONVAI_LOG(ConvaiGRPCLog, Warning, TEXT("OnStreamWriteDone failed due to pending kill!")); + LogAndEcecuteFailure("OnStreamWriteDone"); + return; + } + + if (!ok || !status.ok()) + { + LogAndEcecuteFailure("OnStreamWriteDone"); + CallFinish(); + return; + } + + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("OnStreamWriteDone")); + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("NumberOfAudioBytesSent %i"), NumberOfAudioBytesSent); +} + +void UConvaiGRPCGetResponseProxy::OnStreamRead(bool ok) +{ + if (!IsValid(this)) { + CONVAI_LOG(ConvaiGRPCLog, Warning, TEXT("OnStreamRead failed due to pending kill!")); + LogAndEcecuteFailure("OnStreamRead"); + return; + } + + if (ReceivedFinish) + return; + + // Error handling + if (!ok || !status.ok()) { + // Retry logic: increment the retry counter + RetryCount++; + if (RetryCount >= MaxRetries) { + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("No more data to read after 3 attempts. Calling Finish...")); + CallFinish(); // Close the stream after 3 attempts + return; + } + + // Otherwise, initiate another read to continue the stream (retrying) + //CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("Retrying OnStreamRead... Attempt %d of %d"), RetryCount, MaxRetries); + FPlatformProcess::Sleep(0.1f); + stream_handler->Read(reply.get(), (void*)&OnStreamReadDelegate); + return; + } + + // Reset the retry counter on a successful read + RetryCount = 0; + + ReceivedFinalResponse = reply->audio_response().end_of_response(); + + // Grab the session ID + std::string SessionID_std = reply->session_id(); + if (SessionID_std.size()) + { + ConvaiGRPCGetResponseParams.SessionID = FString(SessionID_std.c_str()); + // Broadcast the Session ID + OnSessionIDReceived.ExecuteIfBound(ConvaiGRPCGetResponseParams.SessionID); + } + + std::string InteractionID_std = reply->interaction_id(); + if (InteractionID_std.size()) + { + // Broadcast the Interaction ID + OnInteractionIDReceived.ExecuteIfBound(FString(InteractionID_std.c_str())); + } + + if (reply->has_user_query()) // Is there transcription ready + { + std::string UserQuery_std = reply->user_query().text_data(); + bool IsTranscriptionReady = reply->user_query().is_final(); + bool IsFinalTranscription = reply->user_query().end_of_response(); + + // Convert UTF8 to UTF16 FString + FString text_string = UConvaiUtils::FUTF8ToFString(UserQuery_std.c_str()); + + OnTranscriptionReceived.ExecuteIfBound(text_string, IsTranscriptionReady, IsFinalTranscription); + CONVAI_LOG(ConvaiGRPCLog, Log, + TEXT("Received UserQuery %s: | Character ID : %s | Session ID : %s | IsFinalTranscription : %s"), + *text_string, + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID, + *FString(IsFinalTranscription ? "True" : "False")); + } + if (reply->has_audio_response()) // Is there an audio response + { + // Grab bot text + std::string text_string_std = reply->audio_response().text_data(); + + // Convert UTF8 to UTF16 FString + FString text_string = UConvaiUtils::FUTF8ToFString(text_string_std.c_str()); + + // Grab bot audio + ::std::string audio_data = reply->audio_response().audio_data(); + TArray VoiceData; + float SampleRate = 0; + if (reply->audio_response().audio_data().length() > 46) + { + VoiceData = TArray(reinterpret_cast(audio_data.data() + 46), audio_data.length() - 46); + SampleRate = reply->audio_response().audio_config().sample_rate_hertz(); + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("Received Audio Chunk: %f secs | Character ID : % s | Session ID : % s"), float(audio_data.length()) / (SampleRate * 2.0), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); + } + FAnimationSequence FaceDataAnimation; + + if (ConvaiGRPCGetResponseParams.RequireFaceData) + { + bool HasVisemes = reply->audio_response().has_visemes_data(); + bool HasBlendshapesData = reply->audio_response().has_blendshapes_data(); + //bool HasBlendshapesFrame = reply->audio_response().has_blendshapes_frame(); + + if (HasBlendshapesData && ConvaiGRPCGetResponseParams.GeneratesVisemesAsBlendshapes) + { + std::string FaceBlendshapeData = reply->audio_response().blendshapes_data().blendshape_data(); + if (FaceBlendshapeData.size() > 0) + { + FString FaceData_string = UConvaiUtils::FUTF8ToFString(FaceBlendshapeData.c_str()); + FaceDataAnimation.AnimationFrames = UConvaiUtils::ParseJsonToBlendShapeData(FaceData_string); + } + } + //else if (HasBlendshapesFrame && ConvaiGRPCGetResponseParams.GeneratesVisemesAsBlendshapes) + //{ + // float FPS = reply->audio_response().blendshapes_frame().fps(); + // int FrameIndex = reply->audio_response().blendshapes_frame().frame_index(); + // float FrameTime = FPS == 0.0 ? 1.0 / 30.0 : 1.0 / FPS; + // auto BlendshapesFrame = reply->audio_response().blendshapes_frame().blendshapes(); + // float multipier = 1.5; + // FAnimationFrame AnimationFrame; + // AnimationFrame.FrameIndex = FrameIndex; + // AnimationFrame.BlendShapes.Add("browDownLeft", BlendshapesFrame.brow_down_left() * 1); + // AnimationFrame.BlendShapes.Add("browDownRight", BlendshapesFrame.brow_down_right() * 1); + // AnimationFrame.BlendShapes.Add("browInnerUp", BlendshapesFrame.brow_inner_up() * 1); + // AnimationFrame.BlendShapes.Add("browOuterUpLeft", BlendshapesFrame.brow_outer_up_left() * 1); + // AnimationFrame.BlendShapes.Add("browOuterUpRight", BlendshapesFrame.brow_outer_up_right() * 1); + // AnimationFrame.BlendShapes.Add("cheekPuff", BlendshapesFrame.cheek_puff() * multipier); + // AnimationFrame.BlendShapes.Add("cheekSquintLeft", BlendshapesFrame.cheek_squint_left() * multipier); + // AnimationFrame.BlendShapes.Add("cheekSquintRight", BlendshapesFrame.cheek_squint_right() * multipier); + + // AnimationFrame.BlendShapes.Add("eyeBlinkLeft", BlendshapesFrame.eye_blink_left()); + // AnimationFrame.BlendShapes.Add("eyeBlinkRight", BlendshapesFrame.eye_blink_right()); + + // AnimationFrame.BlendShapes.Add("eyeLookDownLeft", BlendshapesFrame.eye_look_down_left() * multipier); + // AnimationFrame.BlendShapes.Add("eyeLookDownRight", BlendshapesFrame.eye_look_down_right() * multipier); + // AnimationFrame.BlendShapes.Add("eyeLookInLeft", BlendshapesFrame.eye_look_in_left() * multipier); + // AnimationFrame.BlendShapes.Add("eyeLookInRight", BlendshapesFrame.eye_look_in_right() * multipier); + // AnimationFrame.BlendShapes.Add("eyeLookOutLeft", BlendshapesFrame.eye_look_out_left() * multipier); + // AnimationFrame.BlendShapes.Add("eyeLookOutRight", BlendshapesFrame.eye_look_out_right() * multipier); + // AnimationFrame.BlendShapes.Add("eyeLookUpLeft", BlendshapesFrame.eye_look_up_left() * multipier); + // AnimationFrame.BlendShapes.Add("eyeLookUpRight", BlendshapesFrame.eye_look_up_right() * multipier); + // AnimationFrame.BlendShapes.Add("eyeSquintLeft", BlendshapesFrame.eye_squint_left() * 1); + // AnimationFrame.BlendShapes.Add("eyeSquintRight", BlendshapesFrame.eye_squint_right() * 1); + // AnimationFrame.BlendShapes.Add("eyeWideLeft", BlendshapesFrame.eye_wide_left() * 1); + // AnimationFrame.BlendShapes.Add("eyeWideRight", BlendshapesFrame.eye_wide_right() * 1); + // AnimationFrame.BlendShapes.Add("jawForward", BlendshapesFrame.jaw_forward() * multipier); + // AnimationFrame.BlendShapes.Add("jawLeft", BlendshapesFrame.jaw_left() * multipier); + // AnimationFrame.BlendShapes.Add("jawOpen", BlendshapesFrame.jaw_open() * multipier); + // AnimationFrame.BlendShapes.Add("jawRight", BlendshapesFrame.jaw_right() * multipier); + // AnimationFrame.BlendShapes.Add("mouthClose", BlendshapesFrame.mouth_close() * multipier); + // AnimationFrame.BlendShapes.Add("mouthDimpleLeft", BlendshapesFrame.mouth_dimple_left() * multipier); + // AnimationFrame.BlendShapes.Add("mouthDimpleRight", BlendshapesFrame.mouth_dimple_right() * multipier); + // AnimationFrame.BlendShapes.Add("mouthFrownLeft", BlendshapesFrame.mouth_frown_left() * multipier); + // AnimationFrame.BlendShapes.Add("mouthFrownRight", BlendshapesFrame.mouth_frown_right() * multipier); + // AnimationFrame.BlendShapes.Add("mouthFunnel", BlendshapesFrame.mouth_funnel() * multipier); + // AnimationFrame.BlendShapes.Add("mouthLeft", BlendshapesFrame.mouth_left() * multipier); + // AnimationFrame.BlendShapes.Add("mouthLowerDownLeft", BlendshapesFrame.mouth_lower_down_left() * multipier); + // AnimationFrame.BlendShapes.Add("mouthLowerDownRight", BlendshapesFrame.mouth_lower_down_right() * multipier); + // AnimationFrame.BlendShapes.Add("mouthPressLeft", BlendshapesFrame.mouth_press_left() * multipier); + // AnimationFrame.BlendShapes.Add("mouthPressRight", BlendshapesFrame.mouth_press_right() * multipier); + // AnimationFrame.BlendShapes.Add("mouthPucker", BlendshapesFrame.mouth_pucker() * multipier); + // AnimationFrame.BlendShapes.Add("mouthRight", BlendshapesFrame.mouth_right() * multipier); + // AnimationFrame.BlendShapes.Add("mouthRollLower", BlendshapesFrame.mouth_roll_lower() * multipier); + // AnimationFrame.BlendShapes.Add("mouthRollUpper", BlendshapesFrame.mouth_roll_upper() * multipier); + // AnimationFrame.BlendShapes.Add("mouthShrugLower", BlendshapesFrame.mouth_shrug_lower() * multipier); + // AnimationFrame.BlendShapes.Add("mouthShrugUpper", BlendshapesFrame.mouth_shrug_upper() * multipier); + // AnimationFrame.BlendShapes.Add("mouthSmileLeft", BlendshapesFrame.mouth_smile_left() * multipier); + // AnimationFrame.BlendShapes.Add("mouthSmileRight", BlendshapesFrame.mouth_smile_right() * multipier); + // AnimationFrame.BlendShapes.Add("mouthStretchLeft", BlendshapesFrame.mouth_stretch_left() * multipier); + // AnimationFrame.BlendShapes.Add("mouthStretchRight", BlendshapesFrame.mouth_stretch_right() * multipier); + // AnimationFrame.BlendShapes.Add("mouthUpperUpLeft", BlendshapesFrame.mouth_upper_up_left() * multipier); + // AnimationFrame.BlendShapes.Add("mouthUpperUpRight", BlendshapesFrame.mouth_upper_up_right() * multipier); + // AnimationFrame.BlendShapes.Add("noseSneerLeft", BlendshapesFrame.nose_sneer_left() * multipier); + // AnimationFrame.BlendShapes.Add("noseSneerRight", BlendshapesFrame.nose_sneer_right() * multipier); + // AnimationFrame.BlendShapes.Add("tongueOut", BlendshapesFrame.tongue_out()); + // //AnimationFrame.BlendShapes.Add("headRoll", BlendshapesFrame.head_roll() * (180.0/3.14)); + // //AnimationFrame.BlendShapes.Add("headPitch", BlendshapesFrame.head_pitch() * (180.0 / 3.14)); + // //AnimationFrame.BlendShapes.Add("headYaw", BlendshapesFrame.head_yaw() * (180.0 / 3.14)); + // FaceDataAnimation.AnimationFrames.Add(AnimationFrame); + // FaceDataAnimation.Duration = FrameTime; + // FaceDataAnimation.FrameRate = FPS; + // CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("GetResponse FaceData: %s - Frame Time: %f - Frame Index: %d"), *AnimationFrame.ToString(), FrameTime, FrameIndex); + //} + else if (HasVisemes && !ConvaiGRPCGetResponseParams.GeneratesVisemesAsBlendshapes) + { + auto Visemes = reply->audio_response().visemes_data().visemes(); + + if (Visemes.sil() >= 0) + { + FAnimationFrame AnimationFrame; + AnimationFrame.BlendShapes.Add("sil", Visemes.sil()); + AnimationFrame.BlendShapes.Add("PP", Visemes.pp()); + AnimationFrame.BlendShapes.Add("FF", Visemes.ff()); + AnimationFrame.BlendShapes.Add("TH", Visemes.th()); + AnimationFrame.BlendShapes.Add("DD", Visemes.dd()); + AnimationFrame.BlendShapes.Add("kk", Visemes.kk()); + AnimationFrame.BlendShapes.Add("CH", Visemes.ch()); + AnimationFrame.BlendShapes.Add("SS", Visemes.ss()); + AnimationFrame.BlendShapes.Add("nn", Visemes.nn()); + AnimationFrame.BlendShapes.Add("RR", Visemes.rr()); + AnimationFrame.BlendShapes.Add("aa", Visemes.aa()); + AnimationFrame.BlendShapes.Add("E", Visemes.e()); + AnimationFrame.BlendShapes.Add("ih", Visemes.ih()); + AnimationFrame.BlendShapes.Add("oh", Visemes.oh()); + AnimationFrame.BlendShapes.Add("ou", Visemes.ou()); + FaceDataAnimation.AnimationFrames.Add(AnimationFrame); + FaceDataAnimation.Duration = 0.01; + FaceDataAnimation.FrameRate = 100; + + OnFaceDataReceived.ExecuteIfBound(FaceDataAnimation); + TotalLipSyncResponsesReceived += 1; + } + } + + if (ReceivedFinalResponse) + { + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("Chatbot Total Received Lipsync Responses: %d Responses"), TotalLipSyncResponsesReceived); + TotalLipSyncResponsesReceived = 0; + } + } + + if (reply->audio_response().has_emotion_response()) + { + FString EmotionType = UConvaiUtils::FUTF8ToFString(reply->audio_response().emotion_response().emotion().c_str()); + FString EmotionScale = UConvaiUtils::FUTF8ToFString(reply->audio_response().emotion_response().scale().c_str()); + FString EmotionResponse = EmotionType + " " + EmotionScale; + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("EmotionResponse: %s"), *EmotionResponse); + OnEmotionReceived.ExecuteIfBound(EmotionResponse, FAnimationFrame(), false); + } + if (reply->audio_response().has_blendshapes_data()) + { + FString BlendshapesData = UConvaiUtils::FUTF8ToFString(reply->audio_response().blendshapes_data().blendshape_data().c_str()); + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("BlendshapesData: %s"), *BlendshapesData); + } + + // Broadcast the audio and text + OnDataReceived.ExecuteIfBound(text_string, VoiceData, SampleRate, ReceivedFinalResponse); + if (ReceivedFinalResponse || !text_string.IsEmpty()) + { + CONVAI_LOG(ConvaiGRPCLog, Log, + TEXT("Received Text %s: | Character ID : %s | Session ID : %s | ReceivedFinalResponse : %s"), + *text_string, + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID, + *FString(ReceivedFinalResponse ? "True" : "False")); + } + } + if (reply->has_action_response()) // Is there an action response + { + // Convert Action string to FString + FString SequenceString = UConvaiUtils::FUTF8ToFString(reply->action_response().action().c_str()); + +#if ConvaiDebugMode + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("GetResponse SequenceString: %s"), *SequenceString); +#endif + + // Parse the actions + TArray SequenceOfActions; + TArray Sequence = UConvaiActions::SmartSplit(SequenceString); + + for (auto s : Sequence) + { + FConvaiResultAction ConvaiResultAction; + if (UConvaiActions::ParseAction(ConvaiGRPCGetResponseParams.Environment, s, ConvaiResultAction)) // if successful + { + SequenceOfActions.Add(ConvaiResultAction); + } + + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("Action: %s"), *ConvaiResultAction.Action); + } + // Broadcast the actions + OnActionsReceived.ExecuteIfBound(SequenceOfActions); + } + if (reply->has_bt_response()) + { + FString BT_Code = UConvaiUtils::FUTF8ToFString(reply->bt_response().bt_code().c_str()); + FString BT_Constants = UConvaiUtils::FUTF8ToFString(reply->bt_response().bt_constants().c_str()); + FString NarrativeSectionID = UConvaiUtils::FUTF8ToFString(reply->bt_response().narrative_section_id().c_str()); + OnNarrativeDataReceived.ExecuteIfBound(BT_Code, BT_Constants, NarrativeSectionID); + CONVAI_LOG(ConvaiGRPCLog, Log, + TEXT("Narrative Section Received %s: | Character ID : %s | Session ID : %s | ReceivedFinalResponse : %s"), + *NarrativeSectionID, + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID, + *FString(ReceivedFinalResponse ? "True" : "False")); + } + if (!reply->emotion_response().empty()) + { + FString EmotionResponseDebug = UConvaiUtils::FUTF8ToFString(reply->DebugString().c_str()); + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("GetResponse EmotionResponseDebug: %s"), *EmotionResponseDebug); + FString EmotionResponse = UConvaiUtils::FUTF8ToFString(reply->emotion_response().c_str()); + OnEmotionReceived.ExecuteIfBound(EmotionResponse, FAnimationFrame(), true); + } + if (!reply->debug_log().empty()) // This is a debug message response + { +#if ConvaiDebugMode + FString DebugString(reply->debug_log().c_str()); + CONVAI_LOG(ConvaiGRPCLog, Log, TEXT("Debug log: %s"), *DebugString); +#endif + } + + // Initiate another read task + reply->Clear(); + stream_handler->Read(reply.get(), (void*)&OnStreamReadDelegate); +} + +void UConvaiGRPCGetResponseProxy::OnStreamFinish(bool ok) +{ + ReceivedFinish = true; + + if (!ok || !status.ok()) + { + LogAndEcecuteFailure("OnStreamFinish"); + return; + } + +#if ConvaiDebugMode + CONVAI_LOG(ConvaiGRPCLog, Log, + TEXT("On Stream Finish | Character ID : %s | Session ID : %s"), + *ConvaiGRPCGetResponseParams.CharID, + *ConvaiGRPCGetResponseParams.SessionID); +#endif + + + OnFinish.ExecuteIfBound(); + + RemoveFromRoot(); +} + + + + +UConvaiGRPCSubmitFeedbackProxy* UConvaiGRPCSubmitFeedbackProxy::CreateConvaiGRPCSubmitFeedbackProxy(UObject* WorldContextObject, FString InteractionID, bool ThumbsUp, FString FeedbackText) +{ + UConvaiGRPCSubmitFeedbackProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->InteractionID = InteractionID; + Proxy->ThumbsUp = ThumbsUp; + Proxy->FeedbackText = FeedbackText; + return Proxy; +} + +void UConvaiGRPCSubmitFeedbackProxy::Activate() +{ + OnStreamFinishDelegate = FgRPC_Delegate::CreateUObject(this, &ThisClass::OnStreamFinish); + + reply = std::unique_ptr(new service::FeedbackResponse()); + + // Form Validation + if (!(UConvaiFormValidation::ValidateSessionID(InteractionID))) + { + LogAndEcecuteFailure("Activate"); + return; + } + + if (!WorldPtr.IsValid()) + { + CONVAI_LOG(ConvaiGRPCFeedBackLog, Warning, TEXT("WorldPtr not valid")); + LogAndEcecuteFailure("Activate"); + return; + } + + UConvaiSubsystem* ConvaiSubsystem = UConvaiUtils::GetConvaiSubsystem(WorldPtr.Get()); + if (!ConvaiSubsystem) + { + CONVAI_LOG(ConvaiGRPCFeedBackLog, Warning, TEXT("Convai Subsystem is not valid")); + LogAndEcecuteFailure("Activate"); + return; + } + + // Create a new stub instance + stub_ = ConvaiSubsystem->gRPC_Runnable->GetNewStub(); + if (!stub_) + { + CONVAI_LOG(ConvaiGRPCFeedBackLog, Warning, TEXT("Could not aquire a new stub instance")); + LogAndEcecuteFailure("Activate"); + return; + } + + // Aquire the completion queue instance + cq_ = ConvaiSubsystem->gRPC_Runnable->GetCompletionQueue(); + if (!cq_) + { + CONVAI_LOG(ConvaiGRPCFeedBackLog, Warning, TEXT("Got an invalid completion queue instance")); + LogAndEcecuteFailure("Activate"); + return; + } + + bool Found; + FString VersionName; + FString EngineVersion; + FString PlatformName; + FString PluginEngineVersion; + FString FriendlyName; + + UConvaiUtils::GetPluginInfo(FString("Convai"), Found, VersionName, FriendlyName, PluginEngineVersion); + UConvaiUtils::GetPlatformInfo(EngineVersion, PlatformName); + + // Add metadata + client_context.AddMetadata("engine", "Unreal Engine"); + client_context.AddMetadata("engine_version", TCHAR_TO_UTF8(*EngineVersion)); + client_context.AddMetadata("platform_name", TCHAR_TO_UTF8(*PlatformName)); + + if (Found) + { + client_context.AddMetadata("plugin_engine_version", TCHAR_TO_UTF8(*PluginEngineVersion)); + client_context.AddMetadata("plugin_version", TCHAR_TO_UTF8(*VersionName)); + client_context.AddMetadata("plugin_base_name", TCHAR_TO_UTF8(*FriendlyName)); + } + else + { + client_context.AddMetadata("plugin_engine_version", "Unknown"); + client_context.AddMetadata("plugin_version", "Unknown"); + client_context.AddMetadata("plugin_base_name", "Unknown"); + } + + FeedbackRequest_Feedback* feedbackRequest_Feedback = new FeedbackRequest_Feedback(); + feedbackRequest_Feedback->set_feedback_text(TCHAR_TO_UTF8(*FeedbackText)); + feedbackRequest_Feedback->set_thumbs_up(ThumbsUp); + + request.set_allocated_text_feedback(feedbackRequest_Feedback); + request.set_interaction_id(TCHAR_TO_UTF8(*InteractionID)); + + + stream_handler = stub_->AsyncSubmitFeedback(&client_context, request, cq_); + stream_handler->Finish(reply.get(), &status, (void*)&OnStreamFinishDelegate); +} + +void UConvaiGRPCSubmitFeedbackProxy::OnStreamFinish(bool ok) +{ + if (!ok || !status.ok()) + { + LogAndEcecuteFailure("OnStreamFinish"); + return; + } + + Response = FString(reply->feedback_response().c_str()); + + Response = FString(reply->feedback_response().c_str()); + +#if ConvaiDebugMode + FString ThumbsUpString = ThumbsUp ? "True" : "False"; + CONVAI_LOG(ConvaiGRPCFeedBackLog, Log, + TEXT("On Stream Finish | Interaction ID : %s | Feedback Text : %s | ThumbsUp: %s"), + *InteractionID, + *FeedbackText, + *ThumbsUpString); +#endif + + + success(); +} + +void UConvaiGRPCSubmitFeedbackProxy::BeginDestroy() +{ + client_context.TryCancel(); + stub_.reset(); + FString ThumbsUpString = ThumbsUp ? "True" : "False"; + CONVAI_LOG(ConvaiGRPCFeedBackLog, Log, + TEXT("On Stream Finish | Interaction ID : %s | Feedback Text : %s | ThumbsUp: %s"), + *InteractionID, + *FeedbackText, + *ThumbsUpString); + Super::BeginDestroy(); +} + +void UConvaiGRPCSubmitFeedbackProxy::LogAndEcecuteFailure(FString FuncName) +{ + FString ThumbsUpString = ThumbsUp ? "True" : "False"; + + CONVAI_LOG(ConvaiGRPCFeedBackLog, Warning, + TEXT("%s: Status.ok():%s | Debug Log:%s | Error message:%s | Error Details:%s | Error Code:%i | Interaction ID : %s | Feedback Text : %s | ThumbsUp: %s"), + *FString(FuncName), + *FString(status.ok() ? "Ok" : "Not Ok"), + *FString(reply->DebugString().c_str()), + *FString(status.error_message().c_str()), + *FString(status.error_details().c_str()), + status.error_code(), + *InteractionID, + *FeedbackText, + *ThumbsUpString); + + failed(); +} + +void UConvaiGRPCSubmitFeedbackProxy::failed() +{ + OnFailure.Broadcast(Response); + finish(); +} + +void UConvaiGRPCSubmitFeedbackProxy::success() +{ + OnSuccess.Broadcast(Response); + finish(); +} + +void UConvaiGRPCSubmitFeedbackProxy::finish() +{ +} diff --git a/ConvAI/Convai/Source/Convai/Private/ConvaiNarrativeDesignProxy.cpp b/ConvAI/Convai/Source/Convai/Private/ConvaiNarrativeDesignProxy.cpp new file mode 100644 index 0000000..4ad8c86 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/ConvaiNarrativeDesignProxy.cpp @@ -0,0 +1,256 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + +#include "ConvaiNarrativeDesignProxy.h" +#include "ConvaiUtils.h" +#include "../Convai.h" +#include "Engine.h" +#include "RestAPI/ConvaiURL.h" + +DEFINE_LOG_CATEGORY(ConvaiNarrativeHTTP); + +UFetchNarrativeSectionsProxy* UFetchNarrativeSectionsProxy::FetchNarrativeSections(UObject* WorldContextObject, FString InCharacterId) +{ + UFetchNarrativeSectionsProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->CharacterId = InCharacterId; + return Proxy; +} + +void UFetchNarrativeSectionsProxy::Activate() +{ + + UWorld* World = WorldPtr.Get(); + + if (!World) + { + CONVAI_LOG(ConvaiNarrativeHTTP, Warning, TEXT("Could not get a pointer to world!")); + failed(); + return; + } + + FHttpModule* Http = &FHttpModule::Get(); + if (!Http) + { + CONVAI_LOG(ConvaiNarrativeHTTP, Warning, TEXT("Could not get a pointer to http module!")); + failed(); + return; + } + + TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + FString AuthKey = AuthHeaderAndKey.Value; + FString AuthHeader = AuthHeaderAndKey.Key; + + // Form Validation + if ( + !UConvaiFormValidation::ValidateAuthKey(AuthKey) + || !UConvaiFormValidation::ValidateCharacterID(CharacterId) + ) + { + CONVAI_LOG(ConvaiNarrativeHTTP, Warning, TEXT("UFetchNarrativeSectionsProxy::Activate Invalid Character or API key")); + failed(); + return; + } + + FHttpModule* HttpModule = &FHttpModule::Get(); + TSharedRef HttpRequest = HttpModule->CreateRequest(); + HttpRequest->OnProcessRequestComplete().BindUObject(this, &UFetchNarrativeSectionsProxy::OnHttpRequestCompleted); + HttpRequest->SetURL(UConvaiURL::GetFullURL(TEXT("character/narrative/list-sections"), false)); + HttpRequest->SetVerb(TEXT("POST")); + HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json")); + HttpRequest->SetHeader(AuthHeader, AuthKey); + HttpRequest->SetContentAsString(FString::Printf(TEXT("{\"character_id\": \"%s\"}"), *CharacterId)); + HttpRequest->ProcessRequest(); +} + +void UFetchNarrativeSectionsProxy::OnHttpRequestCompleted(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful) +{ + NarrativeSections.Empty(); + if (!Response) + { + if (bWasSuccessful) + { + CONVAI_LOG(ConvaiNarrativeHTTP, Warning, TEXT("HTTP request succeded - But response pointer is invalid")); + } + else + { + CONVAI_LOG(ConvaiNarrativeHTTP, Warning, TEXT("HTTP request failed - Response pointer is invalid")); + } + + failed(); + return; + } + + if (!bWasSuccessful || Response->GetResponseCode() < 200 || Response->GetResponseCode() > 299) + { + CONVAI_LOG(ConvaiNarrativeHTTP, Warning, TEXT("HTTP request failed with code %d"), Response->GetResponseCode()); + CONVAI_LOG(ConvaiNarrativeHTTP, Warning, TEXT("Response:%s"), *Response->GetContentAsString()); + + failed(); + return; + } + + TArray> JsonArray; + const TSharedRef> Reader = TJsonReaderFactory<>::Create(Response->GetContentAsString()); + + if (FJsonSerializer::Deserialize(Reader, JsonArray)) // Deserialize into a JSON array + { + for (const TSharedPtr& Val : JsonArray) + { + FNarrativeSection Section; + if (FJsonObjectConverter::JsonObjectToUStruct(Val->AsObject().ToSharedRef(), FNarrativeSection::StaticStruct(), &Section)) + { + NarrativeSections.Add(Section); + } + } + success(); + return; + } +} + +void UFetchNarrativeSectionsProxy::failed() +{ + //auto InvocationList = OnFailure.GetAllObjects(); + //CONVAI_LOG(ConvaiNarrativeHTTP, Log, TEXT("OnFailure delegate is bound to %d functions before invokation."), InvocationList.Num()); + + OnFailure.Broadcast(NarrativeSections); + //CONVAI_LOG(ConvaiNarrativeHTTP, Log, TEXT("OnFailure delegate is bound to %d functions after invokation."), InvocationList.Num()); + finish(); +} + +void UFetchNarrativeSectionsProxy::success() +{ + //auto InvocationList = OnSuccess.GetAllObjects(); + //CONVAI_LOG(ConvaiNarrativeHTTP, Log, TEXT("OnSuccess delegate is bound to %d functions before invokation."), InvocationList.Num()); + + OnSuccess.Broadcast(NarrativeSections); + //CONVAI_LOG(ConvaiNarrativeHTTP, Log, TEXT("OnSuccess delegate is bound to %d functions after invokation."), InvocationList.Num()); + finish(); +} + +void UFetchNarrativeSectionsProxy::finish() +{ +} + + +UFetchNarrativeTriggersProxy* UFetchNarrativeTriggersProxy::FetchNarrativeTriggers(UObject* WorldContextObject, FString InCharacterId) +{ + UFetchNarrativeTriggersProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->CharacterId = InCharacterId; + return Proxy; +} + +void UFetchNarrativeTriggersProxy::Activate() +{ + + UWorld* World = WorldPtr.Get(); + + if (!World) + { + CONVAI_LOG(ConvaiNarrativeHTTP, Warning, TEXT("Could not get a pointer to world!")); + failed(); + return; + } + + FHttpModule* Http = &FHttpModule::Get(); + if (!Http) + { + CONVAI_LOG(ConvaiNarrativeHTTP, Warning, TEXT("Could not get a pointer to http module!")); + failed(); + return; + } + + TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + FString AuthKey = AuthHeaderAndKey.Value; + FString AuthHeader = AuthHeaderAndKey.Key; + + // Form Validation + if ( + !UConvaiFormValidation::ValidateAuthKey(AuthKey) + || !UConvaiFormValidation::ValidateCharacterID(CharacterId) + ) + { + CONVAI_LOG(ConvaiNarrativeHTTP, Warning, TEXT("UFetchNarrativeTriggersProxy::Activate Invalid Character or API key")); + failed(); + return; + } + FHttpModule* HttpModule = &FHttpModule::Get(); + TSharedRef HttpRequest = HttpModule->CreateRequest(); + HttpRequest->OnProcessRequestComplete().BindUObject(this, &UFetchNarrativeTriggersProxy::OnHttpRequestCompleted); + HttpRequest->SetURL(UConvaiURL::GetFullURL(TEXT("character/narrative/list-triggers"), false)); + HttpRequest->SetVerb(TEXT("POST")); + HttpRequest->SetHeader(TEXT("Content-Type"), TEXT("application/json")); + HttpRequest->SetHeader(AuthHeader, AuthKey); + HttpRequest->SetContentAsString(FString::Printf(TEXT("{\"character_id\": \"%s\"}"), *CharacterId)); + HttpRequest->ProcessRequest(); +} + +void UFetchNarrativeTriggersProxy::OnHttpRequestCompleted(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful) +{ + NarrativeTriggers.Empty(); + if (!Response) + { + if (bWasSuccessful) + { + CONVAI_LOG(ConvaiNarrativeHTTP, Warning, TEXT("HTTP request succeded - But response pointer is invalid")); + } + else + { + CONVAI_LOG(ConvaiNarrativeHTTP, Warning, TEXT("HTTP request failed - Response pointer is invalid")); + } + + failed(); + return; + } + + if (!bWasSuccessful || Response->GetResponseCode() < 200 || Response->GetResponseCode() > 299) + { + CONVAI_LOG(ConvaiNarrativeHTTP, Warning, TEXT("HTTP request failed with code %d"), Response->GetResponseCode()); + CONVAI_LOG(ConvaiNarrativeHTTP, Warning, TEXT("Response:%s"), *Response->GetContentAsString()); + + failed(); + return; + } + + TArray> JsonArray; + const TSharedRef> Reader = TJsonReaderFactory<>::Create(Response->GetContentAsString()); + + if (FJsonSerializer::Deserialize(Reader, JsonArray)) // Deserialize into a JSON array + { + for (const TSharedPtr& Val : JsonArray) + { + FNarrativeTrigger Trigger; + if (FJsonObjectConverter::JsonObjectToUStruct(Val->AsObject().ToSharedRef(), FNarrativeTrigger::StaticStruct(), &Trigger)) + { + NarrativeTriggers.Add(Trigger); + } + } + success(); + return; + } +} + +void UFetchNarrativeTriggersProxy::failed() +{ + //auto InvocationList = OnFailure.GetAllObjects(); + //CONVAI_LOG(ConvaiNarrativeHTTP, Log, TEXT("OnFailure delegate is bound to %d functions before invokation."), InvocationList.Num()); + + OnFailure.Broadcast(NarrativeTriggers); + //CONVAI_LOG(ConvaiNarrativeHTTP, Log, TEXT("OnFailure delegate is bound to %d functions after invokation."), InvocationList.Num()); + finish(); +} + +void UFetchNarrativeTriggersProxy::success() +{ + //auto InvocationList = OnSuccess.GetAllObjects(); + //CONVAI_LOG(ConvaiNarrativeHTTP, Log, TEXT("OnSuccess delegate is bound to %d functions before invokation."), InvocationList.Num()); + + OnSuccess.Broadcast(NarrativeTriggers); + //CONVAI_LOG(ConvaiNarrativeHTTP, Log, TEXT("OnSuccess delegate is bound to %d functions after invokation."), InvocationList.Num()); + finish(); +} + +void UFetchNarrativeTriggersProxy::finish() +{ +} + diff --git a/ConvAI/Convai/Source/Convai/Private/ConvaiPlayerComponent.cpp b/ConvAI/Convai/Source/Convai/Private/ConvaiPlayerComponent.cpp new file mode 100644 index 0000000..0fabec2 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/ConvaiPlayerComponent.cpp @@ -0,0 +1,984 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + + +#include "ConvaiPlayerComponent.h" +#include "ConvaiAudioCaptureComponent.h" +#include "ConvaiChatbotComponent.h" +#include "ConvaiActionUtils.h" +#include "ConvaiUtils.h" +#include "ConvaiDefinitions.h" +#include "Runtime/Launch/Resources/Version.h" +#include "Net/UnrealNetwork.h" +#include "Misc/FileHelper.h" +#include "Http.h" +#include "ConvaiUtils.h" +#include "Containers/UnrealString.h" +#include "Kismet/GameplayStatics.h" +#include "AudioMixerBlueprintLibrary.h" +#include "Engine/GameEngine.h" +#include "Sound/SoundWave.h" +#include "AudioDevice.h" +#include "AudioMixerDevice.h" +#include "UObject/ConstructorHelpers.h" +#include "ConvaiSubsystem.h" +#include "Engine/GameInstance.h" + +DEFINE_LOG_CATEGORY(ConvaiPlayerLog); + +static FAudioDevice* GetAudioDeviceFromWorldContext(const UObject* WorldContextObject) +{ + UWorld* ThisWorld = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + if (!ThisWorld || !ThisWorld->bAllowAudioPlayback || ThisWorld->GetNetMode() == NM_DedicatedServer) + { + return nullptr; + } + + return ThisWorld->GetAudioDevice().GetAudioDevice(); +} + +static Audio::FMixerDevice* GetAudioMixerDeviceFromWorldContext(const UObject* WorldContextObject) +{ + if (FAudioDevice* AudioDevice = GetAudioDeviceFromWorldContext(WorldContextObject)) + { +#if ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 3 + bool Found = AudioDevice != nullptr; +#else + bool Found = AudioDevice != nullptr && AudioDevice->IsAudioMixerEnabled(); +#endif + + if (!Found) + { + return nullptr; + } + else + { + return static_cast(AudioDevice); + } + } + return nullptr; +} + +UConvaiPlayerComponent::UConvaiPlayerComponent() +{ + PrimaryComponentTick.bCanEverTick = true; + //SetIsReplicated(true); + bAutoActivate = true; + PlayerName = "Guest"; + + IsInit = false; + VoiceCaptureRingBuffer.Init(ConvaiConstants::VoiceCaptureRingBufferCapacity); + VoiceCaptureBuffer.Empty(ConvaiConstants::VoiceCaptureBufferSize); + UsePixelStreamingMicInput = true; + + const FString FoundSubmixPath = "/ConvAI/Submixes/AudioInput.AudioInput"; + static ConstructorHelpers::FObjectFinder SoundSubmixFinder(*FoundSubmixPath); + if (SoundSubmixFinder.Succeeded()) + { + _FoundSubmix = SoundSubmixFinder.Object; + } +} + +void UConvaiPlayerComponent::OnComponentCreated() +{ + Super::OnComponentCreated(); + + AudioCaptureComponent = NewObject(this, UConvaiAudioCaptureComponent::StaticClass(), TEXT("ConvaiAudioCapture")); + if (AudioCaptureComponent) + { + AudioCaptureComponent->RegisterComponent(); + } + //AudioCaptureComponent->SetupAttachment(this); + + if (_FoundSubmix != nullptr) { + AudioCaptureComponent->SoundSubmix = _FoundSubmix; + CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("UConvaiPlayerComponent: Found submix \"AudioInput\"")); + } + else + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("UConvaiPlayerComponent: Audio Submix was not found, please ensure an audio submix exists at this directory: \"/ConvAI/Submixes/AudioInput\" then restart Unreal Engine")); + } +} + +void UConvaiPlayerComponent::GetLifetimeReplicatedProps(TArray& OutLifetimeProps) const +{ + Super::GetLifetimeReplicatedProps(OutLifetimeProps); + + DOREPLIFETIME(UConvaiPlayerComponent, PlayerName); +} + +bool UConvaiPlayerComponent::Init() +{ + if (IsInit) + { + CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("AudioCaptureComponent is already init")); + return true; + } + + FString commandMicNoiseGateThreshold = "voice.MicNoiseGateThreshold 0.01"; + FString commandSilenceDetectionThreshold = "voice.SilenceDetectionThreshold 0.001"; + + APlayerController* PController = UGameplayStatics::GetPlayerController(GetWorld(), 0); + if (PController) + { + PController->ConsoleCommand(*commandMicNoiseGateThreshold, true); + PController->ConsoleCommand(*commandSilenceDetectionThreshold, true); + } + + AudioCaptureComponent = Cast(GetOwner()->GetComponentByClass(UConvaiAudioCaptureComponent::StaticClass())); + if (!IsValid(AudioCaptureComponent)) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("Init: AudioCaptureComponent is not valid")); + return false; + } + + IsInit = true; + Token = 0; + return true; +} + +void UConvaiPlayerComponent::SetPlayerName(FString NewPlayerName) +{ + PlayerName = NewPlayerName; + + if (GetIsReplicated()) + { + SetPlayerNameServer(PlayerName); + } +} + +void UConvaiPlayerComponent::SetPlayerNameServer_Implementation(const FString& NewPlayerName) +{ + PlayerName = NewPlayerName; +} + +void UConvaiPlayerComponent::SetSpeakerID(FString NewSpeakerID) +{ + SpeakerID = NewSpeakerID; + + if (GetIsReplicated()) + { + SetSpeakerIDServer(SpeakerID); + } +} + +void UConvaiPlayerComponent::SetSpeakerIDServer_Implementation(const FString& NewSpeakerID) +{ + SpeakerID = NewSpeakerID; +} + +bool UConvaiPlayerComponent::GetDefaultCaptureDeviceInfo(FCaptureDeviceInfoBP& OutInfo) +{ + if (!IsValid(AudioCaptureComponent)) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("GetDefaultCaptureDeviceInfo: AudioCaptureComponent is not valid")); + return false; + } + + return false; +} + +bool UConvaiPlayerComponent::GetCaptureDeviceInfo(FCaptureDeviceInfoBP& OutInfo, int DeviceIndex) +{ + if (!IsValid(AudioCaptureComponent)) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("GetCaptureDeviceInfo: AudioCaptureComponent is not valid")); + return false; + } + Audio::FCaptureDeviceInfo OutDeviceInfo; + if (AudioCaptureComponent->GetCaptureDeviceInfo(OutDeviceInfo, DeviceIndex)) + { + OutInfo.bSupportsHardwareAEC = OutDeviceInfo.bSupportsHardwareAEC; + OutInfo.LongDeviceId = OutDeviceInfo.DeviceId; + OutInfo.DeviceName = OutDeviceInfo.DeviceName; + OutInfo.InputChannels = OutDeviceInfo.InputChannels; + OutInfo.PreferredSampleRate = OutDeviceInfo.PreferredSampleRate; + OutInfo.DeviceIndex = DeviceIndex; + return true; + } + + return false; +} + +TArray UConvaiPlayerComponent::GetAvailableCaptureDeviceDetails() +{ + TArray FCaptureDevicesInfoBP; + if (!IsValid(AudioCaptureComponent)) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("GetAvailableCaptureDeviceDetails: AudioCaptureComponent is not valid")); + return FCaptureDevicesInfoBP; + } + + int i = 0; + for (auto DeviceInfo : AudioCaptureComponent->GetCaptureDevicesAvailable()) + { + FCaptureDeviceInfoBP CaptureDeviceInfoBP; + CaptureDeviceInfoBP.bSupportsHardwareAEC = DeviceInfo.bSupportsHardwareAEC; + CaptureDeviceInfoBP.LongDeviceId = DeviceInfo.DeviceId; + CaptureDeviceInfoBP.DeviceName = DeviceInfo.DeviceName; + CaptureDeviceInfoBP.InputChannels = DeviceInfo.InputChannels; + CaptureDeviceInfoBP.PreferredSampleRate = DeviceInfo.PreferredSampleRate; + CaptureDeviceInfoBP.DeviceIndex = i++; + FCaptureDevicesInfoBP.Add(CaptureDeviceInfoBP); + } + return FCaptureDevicesInfoBP; +} + +TArray UConvaiPlayerComponent::GetAvailableCaptureDeviceNames() +{ + TArray AvailableDeviceNames; + if (!IsValid(AudioCaptureComponent)) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("GetAvailableCaptureDeviceNames: AudioCaptureComponent is not valid")); + return AvailableDeviceNames; + } + + for (auto CaptureDeviceInfo : GetAvailableCaptureDeviceDetails()) + { + AvailableDeviceNames.Add(CaptureDeviceInfo.DeviceName); + } + + return AvailableDeviceNames; +} + +void UConvaiPlayerComponent::GetActiveCaptureDevice(FCaptureDeviceInfoBP& OutInfo) +{ + if (!IsValid(AudioCaptureComponent)) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("GetActiveCaptureDevice: AudioCaptureComponent is not valid")); + return; + } + Audio::FCaptureDeviceInfo OutDeviceInfo; + int SelectedDeviceIndex = AudioCaptureComponent->GetActiveCaptureDevice(OutDeviceInfo); + OutInfo.bSupportsHardwareAEC = OutDeviceInfo.bSupportsHardwareAEC; + OutInfo.LongDeviceId = OutDeviceInfo.DeviceId; + OutInfo.DeviceName = OutDeviceInfo.DeviceName; + OutInfo.InputChannels = OutDeviceInfo.InputChannels; + OutInfo.PreferredSampleRate = OutDeviceInfo.PreferredSampleRate; + OutInfo.DeviceIndex = SelectedDeviceIndex; +} + +bool UConvaiPlayerComponent::SetCaptureDeviceByIndex(int DeviceIndex) +{ + if (!IsValid(AudioCaptureComponent)) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("SetCaptureDeviceByIndex: AudioCaptureComponent is not valid")); + return false; + } + + if (DeviceIndex >= GetAvailableCaptureDeviceDetails().Num()) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("SetCaptureDeviceByIndex: Invalid Device Index: %d - Max possible index: %d."), DeviceIndex, GetAvailableCaptureDeviceDetails().Num() - 1); + return false; + } + + return AudioCaptureComponent->SetCaptureDevice(DeviceIndex); +} + +bool UConvaiPlayerComponent::SetCaptureDeviceByName(FString DeviceName) +{ + if (!IsValid(AudioCaptureComponent)) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("SetCaptureDeviceByName: AudioCaptureComponent is not valid")); + return false; + } + + bool bDeviceFound = false; + int DeviceIndex = -1; + for (auto CaptureDeviceInfo : GetAvailableCaptureDeviceDetails()) + { + if (CaptureDeviceInfo.DeviceName == DeviceName) + { + bDeviceFound = true; + DeviceIndex = CaptureDeviceInfo.DeviceIndex; + } + } + + TArray AvailableDeviceNames; + + if (!bDeviceFound) + { + AvailableDeviceNames = GetAvailableCaptureDeviceNames(); + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("SetCaptureDeviceByName: Could not find Device name: %s - Available Device names are: [%s]."), *DeviceName, *FString::Join(AvailableDeviceNames, *FString(" - "))); + return false; + } + + if (!SetCaptureDeviceByIndex(DeviceIndex)) + { + AvailableDeviceNames = GetAvailableCaptureDeviceNames(); + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("SetCaptureDeviceByName: SetCaptureDeviceByIndex failed for index: %d and device name: %s - Available Device names are: [%s]."), DeviceIndex, *DeviceName, *FString::Join(AvailableDeviceNames, *FString(" - "))); + return false; + } + return true; +} + +void UConvaiPlayerComponent::SetMicrophoneVolumeMultiplier(float InVolumeMultiplier, bool& Success) +{ + Success = false; + if (IsValid(AudioCaptureComponent)) + { + AudioCaptureComponent->SetVolumeMultiplier(InVolumeMultiplier); + Success = true; + } + + if (PixelStreamingAudioComponent.IsValid()) + { + AudioCaptureComponent->SetVolumeMultiplier(InVolumeMultiplier*2); // multiply by 2 because Pixel Streaming mic is usually very low + Success = true; + } + + if (!IsValid(AudioCaptureComponent) && !PixelStreamingAudioComponent.IsValid()) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("SetMicrophoneVolumeMultiplier: AudioCaptureComponent and PixelStreamingAudioComponent are not valid")); + } +} + +void UConvaiPlayerComponent::GetMicrophoneVolumeMultiplier(float& OutVolumeMultiplier, bool& Success) +{ + Success = false; + if (!IsValid(AudioCaptureComponent)) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("SetMicrophoneVolumeMultiplier: AudioCaptureComponent is not valid")); + return; + } + auto InternalAudioComponent = AudioCaptureComponent->GetAudioComponent(); + if (!InternalAudioComponent) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("GetMicrophoneVolumeMultiplier: InternalAudioComponent is not valid")); + } + OutVolumeMultiplier = InternalAudioComponent->VolumeMultiplier; + Success = true; +} + +// void UConvaiPlayerComponent::GetIfHardwareFeatureIsSupported(EHardwareInputFeatureBP FeatureType, bool& Success) +// { +// Success = false; +// if (!IsValid(AudioCaptureComponent)) +// { +// CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("GetIfHardwareFeatureIsSupported: AudioCaptureComponent is not valid")); +// return; +// } + +// auto CaptureSynth = AudioCaptureComponent->GetCaptureSynth(); +// if (CaptureSynth == nullptr) +// { +// CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("GetIfHardwareFeatureIsSupported: CaptureSynth is not valid")); +// return; +// } + +// auto AudioCapture = CaptureSynth->GetAudioCapture(); +// if (AudioCapture == nullptr) +// { +// CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("GetIfHardwareFeatureIsSupported: AudioCapture is not valid")); +// return; +// } +// Success = AudioCapture->GetIfHardwareFeatureIsSupported((Audio::EHardwareInputFeature)FeatureType); +// } + +// void UConvaiPlayerComponent::SetHardwareFeatureEnabled(EHardwareInputFeatureBP FeatureType, bool bIsEnabled, bool& Success) +// { +// bool HardwareFeatureIsSupported; +// GetIfHardwareFeatureIsSupported(FeatureType, HardwareFeatureIsSupported); +// if (!HardwareFeatureIsSupported) +// { +// if (!bIsEnabled) +// { +// Success = true; +// return; +// } +// else +// { +// Success = false; +// return; +// } +// } + +// auto AudioCapture = AudioCaptureComponent->GetCaptureSynth()->GetAudioCapture(); +// AudioCapture->SetHardwareFeatureEnabled((Audio::EHardwareInputFeature)FeatureType, bIsEnabled); +// Success = true; +// } + +void UConvaiPlayerComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) +{ + Super::TickComponent(DeltaTime, TickType, ThisTickFunction); + + if (!IsInit || !IsValid(AudioCaptureComponent)) + { + return; + } + + UpdateVoiceCapture(DeltaTime); +} + +void UConvaiPlayerComponent::EndPlay(const EEndPlayReason::Type EndPlayReason) +{ + // Unregister from the ConvaiSubsystem + if (UGameInstance* GameInstance = GetWorld()->GetGameInstance()) + { + if (UConvaiSubsystem* ConvaiSubsystem = GameInstance->GetSubsystem()) + { + if (IsValid(ConvaiSubsystem)) + { + ConvaiSubsystem->UnregisterPlayerComponent(this); + } + } + } + + if (IsRecording) + FinishRecording(); + + if (IsStreaming) + FinishTalking(); + + Super::EndPlay(EndPlayReason); +} + +bool UConvaiPlayerComponent::IsPixelStreamingEnabledAndAllowed() +{ + return UsePixelStreamingMicInput && PixelStreamingAudioComponent.IsValid(); +} + +void UConvaiPlayerComponent::UpdateVoiceCapture(float DeltaTime) +{ + if (IsRecording || IsStreaming) { + RemainingTimeUntilNextUpdate -= DeltaTime; + if (RemainingTimeUntilNextUpdate <= 0) + { + float ExpectedRecordingTime = DeltaTime > TIME_BETWEEN_VOICE_UPDATES_SECS ? DeltaTime : TIME_BETWEEN_VOICE_UPDATES_SECS; + FAudioThread::RunCommandOnAudioThread([this, ExpectedRecordingTime]() + { + StopVoiceChunkCapture(); + StartVoiceChunkCapture(ExpectedRecordingTime); + }); + RemainingTimeUntilNextUpdate = TIME_BETWEEN_VOICE_UPDATES_SECS; + } + } + else + { + RemainingTimeUntilNextUpdate = 0; + } +} + +void UConvaiPlayerComponent::StartVoiceChunkCapture(float ExpectedRecordingTime) +{ + //GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Yellow, FString::Printf(TEXT("StartVoiceChunkCapture() in VoiceCaptureComp.cpp"))); + //CONVAI_LOG(LogTemp, Warning, TEXT("StartVoiceChunkCapture() in VoiceCaptureComp.cpp")); + UAudioMixerBlueprintLibrary::StartRecordingOutput(this, ExpectedRecordingTime, Cast(AudioCaptureComponent->SoundSubmix)); +} + +void UConvaiPlayerComponent::ReadRecordedBuffer(Audio::AlignedFloatBuffer& RecordedBuffer, float& OutNumChannels, float& OutSampleRate) +{ + if (Audio::FMixerDevice* MixerDevice = GetAudioMixerDeviceFromWorldContext(this)) + { + // call the thing here. + RecordedBuffer = MixerDevice->StopRecording(Cast(AudioCaptureComponent->SoundSubmix), OutNumChannels, OutSampleRate); + + if (RecordedBuffer.Num() == 0) + { + //CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("ReadRecordedBuffer: No audio data. Did you call Start Recording Output?")); + } + } + else + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("ReadRecordedBuffer: Could not get MixerDevice")); + } +} + +void UConvaiPlayerComponent::StartAudioCaptureComponent() +{ + if (IsPixelStreamingEnabledAndAllowed()) + { + PixelStreamingAudioComponent->Start(); + } + else + { + AudioCaptureComponent->Start(); + } +} + +void UConvaiPlayerComponent::StopAudioCaptureComponent() +{ + if (IsPixelStreamingEnabledAndAllowed()) + { + PixelStreamingAudioComponent->Stop(); + } + AudioCaptureComponent->Stop(); +} + +void UConvaiPlayerComponent::StopVoiceChunkCapture() +{ + //USoundWave* SoundWaveMic = UAudioMixerBlueprintLibrary::StopRecordingOutput(this, EAudioRecordingExportType::SoundWave, "Convsound", "ConvSound", Cast(AudioCaptureComponent->SoundSubmix)); + + float NumChannels; + float SampleRate; + Audio::AlignedFloatBuffer RecordedBuffer = Audio::AlignedFloatBuffer(); + + ReadRecordedBuffer(RecordedBuffer, NumChannels, SampleRate); + //NumChannels = 2; + //SampleRate = ConvaiConstants::VoiceCaptureSampleRate; + + if (RecordedBuffer.Num() == 0) + return; + + Audio::TSampleBuffer Int16Buffer = Audio::TSampleBuffer(RecordedBuffer, NumChannels, SampleRate); + TArray OutConverted; + + if (NumChannels > 1 || SampleRate != ConvaiConstants::VoiceCaptureSampleRate) + { + UConvaiUtils::ResampleAudio(SampleRate, ConvaiConstants::VoiceCaptureSampleRate, NumChannels, true, (TArray)Int16Buffer.GetArrayView(), Int16Buffer.GetNumSamples(), OutConverted); + } + else + { + OutConverted = (TArray)Int16Buffer.GetArrayView(); + } + //OutConverted = (TArray)Int16Buffer.GetArrayView(); + //OutConverted = TArray(Int16Buffer.GetData(), Int16Buffer.GetNumSamples()); + + //CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("Int16Buffer.GetNumSamples() %i, NumChannels %f, SampleRate %f"), Int16Buffer.GetNumSamples(), NumChannels, SampleRate); + //CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("OutConverted.Num() %i"), OutConverted.Num()); + + if (IsRecording) + { + VoiceCaptureBuffer.Append((uint8*)OutConverted.GetData(), OutConverted.Num() * sizeof(int16)); + return; + } + + if (!ReplicateVoiceToNetwork) + { + if (IsStreaming) + VoiceCaptureRingBuffer.Enqueue((uint8*)OutConverted.GetData(), OutConverted.Num() * sizeof(int16)); + + onDataReceived_Delegate.ExecuteIfBound(); + } + else + { + // Stream voice data + AddPCMDataToSend(TArray((uint8*)OutConverted.GetData(), OutConverted.Num() * sizeof(int16)), false, ConvaiConstants::VoiceCaptureSampleRate, 1); + } +} + +void UConvaiPlayerComponent::StartRecording() +{ + if (IsRecording) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("StartRecording: already recording!")); + return; + } + + if (IsStreaming) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("StartRecording: already talking!")); + return; + } + + if (!IsInit) + { + CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("StartRecording: Initializing...")); + if (!Init()) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("StartRecording: Could not initialize")); + return; + } + } + + CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("Started Recording ")); + StartAudioCaptureComponent(); //Start the AudioCaptureComponent + + // reset audio buffers + StartVoiceChunkCapture(); + StopVoiceChunkCapture(); + VoiceCaptureBuffer.Empty(ConvaiConstants::VoiceCaptureBufferSize); + + IsRecording = true; +} + +USoundWave* UConvaiPlayerComponent::FinishRecording() +{ + if (!IsRecording) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("FinishRecording: did not start recording")); + return nullptr; + } + + CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("Stopped Recording ")); + StopVoiceChunkCapture(); + + USoundWave* OutSoundWave = UConvaiUtils::PCMDataToSoundWav(VoiceCaptureBuffer, 1, ConvaiConstants::VoiceCaptureSampleRate); + StopAudioCaptureComponent(); //stop the AudioCaptureComponent + if (IsValid(OutSoundWave)) + CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("OutSoundWave->GetDuration(): %f seconds "), OutSoundWave->GetDuration()); + IsRecording = false; + return OutSoundWave; +} + +void UConvaiPlayerComponent::StartTalking( + UConvaiChatbotComponent* ConvaiChatbotComponent, + UConvaiEnvironment* Environment, + bool GenerateActions, + bool VoiceResponse, + bool RunOnServer, + bool StreamPlayerMic, + bool UseServerAPI_Key) +{ + if (IsStreaming) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("StartTalking: already talking!")); + return; + } + + if (IsRecording) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("StartTalking: already recording!")); + return; + } + + if (!IsInit) + { + CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("StartTalking Initializing...")); + if (!Init()) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("StartTalking Could not initialize")); + return; + } + } + + if (!IsValid(ConvaiChatbotComponent)) + { + if (RunOnServer) + { + CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("StartTalking: ConvaiChatbotComponent is not valid, will still stream voice chat to network")); + } + else + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("StartTalking: ConvaiChatbotComponent is not valid")); + return; + } + } + + CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("Started Talking")); + + StartAudioCaptureComponent(); //Start the AudioCaptureComponent + + // reset audio buffers + StartVoiceChunkCapture(); + StopVoiceChunkCapture(); + + IsStreaming = true; + VoiceCaptureRingBuffer.Empty(); + + ReplicateVoiceToNetwork = RunOnServer; + + TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + FString AuthKey = AuthHeaderAndKey.Value; + FString AuthHeader = AuthHeaderAndKey.Key; + + FString ClientAuthKey = UseServerAPI_Key ? FString("") : AuthKey; + + // Ensure that the local version of the chatbot component has the ReplicateVoiceToNetwork set properly + ConvaiChatbotComponent->ReplicateVoiceToNetwork = RunOnServer; + + if (RunOnServer) + { + if (IsValid(Environment)) + StartTalkingServer(ConvaiChatbotComponent, true, Environment->Actions, Environment->Objects, Environment->Characters, Environment->MainCharacter, GenerateActions, VoiceResponse, StreamPlayerMic, UseServerAPI_Key, ClientAuthKey, AuthHeader); + else + StartTalkingServer(ConvaiChatbotComponent, false, TArray(), TArray(), TArray(), FConvaiObjectEntry(), GenerateActions, VoiceResponse, StreamPlayerMic, UseServerAPI_Key, ClientAuthKey, AuthHeader); + } + else + { + bool UseOverrideAuthKey = false; + ConvaiChatbotComponent->StartGetResponseStream(this, FString(""), Environment, GenerateActions, VoiceResponse, false, UseOverrideAuthKey, FString(""), FString(""), Token, SpeakerID); + CurrentConvaiChatbotComponent = ConvaiChatbotComponent; + } +} + +void UConvaiPlayerComponent::FinishTalking() +{ + if (!IsStreaming) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("FinishTalking did not start talking")); + return; + } + + StopVoiceChunkCapture(); + StopAudioCaptureComponent(); //stop the AudioCaptureComponent + IsStreaming = false; + + if (ReplicateVoiceToNetwork) + { + FinishTalkingServer(); + } + else + { + // Invalidate the token by generating a new one + GenerateNewToken(); + + if (IsValid(CurrentConvaiChatbotComponent)) + { + CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("FinishTalking calling FinishGetResponseStream")); + CurrentConvaiChatbotComponent->FinishGetResponseStream(this); + CurrentConvaiChatbotComponent = nullptr; + } + else + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("FinishTalking failed to call FinishGetResponseStream")); + } + } + + CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("Finished Talking")); +} + +void UConvaiPlayerComponent::StartTalkingServer_Implementation( + class UConvaiChatbotComponent* ConvaiChatbotComponent, + bool EnvironemntSent, + const TArray& Actions, + const TArray& Objects, + const TArray& Characters, + FConvaiObjectEntry MainCharacter, + bool GenerateActions, + bool VoiceResponse, + bool StreamPlayerMic, + bool UseServerAPI_Key, + const FString& ClientAuthKey, + const FString& AuthHeader) +{ + // if "StreamPlayerMic" is true then "bShouldMuteGlobal" should be false, meaning we will play the player's audio on other clients + bShouldMuteGlobal = !StreamPlayerMic; + + // Make sure the ring buffer is empty + VoiceCaptureRingBuffer.Empty(); + + // if "ConvaiChatbotComponent" is valid then run StartGetResponseStream function + if (IsValid(ConvaiChatbotComponent)) + { + UConvaiEnvironment* Environment = nullptr; + if (EnvironemntSent) + { + if (IsValid(ConvaiChatbotComponent->Environment)) + Environment = ConvaiChatbotComponent->Environment; + else + { + Environment = UConvaiEnvironment::CreateConvaiEnvironment(); + } + + Environment->Actions = Actions; + Environment->Characters = Characters; + Environment->Objects = Objects; + Environment->MainCharacter = MainCharacter; + } + bool UseOverrideAuthKey = !UseServerAPI_Key; + ConvaiChatbotComponent->StartGetResponseStream(this, FString(""), Environment, GenerateActions, VoiceResponse, true, UseOverrideAuthKey, ClientAuthKey, AuthHeader, Token, SpeakerID); + CurrentConvaiChatbotComponent = ConvaiChatbotComponent; + } +} + +void UConvaiPlayerComponent::FinishTalkingServer_Implementation() +{ + // Invalidate the token by generating a new one + GenerateNewToken(); + + if (IsValid(CurrentConvaiChatbotComponent)) + { + CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("FinishTalking calling FinishGetResponseStream")); + CurrentConvaiChatbotComponent->FinishGetResponseStream(this); + CurrentConvaiChatbotComponent = nullptr; + } + else + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("FinishTalking failed to call FinishGetResponseStream")); + } +} + +void UConvaiPlayerComponent::SendText(UConvaiChatbotComponent* ConvaiChatbotComponent, FString Text, UConvaiEnvironment* Environment, bool GenerateActions, bool VoiceResponse, bool RunOnServer, bool UseServerAPI_Key) +{ + //FString Error; + //if (GenerateActions && !UConvaiActions::ValidateEnvironment(Environment, Error)) + //{ + // CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("SendText: %s"), *Error); + // CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("SendText: Environment object seems to have issues -> setting GenerateActions to false")); + // GenerateActions = false; + //} + + + if (!IsValid(ConvaiChatbotComponent)) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("SendText: ConvaiChatbotComponent is not valid")); + return; + } + + if (Text.Len() == 0) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("SendText: Text is empty")); + return; + } + + ReplicateVoiceToNetwork = RunOnServer; + + TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + FString AuthKey = AuthHeaderAndKey.Value; + FString AuthHeader = AuthHeaderAndKey.Key; + + FString ClientAuthKey = UseServerAPI_Key ? FString("") : AuthKey; + + // Ensure that the local version of the chatbot component has the ReplicateVoiceToNetwork set properly + ConvaiChatbotComponent->ReplicateVoiceToNetwork = RunOnServer; + + if (RunOnServer) + { + if (IsValid(Environment)) + SendTextServer(ConvaiChatbotComponent, Text, true, Environment->Actions, Environment->Objects, Environment->Characters, Environment->MainCharacter, GenerateActions, VoiceResponse, UseServerAPI_Key, ClientAuthKey, AuthHeader); + else + SendTextServer(ConvaiChatbotComponent, Text, false, TArray(), TArray(), TArray(), FConvaiObjectEntry(), GenerateActions, VoiceResponse, UseServerAPI_Key, ClientAuthKey, AuthHeader); + } + else + { + bool UseOverrideAuthKey = false; + ConvaiChatbotComponent->StartGetResponseStream(this, Text, Environment, GenerateActions, VoiceResponse, false, UseOverrideAuthKey, FString(""), FString(""), Token, SpeakerID); + + // Invalidate the token by generating a new one + GenerateNewToken(); + + CurrentConvaiChatbotComponent = ConvaiChatbotComponent; + } +} + +void UConvaiPlayerComponent::SendTextServer_Implementation( + UConvaiChatbotComponent* ConvaiChatbotComponent, + const FString& Text, + bool EnvironemntSent, + const TArray& Actions, + const TArray& Objects, + const TArray& Characters, + FConvaiObjectEntry MainCharacter, + bool GenerateActions, + bool VoiceResponse, + bool UseServerAPI_Key, + const FString& ClientAuthKey, + const FString& AuthHeader) +{ + if (!IsValid(ConvaiChatbotComponent)) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("SendTextServer: ConvaiChatbotComponent is not valid")); + return; + } + + UConvaiEnvironment* Environment; + if (IsValid(ConvaiChatbotComponent->Environment)) + Environment = ConvaiChatbotComponent->Environment; + else + { + Environment = UConvaiEnvironment::CreateConvaiEnvironment(); + } + + Environment->Actions = Actions; + Environment->Characters = Characters; + Environment->Objects = Objects; + Environment->MainCharacter = MainCharacter; + + bool UseOverrideAuthKey = !UseServerAPI_Key; + ConvaiChatbotComponent->StartGetResponseStream(this, Text, Environment, GenerateActions, VoiceResponse, true, UseOverrideAuthKey, ClientAuthKey, AuthHeader, Token, SpeakerID); + + // Invalidate the token by generating a new one + GenerateNewToken(); + + CurrentConvaiChatbotComponent = ConvaiChatbotComponent; +} + +bool UConvaiPlayerComponent::ShouldMuteLocal() +{ + return true; +} + +bool UConvaiPlayerComponent::ShouldMuteGlobal() +{ + return bShouldMuteGlobal; +} + +void UConvaiPlayerComponent::OnServerAudioReceived(uint8* VoiceData, uint32 VoiceDataSize, bool ContainsHeaderData, uint32 SampleRate, uint32 NumChannels) +{ + //if (IsRecording) + // VoiceCaptureBuffer.Append(VoiceData, VoiceDataSize); + + //if (IsStreaming) + // VoiceCaptureRingBuffer.Enqueue(VoiceData, VoiceDataSize); + + //CONVAI_LOG(ConvaiPlayerLog, Log, TEXT("OnServerAudioReceived received %d bytes"), VoiceDataSize); + //onDataReceived_Delegate.ExecuteIfBound(); + + // Simply enque the data into the ring buffer + VoiceCaptureRingBuffer.Enqueue(VoiceData, VoiceDataSize); +} + +void UConvaiPlayerComponent::BeginPlay() +{ + Super::BeginPlay(); + + if (IsValid(AudioCaptureComponent)) + { + AudioCaptureComponent->AttachToComponent(this, FAttachmentTransformRules::KeepRelativeTransform); + } + else + { + CONVAI_LOG(ConvaiPlayerLog, Error, TEXT("Could not attach AudioCaptureComponent")); + } + + if (!IsInit) + { + if (!Init()) + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("Could not initialize Audio Decoder")); + return; + } + } + + // Register with the ConvaiSubsystem + if (UGameInstance* GameInstance = GetWorld()->GetGameInstance()) + { + if (UConvaiSubsystem* ConvaiSubsystem = GameInstance->GetSubsystem()) + { + if (IsValid(ConvaiSubsystem)) + { + ConvaiSubsystem->RegisterPlayerComponent(this); + } + else + { + CONVAI_LOG(ConvaiPlayerLog, Warning, TEXT("BeginPlay: ConvaiSubsystem is not valid")); + } + } + } +} + +bool UConvaiPlayerComponent::ConsumeStreamingBuffer(TArray& Buffer) +{ + int Datalength = VoiceCaptureRingBuffer.RingDataUsage(); + if (Datalength <= 0) + return false; + + Buffer.SetNumUninitialized(Datalength, false); + VoiceCaptureRingBuffer.Dequeue(Buffer.GetData(), Datalength); + + return true; +} + +void UConvaiPlayerComponent::SetIsStreamingServer_Implementation(bool value) +{ + IsStreaming = value; + if (IsStreaming == false) + onDataReceived_Delegate.ExecuteIfBound(); // In case a consumer was waiting on this delegate +} + +void UConvaiPlayerComponent::BeginDestroy() +{ + // Fallback unregistration in case EndPlay wasn't called + if (UGameInstance* GameInstance = GetWorld() ? GetWorld()->GetGameInstance() : nullptr) + { + if (UConvaiSubsystem* ConvaiSubsystem = GameInstance->GetSubsystem()) + { + if (IsValid(ConvaiSubsystem)) + { + ConvaiSubsystem->UnregisterPlayerComponent(this); + } + } + } + + Super::BeginDestroy(); +} diff --git a/ConvAI/Convai/Source/Convai/Private/ConvaiSpeechToTextProxy.cpp b/ConvAI/Convai/Source/Convai/Private/ConvaiSpeechToTextProxy.cpp new file mode 100644 index 0000000..31aaab0 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/ConvaiSpeechToTextProxy.cpp @@ -0,0 +1,232 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + + +#include "ConvaiSpeechToTextProxy.h" +#include "ConvaiUtils.h" +#include "Sound/SoundWave.h" +#include "Misc/FileHelper.h" +#include "Misc/Paths.h" +#include "AudioDecompress.h" +#include "Engine.h" +#include "JsonObjectConverter.h" +#include "../Convai.h" + +namespace +{ + static FString TextToSpeechURL() { return UConvaiURL::GetFullURL(TEXT("tts"), false); } + static FString SpeechToTextURL() { return UConvaiURL::GetFullURL(TEXT("stt/"), false); } +} + + +DEFINE_LOG_CATEGORY(ConvaiS2THttpLog); + +UConvaiSpeechToTextProxy* UConvaiSpeechToTextProxy::CreateSpeech2TextFromFileNameQueryProxy(UObject* WorldContextObject, FString filename) +{ + UConvaiSpeechToTextProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->URL = SpeechToTextURL(); + + if (!FPaths::FileExists(filename)) + { + // check if the file is relative to the save/BouncedWavFiles directory + FString SaveDir = FPaths::ConvertRelativePathToFull(FPaths::ProjectSavedDir()); + filename = FPaths::Combine(SaveDir, FString("BouncedWavFiles"), filename); + if (!FPaths::FileExists(filename)) + { + //if (!FPaths::GameAgnosticSavedDir) + CONVAI_LOG(ConvaiS2THttpLog, Warning, TEXT("File does not exist!, %s"), *filename); + Proxy->failed(); + return nullptr; + } + } + + // Read the file into a byte array + FFileHelper::LoadFileToArray(Proxy->Payload, *filename, 0); + + Proxy->bStereo = true; + return Proxy; +} + +UConvaiSpeechToTextProxy* UConvaiSpeechToTextProxy::CreateSpeech2TextFromSoundWaveQueryProxy(UObject* WorldContextObject, USoundWave* SoundWave) +{ + UConvaiSpeechToTextProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->URL = SpeechToTextURL(); + + if (SoundWave == nullptr) + { + CONVAI_LOG(ConvaiS2THttpLog, Warning, TEXT("Sound wave is invalid!")); + Proxy->failed(); + return nullptr; + } + + + //Proxy->Payload.SetNum(SoundWave->TotalSamples * 2); + uint8* PCMData = nullptr; + TArray RawPCMData; + int32 OutSampleRate = -1; + int32 outNumChannels = -1; + //int32 numBytes = SoundWave->GeneratePCMData(PCMData, SoundWave->TotalSamples); + + if (SoundWave->RawPCMData == nullptr || SoundWave->RawPCMDataSize <= 0) { + CONVAI_LOG(LogTemp, Display, TEXT("SoundWave PCM Data is compressed. Starting Decompressing.....")); + RawPCMData = UConvaiUtils::ExtractPCMDataFromSoundWave(SoundWave, OutSampleRate, outNumChannels); + + if (RawPCMData.Num() > 0) { + CONVAI_LOG(LogTemp, Display, TEXT("SoundWave PCM Data decompression successfully done.....")); + } + else { + CONVAI_LOG(LogTemp,Warning,TEXT("SoundWave couldn't be decompressed successuflly !!!")); + } + //CONVAI_LOG(ConvaiS2THttpLog, Warning, TEXT("RawPCMData is invalid!")); + } + else { + RawPCMData = TArray(SoundWave->RawPCMData, SoundWave->RawPCMDataSize); + } + + //TArray AudioBuffer(SoundWave->RawPCMData, SoundWave->RawPCMDataSize); + + SerializeWaveFile(Proxy->Payload, RawPCMData.GetData(), RawPCMData.Num(), SoundWave->NumChannels, SoundWave->GetSampleRateForCurrentPlatform()); + + //CONVAI_LOG(ConvaiS2THttpLog, Warning, TEXT("Sound wave sample rate: %f"), SoundWave->GetSampleRateForCurrentPlatform()); + Proxy->bStereo = SoundWave->NumChannels>1? true : false; + return Proxy; +} + +UConvaiSpeechToTextProxy* UConvaiSpeechToTextProxy::CreateSpeech2TextFromArrayQueryProxy(UObject* WorldContextObject, TArray Payload) +{ + UConvaiSpeechToTextProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->URL = SpeechToTextURL(); + Proxy->Payload = Payload; + Proxy->bStereo = true; + return Proxy; +} + + +void UConvaiSpeechToTextProxy::Activate() +{ + UWorld* World = WorldPtr.Get(); + + if (!World) + { + CONVAI_LOG(ConvaiS2THttpLog, Warning, TEXT("Could not get a pointer to world!")); + failed(); + return; + } + + FHttpModule* Http = &FHttpModule::Get(); + if (!Http) + { + CONVAI_LOG(ConvaiS2THttpLog, Warning, TEXT("Could not get a pointer to http module!")); + failed(); + return; + } + + if (Payload.Num() <= 44) + { + CONVAI_LOG(ConvaiS2THttpLog, Warning, TEXT("Payload size is too small, %d bytes!"), Payload.Num()); + failed(); + return; + } + + + TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + FString AuthKey = AuthHeaderAndKey.Value; + FString AuthHeader = AuthHeaderAndKey.Key; + + // Form Validation + if (!UConvaiFormValidation::ValidateAuthKey(AuthKey) || !UConvaiFormValidation::ValidateInputVoice(Payload)) + { + failed(); + return; + } + + TArray monoWavBytes; + if (bStereo) + { + // Change the wav file from 2 channels to 1 channel + UConvaiUtils::StereoToMono(Payload, monoWavBytes); + } + else + { + monoWavBytes = Payload; + } + + // Create the request + FHttpRequestRef Request = Http->CreateRequest(); + Request->OnProcessRequestComplete().BindUObject(this, &UConvaiSpeechToTextProxy::onHttpRequestComplete); + + // Set request fields + Request->SetURL(URL); + Request->SetVerb("POST"); + Request->SetHeader(TEXT("User-Agent"), TEXT("X-UnrealEngine-Agent")); + + Request->SetHeader("Content-Type", "multipart/form-data; boundary=blahblahsomeboundary"); + Request->SetHeader(AuthHeader, AuthKey); + + // prepare request content data + //FString a = "\r\n--blahblahsomeboundary\r\n"; + //FString b = "Content-Disposition: form-data; name=\"Request->SetHeader(AuthHeader, AuthKey);\"\r\n\r\n"; + // Request->SetHeader(AuthHeader, AuthKey); + FString c = "\r\n--blahblahsomeboundary\r\n"; + FString d = "Content-Disposition: form-data; name=\"file\"; filename=\"out.wav\"\r\n\r\n"; + + // UpFileRawData + FString e = "\r\n--blahblahsomeboundary--\r\n"; + + TArray data; + //data.Append((uint8*)TCHAR_TO_UTF8(*a), a.Len()); + //data.Append((uint8*)TCHAR_TO_UTF8(*b), b.Len()); + //data.Append((uint8*)TCHAR_TO_UTF8(*Request->SetHeader(AuthHeader, AuthKey);), Request->SetHeader(AuthHeader, AuthKey);.Len()); + data.Append((uint8*)TCHAR_TO_UTF8(*c), c.Len()); + data.Append((uint8*)TCHAR_TO_UTF8(*d), d.Len()); + data.Append(monoWavBytes); + data.Append((uint8*)TCHAR_TO_UTF8(*e), e.Len()); + + + Request->SetContent(data); + + // Run the request + if (!Request->ProcessRequest()) failed(); +} + + +void UConvaiSpeechToTextProxy::onHttpRequestComplete(FHttpRequestPtr RequestPtr, FHttpResponsePtr ResponsePtr, bool bWasSuccessful) +{ + if (!bWasSuccessful || ResponsePtr->GetResponseCode() < 200 || ResponsePtr->GetResponseCode() > 299) + { + CONVAI_LOG(ConvaiS2THttpLog, Warning, TEXT("HTTP request failed with code %d"), ResponsePtr->GetResponseCode()); + CONVAI_LOG(ConvaiS2THttpLog, Warning, TEXT("Response:%s"), *ResponsePtr->GetContentAsString()); + + this->Response = ResponsePtr->GetContentAsString(); + failed(); + return; + } + + this->Response = ResponsePtr->GetContentAsString(); + // Clean the string + this->Response = this->Response.LeftChop(3); + this->Response = this->Response.RightChop(12); + success(); +} + + +void UConvaiSpeechToTextProxy::failed() +{ + OnFailure.Broadcast(Response); + finish(); +} + + +void UConvaiSpeechToTextProxy::success() +{ + OnSuccess.Broadcast(Response); + finish(); +} + + +void UConvaiSpeechToTextProxy::finish() +{ +} + diff --git a/ConvAI/Convai/Source/Convai/Private/ConvaiSubsystem.cpp b/ConvAI/Convai/Source/Convai/Private/ConvaiSubsystem.cpp new file mode 100644 index 0000000..bccba78 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/ConvaiSubsystem.cpp @@ -0,0 +1,481 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + +#include "ConvaiSubsystem.h" +#include "ConvaiAndroid.h" +#include "Engine/Engine.h" +#include "Async/Async.h" +#include "../Convai.h" +#include "ConvaiUtils.h" +#include "HAL/PlatformProcess.h" +#include "ConvaiChatbotComponent.h" +#include "ConvaiPlayerComponent.h" + +THIRD_PARTY_INCLUDES_START +// grpc includes +#include +#include +THIRD_PARTY_INCLUDES_END + + +using grpc::Channel; +using grpc::ClientAsyncResponseReader; +using grpc::ClientContext; +using grpc::CompletionQueue; +using grpc::Status; +using service::ConvaiService; + +DEFINE_LOG_CATEGORY(ConvaiSubsystemLog); + +using grpc::SslCredentialsOptions; + +#if PLATFORM_WINDOWS +#include +namespace +{ + + std::string utf8Encode(const std::wstring& wstr) + { + if (wstr.empty()) + return std::string(); + + int sizeNeeded = WideCharToMultiByte(CP_UTF8, 0, &wstr[0], (int)wstr.size(), + NULL, 0, NULL, NULL); + std::string strTo(sizeNeeded, 0); + WideCharToMultiByte(CP_UTF8, 0, &wstr[0], (int)wstr.size(), + &strTo[0], sizeNeeded, NULL, NULL); + return strTo; + } + + + SslCredentialsOptions getSslOptions() { + SslCredentialsOptions result; + + std::string pem_root_certs = R"(-----BEGIN CERTIFICATE----- +MIIFjDCCA3SgAwIBAgINAgCOsgIzNmWLZM3bmzANBgkqhkiG9w0BAQsFADBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMjAwODEzMDAwMDQyWhcNMjcwOTMwMDAw +MDQyWjBGMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzETMBEGA1UEAxMKR1RTIENBIDFENDCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAKvAqqPCE27l0w9zC8dTPIE89bA+xTmDaG7y7VfQ4c+mOWhl +UebUQpK0yv2r678RJExK0HWDjeq+nLIHN1Em5j6rARZixmyRSjhIR0KOQPGBMUld +saztIIJ7O0g/82qj/vGDl//3t4tTqxiRhLQnTLXJdeB+2DhkdU6IIgx6wN7E5NcU +H3Rcsejcqj8p5Sj19vBm6i1FhqLGymhMFroWVUGO3xtIH91dsgy4eFKcfKVLWK3o +2190Q0Lm/SiKmLbRJ5Au4y1euFJm2JM9eB84Fkqa3ivrXWUeVtye0CQdKvsY2Fka +zvxtxvusLJzLWYHk55zcRAacDA2SeEtBbQfD1qsCAwEAAaOCAXYwggFyMA4GA1Ud +DwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwEgYDVR0T +AQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUJeIYDrJXkZQq5dRdhpCD3lOzuJIwHwYD +VR0jBBgwFoAU5K8rJnEaK0gnhS9SZizv8IkTcT4waAYIKwYBBQUHAQEEXDBaMCYG +CCsGAQUFBzABhhpodHRwOi8vb2NzcC5wa2kuZ29vZy9ndHNyMTAwBggrBgEFBQcw +AoYkaHR0cDovL3BraS5nb29nL3JlcG8vY2VydHMvZ3RzcjEuZGVyMDQGA1UdHwQt +MCswKaAnoCWGI2h0dHA6Ly9jcmwucGtpLmdvb2cvZ3RzcjEvZ3RzcjEuY3JsME0G +A1UdIARGMEQwCAYGZ4EMAQIBMDgGCisGAQQB1nkCBQMwKjAoBggrBgEFBQcCARYc +aHR0cHM6Ly9wa2kuZ29vZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAgEA +IVToy24jwXUr0rAPc924vuSVbKQuYw3nLflLfLh5AYWEeVl/Du18QAWUMdcJ6o/q +FZbhXkBH0PNcw97thaf2BeoDYY9Ck/b+UGluhx06zd4EBf7H9P84nnrwpR+4GBDZ +K+Xh3I0tqJy2rgOqNDflr5IMQ8ZTWA3yltakzSBKZ6XpF0PpqyCRvp/NCGv2KX2T +uPCJvscp1/m2pVTtyBjYPRQ+QuCQGAJKjtN7R5DFrfTqMWvYgVlpCJBkwlu7+7KY +3cTIfzE7cmALskMKNLuDz+RzCcsYTsVaU7Vp3xL60OYhqFkuAOOxDZ6pHOj9+OJm +YgPmOT4X3+7L51fXJyRH9KfLRP6nT31D5nmsGAOgZ26/8T9hsBW1uo9ju5fZLZXV +VS5H0HyIBMEKyGMIPhFWrlt/hFS28N1zaKI0ZBGD3gYgDLbiDT9fGXstpk+Fmc4o +lVlWPzXe81vdoEnFbr5M272HdgJWo+WhT9BYM0Ji+wdVmnRffXgloEoluTNcWzc4 +1dFpgJu8fF3LG0gl2ibSYiCi9a6hvU0TppjJyIWXhkJTcMJlPrWx1VytEUGrX2l0 +JDwRjW/656r0KVB02xHRKvm2ZKI03TglLIpmVCK3kBKkKNpBNkFt8rhafcCKOb9J +x/9tpNFlQTl7B39rJlJWkR17QnZqVptFePFORoZmFzM= +-----END CERTIFICATE----- + +-----BEGIN CERTIFICATE----- +MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw +MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaMf/vo +27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7w +Cl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjw +TcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0Pfybl +qAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaH +szVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4Zor8 +Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUspzBmk +MiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92 +wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70p +aDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrN +VjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQID +AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBAJ+qQibb +C5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe +QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuy +h6f88/qBVRRiClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM4 +7HLwEXWdyzRSjeZ2axfG34arJ45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8J +ZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYciNuaCp+0KueIHoI17eko8cdLiA6Ef +MgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5meLMFrUKTX5hgUvYU/ +Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJFfbdT +6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ +0E6yove+7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm +2tIMPNuzjsmhDYAPexZ3FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bb +bP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3gm3c +-----END CERTIFICATE----- + +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw +TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh +cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 +WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu +ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc +h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ +0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U +A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW +T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH +B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC +B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv +KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn +OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn +jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw +qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI +rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq +hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ +3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK +NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 +ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur +TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC +jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc +oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq +4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA +mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d +emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- +)"; + + result.pem_root_certs = pem_root_certs; + return result; + } + + + SslCredentialsOptions getSslOptionsystem() + { + // Start with hardcoded certificates + SslCredentialsOptions result = getSslOptions(); + + // Open root certificate store. + HANDLE hRootCertStore = CertOpenSystemStoreW(NULL, L"ROOT"); + if (!hRootCertStore) + return result; + + // Get all root certificates and append them. + PCCERT_CONTEXT pCert = NULL; + while ((pCert = CertEnumCertificatesInStore(hRootCertStore, pCert)) != NULL) + { + // Append this certificate in PEM formatted data. + DWORD size = 0; + CryptBinaryToStringW(pCert->pbCertEncoded, pCert->cbCertEncoded, + CRYPT_STRING_BASE64HEADER, NULL, &size); + std::vector pem(size); + CryptBinaryToStringW(pCert->pbCertEncoded, pCert->cbCertEncoded, + CRYPT_STRING_BASE64HEADER, pem.data(), &size); + + result.pem_root_certs += utf8Encode(pem.data()); + } + + CertCloseStore(hRootCertStore, 0); + return result; + } + +}; +#endif + +namespace +{ + const char* grpc_connectivity_state_str[] = + { + "GRPC_CHANNEL_IDLE", + "GRPC_CHANNEL_CONNECTING", + "GRPC_CHANNEL_READY", + "GRPC_CHANNEL_TRANSIENT_FAILURE", + "GRPC_CHANNEL_SHUTDOWN" + }; + +}; + +uint32 FgRPCClient::Run() +{ + void* got_tag; + bool ok = false; + CONVAI_LOG(ConvaiSubsystemLog, Log, TEXT("Start Run")); + + // Block until the next result is available in the completion queue "cq + while (bIsRunning && cq_.Next(&got_tag, &ok)) { + if (got_tag) + { + FgRPC_Delegate* gRPC_Delegate = static_cast(got_tag); + + if (bIsRunning) + { + gRPC_Delegate->ExecuteIfBound(ok); + } + else + { + CONVAI_LOG(ConvaiSubsystemLog, Log, TEXT("Could not run gRPC delegate due to thread closing down")); + } + } + else + { + CONVAI_LOG(ConvaiSubsystemLog, Log, TEXT("Bad got_tag")); + } + + } + CONVAI_LOG(ConvaiSubsystemLog, Log, TEXT("End Run")); + + return 0; +} + +void FgRPCClient::StartStub() +{ + OnStateChangeDelegate = FgRPC_Delegate::CreateRaw(this, &FgRPCClient::OnStateChange); + CreateChannel(); + + bIsRunning = true; + Thread.Reset(FRunnableThread::Create(this, TEXT("gRPC_Stub"))); +} + +void FgRPCClient::CreateChannel() +{ + CONVAI_LOG(ConvaiSubsystemLog, Log, TEXT("gRPC Creating Channel...")); + grpc::ChannelArguments args; + args.SetMaxReceiveMessageSize(2147483647); + + args.SetInt(GRPC_ARG_CLIENT_IDLE_TIMEOUT_MS, INT_MAX); + + args.SetInt(GRPC_ARG_KEEPALIVE_TIME_MS, 30000); // Send keepalive ping every 30 seconds + args.SetInt(GRPC_ARG_KEEPALIVE_TIMEOUT_MS, 60000); // Wait 5 seconds for keepalive response + args.SetInt(GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS, 1); // Allow keepalive even when no active calls + + Channel = grpc::CreateCustomChannel(Target, Creds, args); + + //Channel->NotifyOnStateChange(grpc_connectivity_state::GRPC_CHANNEL_CONNECTING, std::chrono::system_clock::time_point().max(), &cq_, (void*)&OnStateChangeDelegate); +} + +void FgRPCClient::OnStateChange(bool ok) +{ + grpc_connectivity_state state; + + if (Channel) + state = Channel->GetState(true); + else + state = grpc_connectivity_state::GRPC_CHANNEL_SHUTDOWN; + + + if (state == grpc_connectivity_state::GRPC_CHANNEL_SHUTDOWN) + { + if (!bIsRunning) + { + CONVAI_LOG(ConvaiSubsystemLog, Warning, TEXT("gRPC channel state changed to %s... Attempting to reconnect"), *FString(grpc_connectivity_state_str[state])); + CreateChannel(); + } + else + { + CONVAI_LOG(ConvaiSubsystemLog, Log, TEXT("gRPC channel state changed to %s... Closing"), *FString(grpc_connectivity_state_str[state])); + } + //Channel->NotifyOnStateChange(state, std::chrono::system_clock::time_point().max(), &cq_, (void*)&OnStateChangeDelegate); + } + else + { + CONVAI_LOG(ConvaiSubsystemLog, Log, TEXT("gRPC channel state changed to %s"), *FString(grpc_connectivity_state_str[state])); + Channel->NotifyOnStateChange(state, std::chrono::system_clock::time_point().max(), &cq_, (void*)&OnStateChangeDelegate); + } +} + +void FgRPCClient::Exit() +{ + if (!bIsRunning) + { + return; + } + + bIsRunning = false; + { + FScopeLock Lock(&CriticalSection); + cq_.Shutdown(); + } +} + +FgRPCClient::FgRPCClient(std::string InTarget, + const std::shared_ptr& InCreds) + : bIsRunning(false), + Creds(InCreds), + Target(InTarget) +{ +} + +std::unique_ptr FgRPCClient::GetNewStub() +{ + FScopeLock Lock(&CriticalSection); + + // # TODO (Mohamed): Handling Mic permissions requires refactoring and a unified pipeline for all platforms + // Delaying asking for permission for MacOS due to a crash + #ifdef __APPLE__ + GetAppleMicPermission(); + #endif + + grpc_connectivity_state state = Channel->GetState(false); + + if (state != grpc_connectivity_state::GRPC_CHANNEL_READY) + { + CONVAI_LOG(ConvaiSubsystemLog, Warning, TEXT("gRPC channel not ready yet.. Current State: %s"), *FString(grpc_connectivity_state_str[state])); + } + return ConvaiService::NewStub(Channel); +} + +CompletionQueue* FgRPCClient::GetCompletionQueue() +{ + return &cq_; +} + +UConvaiSubsystem::UConvaiSubsystem() + : UGameInstanceSubsystem() +{ +} + +void UConvaiSubsystem::Initialize(FSubsystemCollectionBase& Collection) +{ + Super::Initialize(Collection); + + //AsyncTask(ENamedThreads::GameThread, [WeakThis = MakeWeakObjectPtr(this)] + // { + // Check command line for insecure connection flag first, then fall back to settings + bool AllowInsecureConnection = false; + FString InsecureConnectionStr = UCommandLineUtils::GetCommandLineFlagValueAsString(TEXT("ConvaiAllowInsecure"), TEXT("")); + if (!InsecureConnectionStr.IsEmpty()) + { + // Convert string to bool + AllowInsecureConnection = InsecureConnectionStr.ToBool(); + CONVAI_LOG(ConvaiSubsystemLog, Log, TEXT("Using insecure connection setting from command line: %s"), + AllowInsecureConnection ? TEXT("true") : TEXT("false")); + } + else + { + // Use setting from ConvaiSettings + AllowInsecureConnection = Convai::Get().GetConvaiSettings()->AllowInsecureConnection; + } + + std::shared_ptr channel_creds; + #if PLATFORM_WINDOWS + if (AllowInsecureConnection) + channel_creds = grpc::InsecureChannelCredentials(); + else + { + // Check if we should use system certificates (can be overridden by command line) + bool UseSystemCerts = Convai::Get().GetConvaiSettings()->UseSystemCertificates; + FString UseSystemCertsStr = UCommandLineUtils::GetCommandLineFlagValueAsString(TEXT("ConvaiUseSystemCerts"), TEXT("")); + if (!UseSystemCertsStr.IsEmpty()) + { + UseSystemCerts = UseSystemCertsStr.ToBool(); + CONVAI_LOG(ConvaiSubsystemLog, Log, TEXT("Using system certificates setting from command line: %s"), + UseSystemCerts ? TEXT("true") : TEXT("false")); + } + + if (UseSystemCerts) + { + CONVAI_LOG(ConvaiSubsystemLog, Log, TEXT("Using both hardcoded and system SSL certificates")); + channel_creds = grpc::SslCredentials(getSslOptionsystem()); + } + else + { + channel_creds = grpc::SslCredentials(getSslOptions()); + } + } + #else + if (AllowInsecureConnection) + channel_creds = grpc::InsecureChannelCredentials(); + else + channel_creds = grpc::SslCredentials(grpc::SslCredentialsOptions()); + #endif + + // Get URL from command line first, then settings, then default + FString URL = Convai::Get().GetConvaiSettings()->CustomURL; + URL.TrimEndInline(); + URL.TrimStartInline(); + + // Check for command line parameter + FString CommandLineURL = UCommandLineUtils::GetCommandLineFlagValueAsString(TEXT("ConvaiStreamURL"), TEXT("")); + if (!CommandLineURL.IsEmpty()) + { + URL = CommandLineURL; + CONVAI_LOG(ConvaiSubsystemLog, Log, TEXT("Using stream URL from command line: %s"), *URL); + } + // If settings URL is empty, use default + else if (URL.IsEmpty()) + { + URL = "stream.convai.com"; + } + + gRPC_Runnable = MakeShareable(new FgRPCClient(TCHAR_TO_UTF8(*URL), channel_creds)); + + //gRPC_Runnable = MakeShareable(new FgRPCClient(std::string("0.tcp.us-cal-1.ngrok.io:13976"), channel_creds)); + + gRPC_Runnable->StartStub(); + CONVAI_LOG(ConvaiSubsystemLog, Log, TEXT("UConvaiSubsystem Started")); + + #if PLATFORM_ANDROID + GetAndroidMicPermission(); + #endif + //}); +} + +void UConvaiSubsystem::Deinitialize() +{ + gRPC_Runnable->Exit(); + Super::Deinitialize(); + CONVAI_LOG(ConvaiSubsystemLog, Log, TEXT("UConvaiSubsystem Stopped")); +} + +void UConvaiSubsystem::GetAndroidMicPermission() +{ + if (!UConvaiAndroid::ConvaiAndroidHasMicrophonePermission()) + UConvaiAndroid::ConvaiAndroidAskMicrophonePermission(); +} + +void UConvaiSubsystem::RegisterChatbotComponent(UConvaiChatbotComponent* ChatbotComponent) +{ + if (IsValid(ChatbotComponent) && !RegisteredChatbotComponents.Contains(ChatbotComponent)) + { + RegisteredChatbotComponents.Add(ChatbotComponent); + } +} + +void UConvaiSubsystem::UnregisterChatbotComponent(UConvaiChatbotComponent* ChatbotComponent) +{ + if (RegisteredChatbotComponents.Contains(ChatbotComponent)) + { + RegisteredChatbotComponents.Remove(ChatbotComponent); + } +} + +TArray UConvaiSubsystem::GetAllChatbotComponents() const +{ + return RegisteredChatbotComponents; +} + +void UConvaiSubsystem::RegisterPlayerComponent(UConvaiPlayerComponent* PlayerComponent) +{ + if (IsValid(PlayerComponent) && !RegisteredPlayerComponents.Contains(PlayerComponent)) + { + RegisteredPlayerComponents.Add(PlayerComponent); + CONVAI_LOG(ConvaiSubsystemLog, Verbose, TEXT("Registered player component: %s"), *PlayerComponent->GetName()); + } +} + +void UConvaiSubsystem::UnregisterPlayerComponent(UConvaiPlayerComponent* PlayerComponent) +{ + if (RegisteredPlayerComponents.Contains(PlayerComponent)) + { + RegisteredPlayerComponents.Remove(PlayerComponent); + CONVAI_LOG(ConvaiSubsystemLog, Verbose, TEXT("Unregistered player component: %s"), *PlayerComponent->GetName()); + } +} + +TArray UConvaiSubsystem::GetAllPlayerComponents() const +{ + return RegisteredPlayerComponents; +} diff --git a/ConvAI/Convai/Source/Convai/Private/ConvaiTextToSpeechProxy.cpp b/ConvAI/Convai/Source/Convai/Private/ConvaiTextToSpeechProxy.cpp new file mode 100644 index 0000000..eba87a0 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/ConvaiTextToSpeechProxy.cpp @@ -0,0 +1,155 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + +#include "ConvaiTextToSpeechProxy.h" +#include "ConvaiUtils.h" +#include "Containers/UnrealString.h" +#include "Sound/SoundWave.h" +#include "Engine.h" +#include "JsonObjectConverter.h" +#include "RestAPI/ConvaiURL.h" + +#include "../Convai.h" + +DEFINE_LOG_CATEGORY(ConvaiT2SHttpLog); + + +namespace { + const char* TTS_Voice_Type_str[] = { + "MALE", + "FEMALE", + "WUKMale 1", + "WUKFemale 1", + "SUKMale 1", + "WAFemale 1", + "WAMale 1", + "SIFemale 1", + "SIMale 1", + "SUFemale 1", + "SUMale 1", + "WUFemale 1", + "WUMale 1", + "Trixie", + "Twilight Sparkle", + "Celestia", + "Spike", + "Applejack" + }; +}; + + +UConvaiTextToSpeechProxy* UConvaiTextToSpeechProxy::CreateTextToSpeechQueryProxy(UObject* WorldContextObject, FString Transcript, FString Voice) +{ + UConvaiTextToSpeechProxy* Proxy = NewObject(); + Proxy->WorldPtr = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + Proxy->URL = UConvaiURL::GetFullURL(TEXT("tts"), false); + + Proxy->Transcript = Transcript; + Proxy->VoiceStr = Voice; + //Proxy->VoiceStr = FString(TTS_Voice_Type_str[uint8(Voice)]); + + + return Proxy; +} + + + +void UConvaiTextToSpeechProxy::Activate() +{ + UWorld* World = WorldPtr.Get(); + + if (!World) + { + CONVAI_LOG(ConvaiT2SHttpLog, Warning, TEXT("Could not get a pointer to world!")); + failed(); + return; + } + + FHttpModule* Http = &FHttpModule::Get(); + if (!Http) + { + CONVAI_LOG(ConvaiT2SHttpLog, Warning, TEXT("Could not get a pointer to http module!")); + failed(); + return; + } + + TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + FString AuthKey = AuthHeaderAndKey.Value; + FString AuthHeader = AuthHeaderAndKey.Key; + + // Form Validation + if (!UConvaiFormValidation::ValidateAuthKey(AuthKey) || !UConvaiFormValidation::ValidateInputText(Transcript) || !UConvaiFormValidation::ValidateVoiceType(VoiceStr)) + { + failed(); + return; + } + + // Create the request + FHttpRequestRef Request = Http->CreateRequest(); + Request->OnProcessRequestComplete().BindUObject(this, &UConvaiTextToSpeechProxy::onHttpRequestComplete); + + // Set request fields + Request->SetURL(URL); + Request->SetVerb("POST"); + Request->SetHeader(TEXT("User-Agent"), TEXT("X-UnrealEngine-Agent")); + Request->SetHeader(TEXT("Content-Type"), TEXT("application/json")); + Request->SetHeader(AuthHeader, AuthKey); + + // prepare json data + FString JsonString; + TSharedRef> JsonWriter = TJsonWriterFactory::Create(&JsonString); + JsonWriter->WriteObjectStart(); + JsonWriter->WriteValue(AuthHeader, AuthKey); + JsonWriter->WriteValue("transcript", Transcript); + JsonWriter->WriteValue("voice", VoiceStr); + JsonWriter->WriteValue("filename", FString("testAudio")); + //JsonWriter->WriteValue("encoding", (VoiceStr.ToLower() == "female" || VoiceStr.ToLower() == "male")? FString("wav") : FString("mp3")); + JsonWriter->WriteValue("encoding", FString("wav")); + JsonWriter->WriteObjectEnd(); + JsonWriter->Close(); + // Insert the content into the request + Request->SetContentAsString(JsonString); + + // Debug + //CONVAI_LOG(ConvaiT2SHttpLog, Warning, TEXT("%s"), *UConvaiUtils::ByteArrayToString(Request->GetContent())); + + // Initiate the request + if (!Request->ProcessRequest()) failed(); +} + +void UConvaiTextToSpeechProxy::onHttpRequestComplete(FHttpRequestPtr RequestPtr, FHttpResponsePtr ResponsePtr, bool bWasSuccessful) +{ + if (!bWasSuccessful || ResponsePtr->GetResponseCode() < 200 || ResponsePtr->GetResponseCode() > 299) + { + CONVAI_LOG(ConvaiT2SHttpLog, Warning, TEXT("HTTP request failed with code %d, and with response:%s"),ResponsePtr->GetResponseCode(), *ResponsePtr->GetContentAsString()); + failed(); + return; + } + + this->SoundWave = UConvaiUtils::WavDataToSoundWave(ResponsePtr->GetContent()); + + //this->SoundWave = UConvaiUtils::PCMDataToSoundWav(ResponsePtr->GetContent(), 1, 44100); // use this if in PCM format + if (this->SoundWave == nullptr) + { + CONVAI_LOG(ConvaiT2SHttpLog, Warning, TEXT("Failed to decode response content to a sound wave")); + failed(); + return; + } + success(); +} + +void UConvaiTextToSpeechProxy::failed() +{ + OnFailure.Broadcast(SoundWave); + finish(); +} + +void UConvaiTextToSpeechProxy::success() +{ + OnSuccess.Broadcast(SoundWave); + finish(); +} + +void UConvaiTextToSpeechProxy::finish() +{ +} + diff --git a/ConvAI/Convai/Source/Convai/Private/ConvaiUtils.cpp b/ConvAI/Convai/Source/Convai/Private/ConvaiUtils.cpp new file mode 100644 index 0000000..48a91d0 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/ConvaiUtils.cpp @@ -0,0 +1,1272 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + + +#include "ConvaiUtils.h" +#include "Misc/FileHelper.h" +#include "Http.h" +#include "Containers/UnrealString.h" +#include "Containers/Map.h" +#include "Sound/SoundWave.h" +#include "AudioDevice.h" +#include "Interfaces/IAudioFormat.h" +#include "UObject/Object.h" +#include "GameFramework/PlayerController.h" +#include "Math/Vector.h" +#include "Camera/PlayerCameraManager.h" +#include "UObject/UObjectHash.h" +#include "Math/UnrealMathUtility.h" +#include "Kismet/GameplayStatics.h" +#include "Misc/DefaultValueHelper.h" +#include "Misc/CommandLine.h" +#if PLATFORM_LINUX + #include "Linux/LinuxPlatformFile.h" +#else + #include "HAL/PlatformFileManager.h" +#endif +#include "Engine/GameInstance.h" +#include "ConvaiSubsystem.h" +#include "Engine/GameEngine.h" +#include "GameFramework/Pawn.h" +#include "AudioDecompress.h" +#include "Runtime/Launch/Resources/Version.h" + +#include "../Convai.h" +#include "ConvaiChatbotComponent.h" +#include "ConvaiPlayerComponent.h" + +#include "Interfaces/IPluginManager.h" +#include "Engine/EngineTypes.h" + +#if ENGINE_MAJOR_VERSION == 5 +#include "AudioDecompress.h" +#endif + + +DEFINE_LOG_CATEGORY(ConvaiUtilsLog); +DEFINE_LOG_CATEGORY(ConvaiFormValidationLog); + +namespace +{ + FString GetAbsolutePathFromFilePath(const FString& FilePath) + { + FString ProcessedPath; + // Check if path is relative + if (FPaths::IsRelative(FilePath)) + { + // Combine the build directory with the relative file path + ProcessedPath = FPaths::Combine(FPaths::LaunchDir(), FilePath); + } + else + { + // Path is absolute, use as is + ProcessedPath = FilePath; + } + return ProcessedPath; + } +}; + + +UConvaiSubsystem* UConvaiUtils::GetConvaiSubsystem(const UObject* WorldContextObject) +{ + //UWorld* World = WorldPtr.Get(); + + if (!WorldContextObject) + { + CONVAI_LOG(ConvaiUtilsLog, Warning, TEXT("WorldContextObject ptr is invalid!")); + return nullptr; + } + + UGameInstance* GameInstance = UGameplayStatics::GetGameInstance(WorldContextObject); + if (!GameInstance) + { + CONVAI_LOG(ConvaiUtilsLog, Warning, TEXT("Could not get pointer to a GameInstance")); + return nullptr; + } + + + if (UConvaiSubsystem* ConvaiSubsystem = GameInstance->GetSubsystem()) + { + return ConvaiSubsystem; + } + else + { + CONVAI_LOG(ConvaiUtilsLog, Warning, TEXT("Could not get pointer to Convai Subsystem")); + return nullptr; + } + +} + +void UConvaiUtils::StereoToMono(TArray stereoWavBytes, TArray& monoWavBytes) +{ + //Change wav headers + for (int i = 0; i < 44; i++) + { + //NumChannels starts from 22 to 24 + if (i == 22) + { + short NumChannels = (*(short*)&stereoWavBytes[i]); + //CONVAI_LOG(ConvaiUtilsLog, Warning, TEXT("NumChannels %d"), NumChannels); + if (NumChannels == 1) + { + monoWavBytes = stereoWavBytes; + return; + } + NumChannels = 1; + monoWavBytes.Append((uint8*)&NumChannels, sizeof(NumChannels)); + i++; + } + //ByteRate starts from 28 to 32 + else if (i == 28) + { + int ByteRate = (*(int*)&stereoWavBytes[i]) / 2; + monoWavBytes.Append((uint8*)&ByteRate, sizeof(ByteRate)); + i += 3; + } + //BlockAlign starts from 32 to 34 + else if (i == 32) + { + short BlockAlign = (*(short*)&stereoWavBytes[i]) / 2; + monoWavBytes.Append((uint8*)&BlockAlign, sizeof(BlockAlign)); + i++; + } + //SubChunkSize starts from 40 to 44 + else if (i == 40) + { + int SubChunkSize = (*(int*)&stereoWavBytes[i]) / 2; + monoWavBytes.Append((uint8*)&SubChunkSize, sizeof(SubChunkSize)); + i += 3; + } + else + { + monoWavBytes.Add(stereoWavBytes[i]); + } + } + + //Copies only the left channel and ignores the right channel + for (int i = 44; i < stereoWavBytes.Num(); i += 4) + { + monoWavBytes.Add(stereoWavBytes[i]); + monoWavBytes.Add(stereoWavBytes[i + 1]); + } +} + +bool UConvaiUtils::ReadFileAsByteArray(const FString FilePath, TArray& Bytes) +{ + FString ProcessedFilePath = GetAbsolutePathFromFilePath(FilePath); + return FFileHelper::LoadFileToArray(Bytes, *ProcessedFilePath, 0); +} + +bool UConvaiUtils::SaveByteArrayAsFile(FString FilePath, TArray Bytes) +{ + return FFileHelper::SaveArrayToFile(Bytes, *FilePath); +} + +FString UConvaiUtils::ByteArrayToString(TArray Bytes) +{ + FString s = BytesToString(Bytes.GetData(), Bytes.Num()); + FString Fixed; + + for (int i = 0; i < s.Len(); i++) + { + const TCHAR c = *(*s + i) - 1; + Fixed.AppendChar(c); + } + return Fixed; +} + +bool UConvaiUtils::WriteStringToFile(const FString& StringToWrite, const FString& FilePath) +{ + return FFileHelper::SaveStringToFile(StringToWrite, *FilePath); +} + +bool UConvaiUtils::ReadStringFromFile(FString& OutString, const FString& FilePath) +{ + FString ProcessedFilePath = GetAbsolutePathFromFilePath(FilePath); + return FFileHelper::LoadFileToString(OutString, *ProcessedFilePath); +} + +float UConvaiUtils::CalculateAudioDuration(uint32 AudioSize, uint8 Channels, uint32 SampleRate, uint8 SampleSize) +{ + if (Channels == 0 || SampleRate == 0 || SampleSize == 0) + { + // Avoid division by zero + return 0; + } + + // Calculate the duration in seconds + return float(AudioSize) / float(Channels * SampleRate * SampleSize); +} + +void UConvaiUtils::ConvaiGetLookedAtCharacter(UObject* WorldContextObject, APlayerController* PlayerController, float Radius, bool PlaneView, TArray IncludedCharacters, TArray ExcludedCharacters, UConvaiChatbotComponent*& ConvaiCharacter, bool& Found) +{ + Found = false; + float FocuseDotThresshold = 0.5; + FVector CameraLocation, CameraForward; + + UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + if (!World) + { + CONVAI_LOG(ConvaiUtilsLog, Warning, TEXT("Could not get a pointer to world!")); + return; + } + + if (!PlayerController) + { + PlayerController = UGameplayStatics::GetPlayerController(WorldContextObject, 0); + } + + if (!PlayerController) + { + CONVAI_LOG(ConvaiUtilsLog, Warning, TEXT("GetLookedAtCharacter: Could not get a pointer to PlayerController")); + return; + } + + if (PlayerController->PlayerCameraManager) + { + CameraLocation = PlayerController->PlayerCameraManager->GetCameraLocation(); + CameraForward = PlayerController->PlayerCameraManager->GetTransformComponent()->GetForwardVector(); + } + else if (PlayerController->GetPawn()) + { + CameraLocation = PlayerController->GetPawn()->GetActorLocation(); + CameraForward = PlayerController->GetPawn()->GetActorForwardVector(); + } + else + { + CONVAI_LOG(ConvaiUtilsLog, Warning, TEXT("GetLookedAtCharacter: Could not get a camera location")); + return; + } + + + if (PlaneView) + { + CameraLocation.Z = 0; + CameraForward.Z = 0; + CameraForward.Normalize(); + } + + TArray ConvaiCharacters; + GetObjectsOfClass(UConvaiChatbotComponent::StaticClass(), ConvaiCharacters, true, RF_ClassDefaultObject); + + for (int32 CharacterIndex = 0; CharacterIndex < ConvaiCharacters.Num(); ++CharacterIndex) + { + UConvaiChatbotComponent* CurrentConvaiCharacter = Cast(ConvaiCharacters[CharacterIndex]); + check(CurrentConvaiCharacter); + + if (!IsValid(CurrentConvaiCharacter)) + continue; + + + AActor* Owner = CurrentConvaiCharacter->GetOwner(); + + if (Owner == nullptr || CurrentConvaiCharacter->GetWorld() != World) + continue; + + bool Exclude = false; + bool Include = false; + + for (UObject* CharacterToExclude : ExcludedCharacters) + { + if (!IsValid(CharacterToExclude)) + continue; + + if (CharacterToExclude == CurrentConvaiCharacter || CharacterToExclude == Owner) + { + Exclude = true; + break; + } + } + + if (IncludedCharacters.Num()) + { + for (UObject* CharacterToInclude : IncludedCharacters) + { + if (!IsValid(CharacterToInclude)) + continue; + + if (CharacterToInclude == CurrentConvaiCharacter || CharacterToInclude == Owner) + { + Include = true; + break; + } + } + } + else + { + Include = true; + } + + if (Exclude || !Include) + { + continue; + } + float DistSquared = 0; + float DistSquared2D = 0; + FVector CurrentCharacterLocation = CurrentConvaiCharacter->GetComponentLocation(); + if (PlaneView) + { + DistSquared2D = FVector::DistSquared2D(CurrentCharacterLocation, CameraLocation); + if (Radius > 0 && DistSquared2D > Radius * Radius) + continue; + } + else + { + DistSquared = FVector::DistSquared(CurrentCharacterLocation, CameraLocation); + if (Radius > 0 && DistSquared > Radius * Radius) + continue; + } + + FVector DirCameraToCharacter = CurrentCharacterLocation - CameraLocation; + if (PlaneView) + DirCameraToCharacter.Z = 0; + + + DirCameraToCharacter.Normalize(); + float CurrentFocuseDot = FVector::DotProduct(DirCameraToCharacter, CameraForward); + float mxnScore = -1; + float score = 0; + + if (PlaneView) { + score = CurrentFocuseDot / DistSquared2D; + } + else { + score = CurrentFocuseDot / DistSquared; + } + + if (score > mxnScore && CurrentFocuseDot >= FocuseDotThresshold) + { + mxnScore = score; + FocuseDotThresshold = CurrentFocuseDot; + ConvaiCharacter = CurrentConvaiCharacter; + Found = true; + //CONVAI_LOG(ConvaiUtilsLog, Log, TEXT("GetLookedAtCharacter: Found! %s = %f"), *CurrentConvaiCharacter->GetFullName(), FocuseDotThresshold); + + } + } +} + +void UConvaiUtils::ConvaiGetLookedAtObjectOrCharacter(UObject* WorldContextObject, APlayerController* PlayerController, float Radius, bool PlaneView, TArray ListToSearchIn, FConvaiObjectEntry& FoundObjectOrCharacter, bool& Found) +{ + Found = false; + float FocuseDotThresshold = 0.5; + FVector CameraLocation, CameraForward; + + UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + if (!World) + { + CONVAI_LOG(ConvaiUtilsLog, Warning, TEXT("Could not get a pointer to world!")); + return; + } + + if (!PlayerController) + { + PlayerController = UGameplayStatics::GetPlayerController(WorldContextObject, 0); + } + + if (!PlayerController) + { + CONVAI_LOG(ConvaiUtilsLog, Warning, TEXT("ConvaiGetLookedAtActor: Could not get a pointer to PlayerController")); + return; + } + + if (PlayerController->PlayerCameraManager) + { + CameraLocation = PlayerController->PlayerCameraManager->GetCameraLocation(); + CameraForward = PlayerController->PlayerCameraManager->GetTransformComponent()->GetForwardVector(); + } + else if (PlayerController->GetPawn()) + { + CameraLocation = PlayerController->GetPawn()->GetActorLocation(); + CameraForward = PlayerController->GetPawn()->GetActorForwardVector(); + } + else + { + CONVAI_LOG(ConvaiUtilsLog, Warning, TEXT("ConvaiGetLookedAtActor: Could not get a camera location")); + return; + } + + + if (PlaneView) + { + CameraLocation.Z = 0; + CameraForward.Z = 0; + CameraForward.Normalize(); + } + + + for (int32 ItemIndex = 0; ItemIndex < ListToSearchIn.Num(); ++ItemIndex) + { + FConvaiObjectEntry CurrentItem = ListToSearchIn[ItemIndex]; + + TWeakObjectPtr CurrentItemRef = CurrentItem.Ref; + + if (!CurrentItemRef.IsValid()) + continue; + + if (CurrentItemRef->GetWorld() != World) + continue; + + float DistSquared = 0; + float DistSquared2D = 0; + FVector CurrentItemLocation = CurrentItemRef->GetActorLocation(); + if (PlaneView) + { + DistSquared2D = FVector::DistSquared2D(CurrentItemLocation, CameraLocation); + if (Radius > 0 && DistSquared2D > Radius * Radius) + continue; + } + else + { + DistSquared = FVector::DistSquared(CurrentItemLocation, CameraLocation); + if (Radius > 0 && DistSquared > Radius * Radius) + continue; + } + + FVector DirCameraToItem = CurrentItemLocation - CameraLocation; + if (PlaneView) + DirCameraToItem.Z = 0; + + DirCameraToItem.Normalize(); + float CurrentFocuseDot = FVector::DotProduct(DirCameraToItem, CameraForward); + float mxnScore = -1; + float score = 0; + + if (PlaneView) { + score = CurrentFocuseDot / DistSquared2D; + } + else { + score = CurrentFocuseDot / DistSquared; + } + + if (score > mxnScore && CurrentFocuseDot >= FocuseDotThresshold) + { + mxnScore = score; + FocuseDotThresshold = CurrentFocuseDot; + FoundObjectOrCharacter = CurrentItem; + Found = true; + } + } +} + +void UConvaiUtils::ConvaiGetAllPlayerComponents(UObject* WorldContextObject, TArray& ConvaiPlayerComponents) +{ + UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + if (!World) + { + CONVAI_LOG(ConvaiUtilsLog, Warning, TEXT("Could not get a pointer to world!")); + return; + } + + ConvaiPlayerComponents.Empty(); + + TArray ConvaiPlayerComponentsObjects; + GetObjectsOfClass(UConvaiPlayerComponent::StaticClass(), ConvaiPlayerComponentsObjects, true, RF_ClassDefaultObject); + + for (int32 Index = 0; Index < ConvaiPlayerComponentsObjects.Num(); ++Index) + { + UConvaiPlayerComponent* CurrentConvaiPlayer = Cast(ConvaiPlayerComponentsObjects[Index]); + + if (!IsValid(CurrentConvaiPlayer)) + continue; + + AActor* Owner = CurrentConvaiPlayer->GetOwner(); + + if (Owner == nullptr || CurrentConvaiPlayer->GetWorld() != World) + continue; + + ConvaiPlayerComponents.Add(CurrentConvaiPlayer); + } +} + +void UConvaiUtils::ConvaiGetAllChatbotComponents(UObject* WorldContextObject, TArray& ConvaiChatbotComponents) +{ + UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull); + if (!World) + { + CONVAI_LOG(ConvaiUtilsLog, Warning, TEXT("Could not get a pointer to world!")); + return; + } + + ConvaiChatbotComponents.Empty(); + + TArray ConvaiChatbotComponentsObjects; + GetObjectsOfClass(UConvaiChatbotComponent::StaticClass(), ConvaiChatbotComponentsObjects, true, RF_ClassDefaultObject); + + for (int32 Index = 0; Index < ConvaiChatbotComponentsObjects.Num(); ++Index) + { + UConvaiChatbotComponent* CurrentConvaiChatbot = Cast(ConvaiChatbotComponentsObjects[Index]); + + if (!IsValid(CurrentConvaiChatbot)) + continue; + + AActor* Owner = CurrentConvaiChatbot->GetOwner(); + + if (Owner == nullptr || CurrentConvaiChatbot->GetWorld() != World) + continue; + + ConvaiChatbotComponents.Add(CurrentConvaiChatbot); + } +} + +void UConvaiUtils::SetAPI_Key(FString API_Key) +{ + Convai::Get().GetConvaiSettings()->API_Key = API_Key; +} + +FString UConvaiUtils::GetAPI_Key() +{ + return Convai::Get().GetConvaiSettings()->API_Key; +} + +void UConvaiUtils::SetAuthToken(FString AuthToken) +{ + Convai::Get().GetConvaiSettings()->AuthToken = AuthToken; +} + +FString UConvaiUtils::GetAuthToken() +{ + return Convai::Get().GetConvaiSettings()->AuthToken; +} + +TPair UConvaiUtils::GetAuthHeaderAndKey() +{ + FString API_Key = GetAPI_Key(); + FString AuthToken = GetAuthToken(); + + FString KeyOrToken; + FString HeaderString; + + if (!API_Key.IsEmpty()) + { + KeyOrToken = API_Key; + HeaderString = ConvaiConstants::API_Key_Header; + } + else if (!AuthToken.IsEmpty()) + { + KeyOrToken = AuthToken; + HeaderString = ConvaiConstants::Auth_Token_Header; + } + else + { + // Handle the case where both are empty if necessary + KeyOrToken = ""; + HeaderString = ""; + } + + return TPair(HeaderString, KeyOrToken); +} + +FString UConvaiUtils::GetTestCharacterID() +{ + return Convai::Get().GetConvaiSettings()->TestCharacterID; +} + +bool UConvaiUtils::IsNewActionSystemEnabled() +{ + return Convai::Get().GetConvaiSettings()->EnableNewActionSystem; +} + +void UConvaiUtils::GetPluginInfo(FString PluginName, bool& Found, FString& VersionName, FString& EngineVersion, FString& FriendlyName) +{ + IPluginManager& PluginManager = IPluginManager::Get(); + TSharedPtr Plugin = PluginManager.FindPlugin(PluginName); + Found = false; + + if (Plugin.IsValid()) + { + const FPluginDescriptor& PluginDescriptor = Plugin->GetDescriptor(); + VersionName = PluginDescriptor.VersionName; + EngineVersion = PluginDescriptor.EngineVersion; + FriendlyName = PluginDescriptor.FriendlyName; + Found = true; + } +} + +void UConvaiUtils::GetPlatformInfo(FString& EngineVersion, FString& PlatformName) +{ + // Get the global engine version + EngineVersion = FEngineVersion::Current().ToString(); + + // Get the platform name +#if PLATFORM_WINDOWS + PlatformName = TEXT("Windows"); +#elif PLATFORM_MAC + PlatformName = TEXT("Mac"); +#elif PLATFORM_LINUX + PlatformName = TEXT("Linux"); +#elif PLATFORM_ANDROID + PlatformName = TEXT("Android"); +#else + PlatformName = TEXT("Unknown"); +#endif +} + +namespace +{ + // This struct contains information about the sound buffer. + struct SongBufferInfo + { + int32 RawPCMDataSize; + int32 NumChannels; + float Duration; + int32 SampleRate; + + SongBufferInfo() : RawPCMDataSize(0), NumChannels(0), Duration(0), SampleRate(0) {} + + SongBufferInfo(int32 PCMDataSize, int32 numChannels, float duration, int32 sampleRate) + : RawPCMDataSize(PCMDataSize), NumChannels(numChannels), Duration(duration), SampleRate(sampleRate) + { + } + }; + + // this struct contains the sound buffer + information about it. + struct SongBufferData + { + TArray RawPCMData; + SongBufferInfo BufferInfo; + + // default to nothing. + SongBufferData() : SongBufferData(0, 0, 0, 0) {} + + // allocate memory as we populate the structure. + SongBufferData(int32 PCMDataSize, int32 numChannels, float duration, int32 sampleRate) + : BufferInfo(PCMDataSize, numChannels, duration, sampleRate) + { + RawPCMData.SetNumZeroed(PCMDataSize); + } + }; + + USoundWave* WavDataToSoundwave(TArray Data) + { + FWaveModInfo WaveInfo; + FString ErrorReason; + if (WaveInfo.ReadWaveInfo(Data.GetData(), Data.Num(), &ErrorReason)) + { + USoundWave* SoundWave = NewObject(); + + //From FSoundWavePCMWriter::ApplyBufferToSoundWave() UE4.24 + SoundWave->SetSampleRate(*WaveInfo.pSamplesPerSec); + SoundWave->NumChannels = *WaveInfo.pChannels; + + const int32 BytesDataPerSecond = *WaveInfo.pChannels * (*WaveInfo.pBitsPerSample / 8.f) * *WaveInfo.pSamplesPerSec; + if (BytesDataPerSecond) + { + SoundWave->Duration = float(WaveInfo.SampleDataSize) / float(BytesDataPerSecond); + } + + SoundWave->RawPCMDataSize = WaveInfo.SampleDataSize; + + SoundWave->RawPCMData = static_cast(FMemory::Malloc(WaveInfo.SampleDataSize)); + FMemory::Memcpy(SoundWave->RawPCMData, WaveInfo.SampleDataStart, WaveInfo.SampleDataSize); + return SoundWave; + } + else + { + //CONVAI_LOG(ConvaiT2SHttpLog, Warning, TEXT("%s"), *ErrorReason); + return nullptr; + } + } + + bool DecompressUSoundWave(USoundWave* soundWave, TSharedPtr& Out_SongBufferData) + { + FAudioDevice* audioDevice = GEngine ? GEngine->GetMainAudioDeviceRaw() : nullptr; + + if (!audioDevice || !soundWave || soundWave->GetName() == TEXT("None")) + return false; + + bool breturn = false; + +#if ENGINE_MAJOR_VERSION == 4 || (ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION < 3) + + // Ensure we have the sound data. Compressed format is fine. + soundWave->InitAudioResource(audioDevice->GetRuntimeFormat(soundWave)); + + // Create a decoder for this audio. We want the PCM data. + ICompressedAudioInfo* AudioInfo = audioDevice->CreateCompressedAudioInfo(soundWave); + +#else + // Ensure we have the sound data. Compressed format is fine. + soundWave->InitAudioResource(soundWave->GetRuntimeFormat()); + + // Create a decoder for this audio. We want the PCM data. + ICompressedAudioInfo* AudioInfo = IAudioInfoFactoryRegistry::Get().Create(soundWave->GetRuntimeFormat()); +#endif + + // Decompress complete audio to this buffer + FSoundQualityInfo QualityInfo = { 0 }; +#if ENGINE_MAJOR_VERSION == 4 + if (AudioInfo->ReadCompressedInfo(soundWave->ResourceData, soundWave->ResourceSize, &QualityInfo)) + { + Out_SongBufferData = TSharedPtr(new SongBufferData( + QualityInfo.SampleDataSize, QualityInfo.NumChannels, QualityInfo.Duration, QualityInfo.SampleRate)); + + // Decompress all the sample data into preallocated memory now + AudioInfo->ExpandFile(Out_SongBufferData->RawPCMData.GetData(), &QualityInfo); + + breturn = true; + } +#else + FAudioDevice* AudioDevice = GEngine->GetMainAudioDeviceRaw(); + if (AudioDevice) + { + #if (ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION < 3) + FName format = AudioDevice->GetRuntimeFormat(soundWave); + #else + FName format = soundWave->GetRuntimeFormat(); + #endif + soundWave->InitAudioResource(format); + } + + const uint8* ResourceData = soundWave->GetResourceData(); + uint32 ResourceSize = soundWave->GetResourceSize(); + + if (!ResourceData || ResourceSize <= 0) + { + return breturn; + } + + if (AudioInfo->ReadCompressedInfo(ResourceData, ResourceSize, &QualityInfo)) + { + Out_SongBufferData = TSharedPtr(new SongBufferData( + QualityInfo.SampleDataSize, QualityInfo.NumChannels, QualityInfo.Duration, QualityInfo.SampleRate)); + + // Decompress all the sample data into preallocated memory now + AudioInfo->ExpandFile(Out_SongBufferData->RawPCMData.GetData(), &QualityInfo); + + breturn = true; + } +#endif + // Clean up. + delete AudioInfo; + + return breturn; + } +}; + +TArray UConvaiUtils::ExtractPCMDataFromSoundWave(USoundWave* SoundWave, int32& OutSampleRate, int32& OutNumChannels) +{ + TArray PCMData; + + if (!SoundWave) + { + CONVAI_LOG(LogTemp, Warning, TEXT("SoundWave is null!")); + return PCMData; + } + + if (SoundWave->RawPCMDataSize > 0) + { + PCMData.Append(SoundWave->RawPCMData, SoundWave->RawPCMDataSize); + OutSampleRate = SoundWave->GetSampleRateForCurrentPlatform(); + OutNumChannels = SoundWave->NumChannels; + } + else + { + TSharedPtr SongBuffer; + if (DecompressUSoundWave(SoundWave, SongBuffer) && SongBuffer.IsValid()) + { + PCMData = SongBuffer->RawPCMData; + OutSampleRate = SongBuffer->BufferInfo.SampleRate; + OutNumChannels = SongBuffer->BufferInfo.NumChannels; + } + } + return PCMData; +} + +void UConvaiUtils::PCMDataToWav(TArray InPCMBytes, TArray& OutWaveFileData, int NumChannels, int SampleRate) +{ + SerializeWaveFile(OutWaveFileData, InPCMBytes.GetData(), InPCMBytes.Num(), NumChannels, SampleRate); +} + +USoundWave* UConvaiUtils::PCMDataToSoundWav(TArray InPCMBytes, int NumChannels, int SampleRate) +{ + if (InPCMBytes.Num() <= 44) + return nullptr; + + TArray OutSerializeWave; + // insert the .wav format headers at the beggining of the PCM data + SerializeWaveFile(OutSerializeWave, InPCMBytes.GetData(), InPCMBytes.Num(), NumChannels, SampleRate); + + // Save the wav file to disk for debug + //FString SaveDir = "C:\\Users\\pc\\Videos\\MetahumansConvaiTutorial\\outtest.wav"; + //CONVAI_LOG(ConvaiUtilsLog, Log, TEXT("OutSerializeWave.Num() final: %d bytes "), OutSerializeWave.Num()); + //FFileHelper::SaveArrayToFile(OutSerializeWave, *SaveDir); + + return UConvaiUtils::WavDataToSoundWave(OutSerializeWave); +} + +USoundWave* UConvaiUtils::WavDataToSoundWave(TArray InWavData) +{ + return WavDataToSoundwave(InWavData); +} + +void UConvaiUtils::ResampleAudio(float currentSampleRate, float targetSampleRate, int numChannels, bool reduceToMono, int16* currentPcmData, int numSamplesToConvert, TArray& outResampledPcmData) +{ + // Calculate the ratio of input to output sample rates + float sampleRateRatio = currentSampleRate / targetSampleRate; + + // Determine the number of output channels + int outNumChannels = reduceToMono ? 1 : numChannels; + + // Determine the number of frames to iterate over + int32 numFramesToConvert = FMath::CeilToInt((float)numSamplesToConvert / (float)numChannels); + + // Calculate the number output frames + int32 numOutputFrames = FMath::CeilToInt(numFramesToConvert * targetSampleRate / currentSampleRate); + + // Resize the output array to the expected size + outResampledPcmData.Reset(numOutputFrames * outNumChannels); + + // Initialize variables for tracking the current and next frame indices + float currentFrameIndex = 0.0f; + float nextFrameIndex = 0.0f; + + // Iterate over the frames and resample the audio + for (;;) + { + // Calculate the next frame index + nextFrameIndex += sampleRateRatio; + + if (currentFrameIndex >= numFramesToConvert || nextFrameIndex > numFramesToConvert) + { + break; + } + + // Calculate the number of input samples to average over + int32 numInputSamplesToAverage = FMath::CeilToInt(nextFrameIndex - currentFrameIndex); + + // Initialize the sum of the input samples + int32 sumOfInputSamples = 0; + + // Sum the input samples + for (int channel = 0; channel < outNumChannels; ++channel) + { + for (int inputSampleIndex = 0; inputSampleIndex < numInputSamplesToAverage; ++inputSampleIndex) + { + int32 currentSampleIndex = FMath::FloorToInt(currentFrameIndex + inputSampleIndex) * numChannels + channel; + int16 currentSampleValue = *(currentPcmData + currentSampleIndex); + sumOfInputSamples += currentSampleValue; + } + + // Calculate the average of the input samples + int16 averageSampleValue = (int16)(sumOfInputSamples / numInputSamplesToAverage); + + // Add the resampled sample to the output array + outResampledPcmData.Add(averageSampleValue); + } + + // Update the current frame index + currentFrameIndex = nextFrameIndex; + } +} + +void UConvaiUtils::ResampleAudio(float currentSampleRate, float targetSampleRate, int numChannels, bool reduceToMono, const TArray& currentPcmData, int numSamplesToConvert, TArray& outResampledPcmData) +{ + // Call the other function using this instance + ResampleAudio(currentSampleRate, targetSampleRate, numChannels, reduceToMono, (int16*)currentPcmData.GetData(), numSamplesToConvert, outResampledPcmData); +} + +FString UConvaiUtils::FUTF8ToFString(const char* StringToConvert) +{ + // Create a TCHAR (wide string) from the UTF-8 string using Unreal's FUTF8ToTCHAR class + FUTF8ToTCHAR Converter(StringToConvert); + + // Create an FString from the converted wide string + FString text_string(Converter.Get()); + + return text_string; +} + +int UConvaiUtils::LevenshteinDistance(const FString& s, const FString& t) +{ + // Degenerate cases + if (s == t) return 0; + if (s.Len() == 0) return t.Len(); + if (t.Len() == 0) return s.Len(); + + // Create two work vectors of integer distances + TArray v0; + v0.Init(0, t.Len() + 1); + TArray v1; + v1.Init(0, t.Len() + 1); + + // Initialize v0 (the previous row of distances) + // This row is A[0][i]: edit distance for an empty s + // The distance is just the number of characters to delete from t + for (int32 i = 0; i < v0.Num(); i++) + { + v0[i] = i; + } + + for (int32 i = 0; i < s.Len(); i++) + { + // Calculate v1 (current row distances) from the previous row v0 + + // First element of v1 is A[i+1][0] + // Edit distance is delete (i+1) characters from s to match an empty t + v1[0] = i + 1; + + // Use formula to fill in the rest of the row + for (int32 j = 0; j < t.Len(); j++) + { + int32 cost = (s[i] == t[j]) ? 0 : 2; // Here, we change the cost of substitution to 2 + v1[j + 1] = FMath::Min3(v1[j] + 1, v0[j + 1] + 1, v0[j] + cost); + } + + // Copy v1 (current row) to v0 (previous row) for next iteration + for (int32 j = 0; j < v0.Num(); j++) + { + v0[j] = v1[j]; + } + } + + return v1[t.Len()]; +} + +TArray UConvaiUtils::ParseJsonToBlendShapeData(const FString& JsonString) +{ + TArray AnimationFrames; + + TSharedRef> Reader = TJsonReaderFactory<>::Create(JsonString); + TSharedPtr JsonParsed; + if (FJsonSerializer::Deserialize(Reader, JsonParsed) && JsonParsed.IsValid() && JsonParsed->Type == EJson::Array) + { + TArray> FrameArray = JsonParsed->AsArray(); + for (auto FrameVal : FrameArray) + { + TSharedPtr FrameObj = FrameVal->AsObject(); + FAnimationFrame NewFrame; + + NewFrame.FrameIndex = FrameObj->GetIntegerField("FrameIndex"); + + TArray> BlendShapeArray = FrameObj->GetArrayField("BlendShapes"); + for (auto BlendShapeVal : BlendShapeArray) + { + TSharedPtr BlendShapeObj = BlendShapeVal->AsObject(); + FName name = FName(BlendShapeObj->GetStringField("name")); + double score; + bool Success = BlendShapeObj->TryGetNumberField("score", score); + if (!Success) + score = 0; + + NewFrame.BlendShapes.Add(name, score); + } + + AnimationFrames.Add(NewFrame); + } + } + + return AnimationFrames; +} + +bool UConvaiUtils::ParseVisemeValuesToAnimationFrame(const FString& VisemeValuesString, FAnimationFrame& AnimationFrame) +{ + // Split the input string by ',' + TArray StringValues; + VisemeValuesString.ParseIntoArray(StringValues, TEXT(",")); + + // Ensure that the number of parsed values is the same as the number of viseme names + if (StringValues.Num() != ConvaiConstants::VisemeNames.Num()) + { + // Log an error message and return the uninitialized FAnimationFrame object + //CONVAI_LOG(LogTemp, Error, TEXT("Number of values does not match the number of viseme names.")); + return false; + } + + float ValuesSum = 0.0f; // Used to check if all blendshapes are zeros + + bool ignore = true; + // Loop over the parsed string values and the viseme names simultaneously + for (int32 Index = 0; Index < StringValues.Num(); ++Index) + { + // Convert each string value to a float and add it to the TMap in AnimationFrame + float Value; + if (StringValues[Index].TrimStartAndEnd().IsNumeric()) + { + Value = FCString::Atof(*StringValues[Index]); + AnimationFrame.BlendShapes.Add(*ConvaiConstants::VisemeNames[Index], Value); + if (Value > 0.03) + ignore = false; + ValuesSum += Value; // Add the value to the sum + } + else + { + // Log a warning message if a string value is not numeric + //CONVAI_LOG(LogTemp, Warning, TEXT("Invalid numeric value: %s"), *StringValues[Index]) + Value = 0; + AnimationFrame.BlendShapes.Add(*ConvaiConstants::VisemeNames[Index], Value); + } + } + + // If the sum of all parsed values is close to zero, set the first blendshape to 1 + if (ValuesSum < 0.1 || ignore) + { + if (ConvaiConstants::VisemeNames.Num() > 0) + { + AnimationFrame.BlendShapes[*ConvaiConstants::VisemeNames[0]] = 1.0f; + return false; + } + } + + return true; +} + +AActor* UConvaiUtils::ConvaiCloneActor(AActor* InputActor) +{ + UWorld* World = InputActor->GetWorld(); + FActorSpawnParameters params; + params.Template = InputActor; + + UClass* ItemClass = InputActor->GetClass(); + AActor* const SpawnedActor = World->SpawnActor(ItemClass, params); + return SpawnedActor; +} + +FString UConvaiUtils::ConvaiAnimationSequenceToJson(const FAnimationSequenceBP& AnimationSequenceBP) +{ + return AnimationSequenceBP.AnimationSequence.ToJson(); +} + +void UConvaiUtils::ConvaiAnimationSequenceFromJson(const FString& JsonString, FAnimationSequenceBP& AnimationSequenceBP) +{ + AnimationSequenceBP.AnimationSequence.FromJson(JsonString); +} + +TMap UConvaiUtils::MapBlendshapes(const TMap& InputBlendshapes, const TMap& BlendshapeMap, float GlobalMultiplier, float GlobalOffset) +{ + TMap OutputMap; + + // Generate arrays for original blendshape names and values + TArray OriginalNames; + TArray OriginalValues; + InputBlendshapes.GenerateKeyArray(OriginalNames); + InputBlendshapes.GenerateValueArray(OriginalValues); + + // Loop through each original blendshape + for (int i = 0; i < OriginalNames.Num(); i++) + { + FName OriginalName = OriginalNames[i]; + float OriginalValue = OriginalValues[i]; + + // Check if the original name has a mapped parameter + const FConvaiBlendshapeParameters* MappedParameter = BlendshapeMap.Find(OriginalName); + + if (MappedParameter) + { + float Multiplier = MappedParameter->Multiplyer; + float Offset = MappedParameter->Offset; + bool UseOverrideValue = MappedParameter->UseOverrideValue; + float OverrideValue = MappedParameter->OverrideValue; + float ClampMinValue = MappedParameter->ClampMinValue; + float ClampMaxValue = MappedParameter->ClampMaxValue; + bool IgnoreGlobalModifiers = MappedParameter->IgnoreGlobalModifiers; + + // Loop through each target name specified in the mapped parameter + for (FName TargetName : MappedParameter->TargetNames) + { + if (UseOverrideValue) + { + // Use the override value if specified + OutputMap.Add(TargetName, OverrideValue); + } + else + { + // Calculate the final blendshape value using the multiplier and offset + float CalculatedValue; + if (IgnoreGlobalModifiers) + { + CalculatedValue = Multiplier * OriginalValue + Offset; + } + else + { + CalculatedValue = Multiplier * OriginalValue * GlobalMultiplier + Offset + GlobalOffset; + } + + CalculatedValue = CalculatedValue > ClampMaxValue ? ClampMaxValue : CalculatedValue; + CalculatedValue = CalculatedValue < ClampMinValue ? ClampMinValue : CalculatedValue; + + // If this curve appeared before then choose the higher value + if (float* PreviousValue = OutputMap.Find(TargetName)) + { + if (CalculatedValue <= *PreviousValue) + { + continue; + } + } + + OutputMap.Add(TargetName, CalculatedValue); + } + } + } + else + { + // If no mapped parameter exists for the original name, keep the original value + OutputMap.Add(OriginalName, OriginalValue); + } + } + + return OutputMap; +} + +bool UConvaiSettingsUtils::GetParamValueAsString(const FString& paramName, FString& outValue) { + // First check command line parameters + FString CommandLineValue = UCommandLineUtils::GetCommandLineFlagValueAsString(paramName, TEXT("")); + if (!CommandLineValue.IsEmpty()) + { + outValue = CommandLineValue; + return true; + } + + // Fall back to ExtraParams setting + FString input = Convai::Get().GetConvaiSettings()->ExtraParams; + FString result; + FString trimmedInput = input.Replace(TEXT(" "), TEXT("")); // Remove all spaces + if (trimmedInput.Split(paramName + TEXT("="), nullptr, &result)) { + result.Split(TEXT(","), &result, nullptr); + outValue = result.TrimStartAndEnd().Replace(TEXT("\""), TEXT("")).TrimStartAndEnd(); + return true; + } + outValue = FString(); + return false; +} + +bool UConvaiSettingsUtils::GetParamValueAsFloat(const FString& paramName, float& outValue) { + // First check command line parameters + FString CommandLineValue = UCommandLineUtils::GetCommandLineFlagValueAsString(paramName, TEXT("")); + if (!CommandLineValue.IsEmpty()) + { + if (FDefaultValueHelper::ParseFloat(CommandLineValue, outValue)) + { + return true; + } + } + + // Fall back to ExtraParams setting + FString stringValue; + if (GetParamValueAsString(paramName, stringValue)) { + if (FDefaultValueHelper::ParseFloat(stringValue, outValue)) + { + return true; + } + } + outValue = 0.0f; + return false; +} + +bool UConvaiSettingsUtils::GetParamValueAsInt(const FString& paramName, int32& outValue) { + // First check command line parameters + FString CommandLineValue = UCommandLineUtils::GetCommandLineFlagValueAsString(paramName, TEXT("")); + if (!CommandLineValue.IsEmpty()) + { + if (FDefaultValueHelper::ParseInt(CommandLineValue, outValue)) + { + return true; + } + } + + // Fall back to ExtraParams setting + FString stringValue; + if (GetParamValueAsString(paramName, stringValue)) { + if (FDefaultValueHelper::ParseInt(stringValue, outValue)) + { + return true; + } + } + outValue = 0; + return false; +} + +bool UConvaiUtils::WriteSoundWaveToWavFile(USoundWave* SoundWave, const FString& FilePath) +{ + // Access the raw PCM data from the USoundWave + int32 OutSampleRate; + int32 OutNumChannels; + TArray RawData = ExtractPCMDataFromSoundWave(SoundWave, OutSampleRate, OutNumChannels); + +#if ENGINE_MAJOR_VERSION < 5 + if (RawData.Num() == 0) + return false; +#else + if (RawData.IsEmpty()) + return false; +#endif + + TArray OutWaveFileData; + + PCMDataToWav(RawData, OutWaveFileData, OutNumChannels, OutSampleRate); + + // Use the helper function to save the raw PCM data as a .wav file + return SaveByteArrayAsFile(FilePath, OutWaveFileData); +} + +USoundWave* UConvaiUtils::ReadWavFileAsSoundWave(const FString & FilePath) +{ + FString ProcessedFilePath = GetAbsolutePathFromFilePath(FilePath); + + TArray RawData; + if (!ReadFileAsByteArray(ProcessedFilePath, RawData)) + { + return nullptr; + } + + // Create a new USoundWave object + USoundWave* NewSoundWave = WavDataToSoundWave(RawData); + + return NewSoundWave; +} + +bool UCommandLineUtils::IsCommandLineFlagPresent(const FString& Flag) +{ + // Check if the flag is present as a standalone flag (e.g., -fullscreen) + if (FParse::Param(FCommandLine::Get(), *Flag)) + { + return true; + } + + // Check if the flag is present as a flag with a value (e.g., -port=12345) + FString DummyString; + if (FParse::Value(FCommandLine::Get(), *(Flag + "="), DummyString)) + { + return true; + } + + return false; +} + +int32 UCommandLineUtils::GetCommandLineFlagValueAsInt(const FString& Flag, int32 DefaultValue) +{ + int32 Value = DefaultValue; + + // Check for the "-Flag=" and get its value as an integer + if (FParse::Value(FCommandLine::Get(), *(Flag + "="), Value)) + { + return Value; + } + + return DefaultValue; // Return default if not found +} + +FString UCommandLineUtils::GetCommandLineFlagValueAsString(const FString& Flag, const FString& DefaultValue) +{ + FString Value; + + // Check for the "-Flag=" and get its value as a string + if (FParse::Value(FCommandLine::Get(), *(Flag + "="), Value)) + { + Value.TrimStartInline(); + Value.TrimEndInline(); + if (!Value.IsEmpty()) + { + return Value; + } + } + + return DefaultValue; // Return default if not found or empty +} + +FString UCommandLineUtils::GetCommandLineFlagValueAsStringNoDefault(const FString& Flag) +{ + FString BaseUrl = FString(); + FParse::Value(FCommandLine::Get(), *Flag, BaseUrl); + return BaseUrl; +} + diff --git a/ConvAI/Convai/Source/Convai/Private/Mac/ConvaiApple.mm b/ConvAI/Convai/Source/Convai/Private/Mac/ConvaiApple.mm new file mode 100644 index 0000000..0dec764 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/Mac/ConvaiApple.mm @@ -0,0 +1,39 @@ +#ifdef __APPLE__ +#import + +bool GetAppleMicPermission() +{ + __block bool permissionGranted = false; + + switch ([AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio]) + { + case AVAuthorizationStatusAuthorized: + // Already authorized + permissionGranted = true; + break; + case AVAuthorizationStatusNotDetermined: + { + dispatch_semaphore_t sem = dispatch_semaphore_create(0); + // The user has not yet been asked to grant access to the audio capture device. + [AVCaptureDevice requestAccessForMediaType:AVMediaTypeAudio completionHandler:^(BOOL granted) + { + if (granted) + { + // Permission granted + permissionGranted = true; + } + dispatch_semaphore_signal(sem); + }]; + dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER); + break; + } + case AVAuthorizationStatusRestricted: + case AVAuthorizationStatusDenied: + // The user has previously denied access or can't grant access. + permissionGranted = false; + break; + } + + return permissionGranted; +} +#endif diff --git a/ConvAI/Convai/Source/Convai/Private/Proto/arkit_blend_shapes.grpc.pb.cc b/ConvAI/Convai/Source/Convai/Private/Proto/arkit_blend_shapes.grpc.pb.cc new file mode 100644 index 0000000..940e259 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/Proto/arkit_blend_shapes.grpc.pb.cc @@ -0,0 +1,72 @@ +#if defined(_WIN32) || defined(__ANDROID__) +#if defined(_MSC_VER) + #pragma warning (disable:4018) // 'expression' : signed/unsigned mismatch + #pragma warning (disable:4065) // switch statement contains 'default' but no 'case' labels + #pragma warning (disable:4146) // unary minus operator applied to unsigned type, result still unsigned + #pragma warning (disable:4244) // 'conversion' conversion from 'type1' to 'type2', possible loss of data + #pragma warning (disable:4251) // 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' + #pragma warning (disable:4267) // 'var' : conversion from 'size_t' to 'type', possible loss of data + #pragma warning (disable:4305) // 'identifier' : truncation from 'type1' to 'type2' + #pragma warning (disable:4307) // 'operator' : integral constant overflow + #pragma warning (disable:4309) // 'conversion' : truncation of constant value + #pragma warning (disable:4334) // 'operator' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) + #pragma warning (disable:4355) // 'this' : used in base member initializer list + #pragma warning (disable:4506) // no definition for inline function 'function' + #pragma warning (disable:4996) // The compiler encountered a deprecated declaration. + #pragma warning (disable:4125) // decimal digit terminates octal escape sequence + #pragma warning (disable:4800) // decimal digit terminates octal escape sequence + #endif + + // Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: arkit_blend_shapes.proto + +#include "arkit_blend_shapes.pb.h" +#include "arkit_blend_shapes.grpc.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +namespace service { + +} // namespace service + +#else +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: arkit_blend_shapes.proto + +#include "arkit_blend_shapes.pb.h" +#include "arkit_blend_shapes.grpc.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +namespace service { + +} // namespace service + + +#endif diff --git a/ConvAI/Convai/Source/Convai/Private/Proto/arkit_blend_shapes.grpc.pb.h b/ConvAI/Convai/Source/Convai/Private/Proto/arkit_blend_shapes.grpc.pb.h new file mode 100644 index 0000000..d72be09 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/Proto/arkit_blend_shapes.grpc.pb.h @@ -0,0 +1,89 @@ +#if defined(_WIN32) || defined(__ANDROID__) +#if defined(_MSC_VER) + #pragma warning (disable:4018) // 'expression' : signed/unsigned mismatch + #pragma warning (disable:4065) // switch statement contains 'default' but no 'case' labels + #pragma warning (disable:4146) // unary minus operator applied to unsigned type, result still unsigned + #pragma warning (disable:4244) // 'conversion' conversion from 'type1' to 'type2', possible loss of data + #pragma warning (disable:4251) // 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' + #pragma warning (disable:4267) // 'var' : conversion from 'size_t' to 'type', possible loss of data + #pragma warning (disable:4305) // 'identifier' : truncation from 'type1' to 'type2' + #pragma warning (disable:4307) // 'operator' : integral constant overflow + #pragma warning (disable:4309) // 'conversion' : truncation of constant value + #pragma warning (disable:4334) // 'operator' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) + #pragma warning (disable:4355) // 'this' : used in base member initializer list + #pragma warning (disable:4506) // no definition for inline function 'function' + #pragma warning (disable:4996) // The compiler encountered a deprecated declaration. + #pragma warning (disable:4125) // decimal digit terminates octal escape sequence + #pragma warning (disable:4800) // decimal digit terminates octal escape sequence + #endif + + // Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: arkit_blend_shapes.proto +#ifndef GRPC_arkit_5fblend_5fshapes_2eproto__INCLUDED +#define GRPC_arkit_5fblend_5fshapes_2eproto__INCLUDED + +#include "arkit_blend_shapes.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace service { + +} // namespace service + + +#endif // GRPC_arkit_5fblend_5fshapes_2eproto__INCLUDED +#else +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: arkit_blend_shapes.proto +#ifndef GRPC_arkit_5fblend_5fshapes_2eproto__INCLUDED +#define GRPC_arkit_5fblend_5fshapes_2eproto__INCLUDED + +#include "arkit_blend_shapes.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace service { + +} // namespace service + + +#endif // GRPC_arkit_5fblend_5fshapes_2eproto__INCLUDED + +#endif diff --git a/ConvAI/Convai/Source/Convai/Private/Proto/arkit_blend_shapes.pb.cc b/ConvAI/Convai/Source/Convai/Private/Proto/arkit_blend_shapes.pb.cc new file mode 100644 index 0000000..3a000e8 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/Proto/arkit_blend_shapes.pb.cc @@ -0,0 +1,4193 @@ +#if defined(_WIN32) || defined(__ANDROID__) +#if defined(_MSC_VER) + #pragma warning (disable:4018) // 'expression' : signed/unsigned mismatch + #pragma warning (disable:4065) // switch statement contains 'default' but no 'case' labels + #pragma warning (disable:4146) // unary minus operator applied to unsigned type, result still unsigned + #pragma warning (disable:4244) // 'conversion' conversion from 'type1' to 'type2', possible loss of data + #pragma warning (disable:4251) // 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' + #pragma warning (disable:4267) // 'var' : conversion from 'size_t' to 'type', possible loss of data + #pragma warning (disable:4305) // 'identifier' : truncation from 'type1' to 'type2' + #pragma warning (disable:4307) // 'operator' : integral constant overflow + #pragma warning (disable:4309) // 'conversion' : truncation of constant value + #pragma warning (disable:4334) // 'operator' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) + #pragma warning (disable:4355) // 'this' : used in base member initializer list + #pragma warning (disable:4506) // no definition for inline function 'function' + #pragma warning (disable:4996) // The compiler encountered a deprecated declaration. + #pragma warning (disable:4125) // decimal digit terminates octal escape sequence + #pragma warning (disable:4800) // decimal digit terminates octal escape sequence + #endif + + // Generated by the protocol buffer compiler. DO NOT EDIT! +// source: arkit_blend_shapes.proto + +#include "arkit_blend_shapes.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) +#include +extern PROTOBUF_INTERNAL_EXPORT_arkit_5fblend_5fshapes_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ARKitBlendShapes_arkit_5fblend_5fshapes_2eproto; +namespace service { +class ARKitBlendShapesDataDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _ARKitBlendShapesData_default_instance_; +class ARKitBlendShapesDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _ARKitBlendShapes_default_instance_; +} // namespace service +static void InitDefaultsscc_info_ARKitBlendShapes_arkit_5fblend_5fshapes_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_ARKitBlendShapes_default_instance_; + new (ptr) ::service::ARKitBlendShapes(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ARKitBlendShapes_arkit_5fblend_5fshapes_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_ARKitBlendShapes_arkit_5fblend_5fshapes_2eproto}, {}}; + +static void InitDefaultsscc_info_ARKitBlendShapesData_arkit_5fblend_5fshapes_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_ARKitBlendShapesData_default_instance_; + new (ptr) ::service::ARKitBlendShapesData(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_ARKitBlendShapesData_arkit_5fblend_5fshapes_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_ARKitBlendShapesData_arkit_5fblend_5fshapes_2eproto}, { + &scc_info_ARKitBlendShapes_arkit_5fblend_5fshapes_2eproto.base,}}; + +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_arkit_5fblend_5fshapes_2eproto[2]; +static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_arkit_5fblend_5fshapes_2eproto = nullptr; +static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_arkit_5fblend_5fshapes_2eproto = nullptr; + +const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_arkit_5fblend_5fshapes_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapesData, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapesData, ar_kit_blend_shapes_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, brow_down_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, brow_down_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, brow_inner_up_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, brow_outer_up_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, brow_outer_up_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, cheek_puff_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, cheek_squint_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, cheek_squint_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, eye_blink_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, eye_blink_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, eye_look_down_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, eye_look_down_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, eye_look_in_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, eye_look_in_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, eye_look_out_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, eye_look_out_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, eye_look_up_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, eye_look_up_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, eye_squint_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, eye_squint_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, eye_wide_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, eye_wide_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, jaw_forward_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, jaw_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, jaw_open_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, jaw_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_close_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_dimple_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_dimple_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_frown_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_frown_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_funnel_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_lower_down_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_lower_down_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_press_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_press_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_pucker_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_roll_lower_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_roll_upper_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_shrug_lower_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_shrug_upper_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_smile_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_smile_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_stretch_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_stretch_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_upper_up_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, mouth_upper_up_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, nose_sneer_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, nose_sneer_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, tongue_out_), +}; +static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + { 0, -1, sizeof(::service::ARKitBlendShapesData)}, + { 6, -1, sizeof(::service::ARKitBlendShapes)}, +}; + +static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { + reinterpret_cast(&::service::_ARKitBlendShapesData_default_instance_), + reinterpret_cast(&::service::_ARKitBlendShapes_default_instance_), +}; + +const char descriptor_table_protodef_arkit_5fblend_5fshapes_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = + "\n\030arkit_blend_shapes.proto\022\007service\"N\n\024A" + "RKitBlendShapesData\0226\n\023ar_kit_blend_shap" + "es\030\001 \001(\0132\031.service.ARKitBlendShapes\"\273\n\n\020" + "ARKitBlendShapes\022\026\n\016brow_down_left\030\001 \001(\002" + "\022\027\n\017brow_down_right\030\002 \001(\002\022\025\n\rbrow_inner_" + "up\030\003 \001(\002\022\032\n\022brow_outer_up_left\030\004 \001(\002\022\033\n\023" + "brow_outer_up_right\030\005 \001(\002\022\022\n\ncheek_puff\030" + "\006 \001(\002\022\031\n\021cheek_squint_left\030\007 \001(\002\022\032\n\022chee" + "k_squint_right\030\010 \001(\002\022\026\n\016eye_blink_left\030\t" + " \001(\002\022\027\n\017eye_blink_right\030\n \001(\002\022\032\n\022eye_loo" + "k_down_left\030\013 \001(\002\022\033\n\023eye_look_down_right" + "\030\014 \001(\002\022\030\n\020eye_look_in_left\030\r \001(\002\022\031\n\021eye_" + "look_in_right\030\016 \001(\002\022\031\n\021eye_look_out_left" + "\030\017 \001(\002\022\032\n\022eye_look_out_right\030\020 \001(\002\022\030\n\020ey" + "e_look_up_left\030\021 \001(\002\022\031\n\021eye_look_up_righ" + "t\030\022 \001(\002\022\027\n\017eye_squint_left\030\023 \001(\002\022\030\n\020eye_" + "squint_right\030\024 \001(\002\022\025\n\reye_wide_left\030\025 \001(" + "\002\022\026\n\016eye_wide_right\030\026 \001(\002\022\023\n\013jaw_forward" + "\030\027 \001(\002\022\020\n\010jaw_left\030\030 \001(\002\022\020\n\010jaw_open\030\031 \001" + "(\002\022\021\n\tjaw_right\030\032 \001(\002\022\023\n\013mouth_close\030\033 \001" + "(\002\022\031\n\021mouth_dimple_left\030\034 \001(\002\022\032\n\022mouth_d" + "imple_right\030\035 \001(\002\022\030\n\020mouth_frown_left\030\036 " + "\001(\002\022\031\n\021mouth_frown_right\030\037 \001(\002\022\024\n\014mouth_" + "funnel\030 \001(\002\022\022\n\nmouth_left\030! \001(\002\022\035\n\025mout" + "h_lower_down_left\030\" \001(\002\022\036\n\026mouth_lower_d" + "own_right\030# \001(\002\022\030\n\020mouth_press_left\030$ \001(" + "\002\022\031\n\021mouth_press_right\030% \001(\002\022\024\n\014mouth_pu" + "cker\030& \001(\002\022\023\n\013mouth_right\030\' \001(\002\022\030\n\020mouth" + "_roll_lower\030( \001(\002\022\030\n\020mouth_roll_upper\030) " + "\001(\002\022\031\n\021mouth_shrug_lower\030* \001(\002\022\031\n\021mouth_" + "shrug_upper\030+ \001(\002\022\030\n\020mouth_smile_left\030, " + "\001(\002\022\031\n\021mouth_smile_right\030- \001(\002\022\032\n\022mouth_" + "stretch_left\030. \001(\002\022\033\n\023mouth_stretch_righ" + "t\030/ \001(\002\022\033\n\023mouth_upper_up_left\0300 \001(\002\022\034\n\024" + "mouth_upper_up_right\0301 \001(\002\022\027\n\017nose_sneer" + "_left\0302 \001(\002\022\030\n\020nose_sneer_right\0303 \001(\002\022\022\n" + "\ntongue_out\0304 \001(\002B\017Z\rproto/serviceb\006prot" + "o3" + ; +static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_arkit_5fblend_5fshapes_2eproto_deps[1] = { +}; +static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_arkit_5fblend_5fshapes_2eproto_sccs[2] = { + &scc_info_ARKitBlendShapes_arkit_5fblend_5fshapes_2eproto.base, + &scc_info_ARKitBlendShapesData_arkit_5fblend_5fshapes_2eproto.base, +}; +static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_arkit_5fblend_5fshapes_2eproto_once; +const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_arkit_5fblend_5fshapes_2eproto = { + false, false, descriptor_table_protodef_arkit_5fblend_5fshapes_2eproto, "arkit_blend_shapes.proto", 1482, + &descriptor_table_arkit_5fblend_5fshapes_2eproto_once, descriptor_table_arkit_5fblend_5fshapes_2eproto_sccs, descriptor_table_arkit_5fblend_5fshapes_2eproto_deps, 2, 0, + schemas, file_default_instances, TableStruct_arkit_5fblend_5fshapes_2eproto::offsets, + file_level_metadata_arkit_5fblend_5fshapes_2eproto, 2, file_level_enum_descriptors_arkit_5fblend_5fshapes_2eproto, file_level_service_descriptors_arkit_5fblend_5fshapes_2eproto, +}; + +// Force running AddDescriptors() at dynamic initialization time. +static bool dynamic_init_dummy_arkit_5fblend_5fshapes_2eproto = (static_cast(::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_arkit_5fblend_5fshapes_2eproto)), true); +namespace service { + +// =================================================================== + +class ARKitBlendShapesData::_Internal { + public: + static const ::service::ARKitBlendShapes& ar_kit_blend_shapes(const ARKitBlendShapesData* msg); +}; + +const ::service::ARKitBlendShapes& +ARKitBlendShapesData::_Internal::ar_kit_blend_shapes(const ARKitBlendShapesData* msg) { + return *msg->ar_kit_blend_shapes_; +} +ARKitBlendShapesData::ARKitBlendShapesData(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.ARKitBlendShapesData) +} +ARKitBlendShapesData::ARKitBlendShapesData(const ARKitBlendShapesData& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_ar_kit_blend_shapes()) { + ar_kit_blend_shapes_ = new ::service::ARKitBlendShapes(*from.ar_kit_blend_shapes_); + } else { + ar_kit_blend_shapes_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:service.ARKitBlendShapesData) +} + +void ARKitBlendShapesData::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ARKitBlendShapesData_arkit_5fblend_5fshapes_2eproto.base); + ar_kit_blend_shapes_ = nullptr; +} + +ARKitBlendShapesData::~ARKitBlendShapesData() { + // @@protoc_insertion_point(destructor:service.ARKitBlendShapesData) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void ARKitBlendShapesData::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + if (this != internal_default_instance()) delete ar_kit_blend_shapes_; +} + +void ARKitBlendShapesData::ArenaDtor(void* object) { + ARKitBlendShapesData* _this = reinterpret_cast< ARKitBlendShapesData* >(object); + (void)_this; +} +void ARKitBlendShapesData::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void ARKitBlendShapesData::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const ARKitBlendShapesData& ARKitBlendShapesData::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ARKitBlendShapesData_arkit_5fblend_5fshapes_2eproto.base); + return *internal_default_instance(); +} + + +void ARKitBlendShapesData::Clear() { +// @@protoc_insertion_point(message_clear_start:service.ARKitBlendShapesData) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArena() == nullptr && ar_kit_blend_shapes_ != nullptr) { + delete ar_kit_blend_shapes_; + } + ar_kit_blend_shapes_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ARKitBlendShapesData::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // .service.ARKitBlendShapes ar_kit_blend_shapes = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_ar_kit_blend_shapes(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* ARKitBlendShapesData::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.ARKitBlendShapesData) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .service.ARKitBlendShapes ar_kit_blend_shapes = 1; + if (this->has_ar_kit_blend_shapes()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::ar_kit_blend_shapes(this), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.ARKitBlendShapesData) + return target; +} + +size_t ARKitBlendShapesData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.ARKitBlendShapesData) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .service.ARKitBlendShapes ar_kit_blend_shapes = 1; + if (this->has_ar_kit_blend_shapes()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *ar_kit_blend_shapes_); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void ARKitBlendShapesData::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.ARKitBlendShapesData) + GOOGLE_DCHECK_NE(&from, this); + const ARKitBlendShapesData* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.ARKitBlendShapesData) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.ARKitBlendShapesData) + MergeFrom(*source); + } +} + +void ARKitBlendShapesData::MergeFrom(const ARKitBlendShapesData& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.ARKitBlendShapesData) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.has_ar_kit_blend_shapes()) { + _internal_mutable_ar_kit_blend_shapes()->::service::ARKitBlendShapes::MergeFrom(from._internal_ar_kit_blend_shapes()); + } +} + +void ARKitBlendShapesData::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.ARKitBlendShapesData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void ARKitBlendShapesData::CopyFrom(const ARKitBlendShapesData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.ARKitBlendShapesData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ARKitBlendShapesData::IsInitialized() const { + return true; +} + +void ARKitBlendShapesData::InternalSwap(ARKitBlendShapesData* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + swap(ar_kit_blend_shapes_, other->ar_kit_blend_shapes_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ARKitBlendShapesData::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class ARKitBlendShapes::_Internal { + public: +}; + +ARKitBlendShapes::ARKitBlendShapes(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.ARKitBlendShapes) +} +ARKitBlendShapes::ARKitBlendShapes(const ARKitBlendShapes& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::memcpy(&brow_down_left_, &from.brow_down_left_, + static_cast(reinterpret_cast(&tongue_out_) - + reinterpret_cast(&brow_down_left_)) + sizeof(tongue_out_)); + // @@protoc_insertion_point(copy_constructor:service.ARKitBlendShapes) +} + +void ARKitBlendShapes::SharedCtor() { + ::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&brow_down_left_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&tongue_out_) - + reinterpret_cast(&brow_down_left_)) + sizeof(tongue_out_)); +} + +ARKitBlendShapes::~ARKitBlendShapes() { + // @@protoc_insertion_point(destructor:service.ARKitBlendShapes) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void ARKitBlendShapes::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); +} + +void ARKitBlendShapes::ArenaDtor(void* object) { + ARKitBlendShapes* _this = reinterpret_cast< ARKitBlendShapes* >(object); + (void)_this; +} +void ARKitBlendShapes::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void ARKitBlendShapes::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const ARKitBlendShapes& ARKitBlendShapes::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ARKitBlendShapes_arkit_5fblend_5fshapes_2eproto.base); + return *internal_default_instance(); +} + + +void ARKitBlendShapes::Clear() { +// @@protoc_insertion_point(message_clear_start:service.ARKitBlendShapes) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::memset(&brow_down_left_, 0, static_cast( + reinterpret_cast(&tongue_out_) - + reinterpret_cast(&brow_down_left_)) + sizeof(tongue_out_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ARKitBlendShapes::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // float brow_down_left = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 13)) { + brow_down_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float brow_down_right = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 21)) { + brow_down_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float brow_inner_up = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 29)) { + brow_inner_up_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float brow_outer_up_left = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 37)) { + brow_outer_up_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float brow_outer_up_right = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 45)) { + brow_outer_up_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float cheek_puff = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 53)) { + cheek_puff_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float cheek_squint_left = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 61)) { + cheek_squint_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float cheek_squint_right = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 69)) { + cheek_squint_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float eye_blink_left = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 77)) { + eye_blink_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float eye_blink_right = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 85)) { + eye_blink_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float eye_look_down_left = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 93)) { + eye_look_down_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float eye_look_down_right = 12; + case 12: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 101)) { + eye_look_down_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float eye_look_in_left = 13; + case 13: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 109)) { + eye_look_in_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float eye_look_in_right = 14; + case 14: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 117)) { + eye_look_in_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float eye_look_out_left = 15; + case 15: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 125)) { + eye_look_out_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float eye_look_out_right = 16; + case 16: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 133)) { + eye_look_out_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float eye_look_up_left = 17; + case 17: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 141)) { + eye_look_up_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float eye_look_up_right = 18; + case 18: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 149)) { + eye_look_up_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float eye_squint_left = 19; + case 19: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 157)) { + eye_squint_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float eye_squint_right = 20; + case 20: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 165)) { + eye_squint_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float eye_wide_left = 21; + case 21: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 173)) { + eye_wide_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float eye_wide_right = 22; + case 22: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 181)) { + eye_wide_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float jaw_forward = 23; + case 23: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 189)) { + jaw_forward_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float jaw_left = 24; + case 24: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 197)) { + jaw_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float jaw_open = 25; + case 25: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 205)) { + jaw_open_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float jaw_right = 26; + case 26: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 213)) { + jaw_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_close = 27; + case 27: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 221)) { + mouth_close_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_dimple_left = 28; + case 28: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 229)) { + mouth_dimple_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_dimple_right = 29; + case 29: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 237)) { + mouth_dimple_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_frown_left = 30; + case 30: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 245)) { + mouth_frown_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_frown_right = 31; + case 31: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 253)) { + mouth_frown_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_funnel = 32; + case 32: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 5)) { + mouth_funnel_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_left = 33; + case 33: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 13)) { + mouth_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_lower_down_left = 34; + case 34: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 21)) { + mouth_lower_down_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_lower_down_right = 35; + case 35: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 29)) { + mouth_lower_down_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_press_left = 36; + case 36: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 37)) { + mouth_press_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_press_right = 37; + case 37: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 45)) { + mouth_press_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_pucker = 38; + case 38: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 53)) { + mouth_pucker_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_right = 39; + case 39: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 61)) { + mouth_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_roll_lower = 40; + case 40: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 69)) { + mouth_roll_lower_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_roll_upper = 41; + case 41: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 77)) { + mouth_roll_upper_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_shrug_lower = 42; + case 42: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 85)) { + mouth_shrug_lower_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_shrug_upper = 43; + case 43: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 93)) { + mouth_shrug_upper_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_smile_left = 44; + case 44: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 101)) { + mouth_smile_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_smile_right = 45; + case 45: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 109)) { + mouth_smile_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_stretch_left = 46; + case 46: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 117)) { + mouth_stretch_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_stretch_right = 47; + case 47: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 125)) { + mouth_stretch_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_upper_up_left = 48; + case 48: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 133)) { + mouth_upper_up_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float mouth_upper_up_right = 49; + case 49: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 141)) { + mouth_upper_up_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float nose_sneer_left = 50; + case 50: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 149)) { + nose_sneer_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float nose_sneer_right = 51; + case 51: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 157)) { + nose_sneer_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float tongue_out = 52; + case 52: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 165)) { + tongue_out_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* ARKitBlendShapes::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.ARKitBlendShapes) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // float brow_down_left = 1; + if (!(this->brow_down_left() <= 0 && this->brow_down_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(1, this->_internal_brow_down_left(), target); + } + + // float brow_down_right = 2; + if (!(this->brow_down_right() <= 0 && this->brow_down_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(2, this->_internal_brow_down_right(), target); + } + + // float brow_inner_up = 3; + if (!(this->brow_inner_up() <= 0 && this->brow_inner_up() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(3, this->_internal_brow_inner_up(), target); + } + + // float brow_outer_up_left = 4; + if (!(this->brow_outer_up_left() <= 0 && this->brow_outer_up_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(4, this->_internal_brow_outer_up_left(), target); + } + + // float brow_outer_up_right = 5; + if (!(this->brow_outer_up_right() <= 0 && this->brow_outer_up_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(5, this->_internal_brow_outer_up_right(), target); + } + + // float cheek_puff = 6; + if (!(this->cheek_puff() <= 0 && this->cheek_puff() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(6, this->_internal_cheek_puff(), target); + } + + // float cheek_squint_left = 7; + if (!(this->cheek_squint_left() <= 0 && this->cheek_squint_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(7, this->_internal_cheek_squint_left(), target); + } + + // float cheek_squint_right = 8; + if (!(this->cheek_squint_right() <= 0 && this->cheek_squint_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(8, this->_internal_cheek_squint_right(), target); + } + + // float eye_blink_left = 9; + if (!(this->eye_blink_left() <= 0 && this->eye_blink_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(9, this->_internal_eye_blink_left(), target); + } + + // float eye_blink_right = 10; + if (!(this->eye_blink_right() <= 0 && this->eye_blink_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(10, this->_internal_eye_blink_right(), target); + } + + // float eye_look_down_left = 11; + if (!(this->eye_look_down_left() <= 0 && this->eye_look_down_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(11, this->_internal_eye_look_down_left(), target); + } + + // float eye_look_down_right = 12; + if (!(this->eye_look_down_right() <= 0 && this->eye_look_down_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(12, this->_internal_eye_look_down_right(), target); + } + + // float eye_look_in_left = 13; + if (!(this->eye_look_in_left() <= 0 && this->eye_look_in_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(13, this->_internal_eye_look_in_left(), target); + } + + // float eye_look_in_right = 14; + if (!(this->eye_look_in_right() <= 0 && this->eye_look_in_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(14, this->_internal_eye_look_in_right(), target); + } + + // float eye_look_out_left = 15; + if (!(this->eye_look_out_left() <= 0 && this->eye_look_out_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(15, this->_internal_eye_look_out_left(), target); + } + + // float eye_look_out_right = 16; + if (!(this->eye_look_out_right() <= 0 && this->eye_look_out_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(16, this->_internal_eye_look_out_right(), target); + } + + // float eye_look_up_left = 17; + if (!(this->eye_look_up_left() <= 0 && this->eye_look_up_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(17, this->_internal_eye_look_up_left(), target); + } + + // float eye_look_up_right = 18; + if (!(this->eye_look_up_right() <= 0 && this->eye_look_up_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(18, this->_internal_eye_look_up_right(), target); + } + + // float eye_squint_left = 19; + if (!(this->eye_squint_left() <= 0 && this->eye_squint_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(19, this->_internal_eye_squint_left(), target); + } + + // float eye_squint_right = 20; + if (!(this->eye_squint_right() <= 0 && this->eye_squint_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(20, this->_internal_eye_squint_right(), target); + } + + // float eye_wide_left = 21; + if (!(this->eye_wide_left() <= 0 && this->eye_wide_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(21, this->_internal_eye_wide_left(), target); + } + + // float eye_wide_right = 22; + if (!(this->eye_wide_right() <= 0 && this->eye_wide_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(22, this->_internal_eye_wide_right(), target); + } + + // float jaw_forward = 23; + if (!(this->jaw_forward() <= 0 && this->jaw_forward() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(23, this->_internal_jaw_forward(), target); + } + + // float jaw_left = 24; + if (!(this->jaw_left() <= 0 && this->jaw_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(24, this->_internal_jaw_left(), target); + } + + // float jaw_open = 25; + if (!(this->jaw_open() <= 0 && this->jaw_open() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(25, this->_internal_jaw_open(), target); + } + + // float jaw_right = 26; + if (!(this->jaw_right() <= 0 && this->jaw_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(26, this->_internal_jaw_right(), target); + } + + // float mouth_close = 27; + if (!(this->mouth_close() <= 0 && this->mouth_close() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(27, this->_internal_mouth_close(), target); + } + + // float mouth_dimple_left = 28; + if (!(this->mouth_dimple_left() <= 0 && this->mouth_dimple_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(28, this->_internal_mouth_dimple_left(), target); + } + + // float mouth_dimple_right = 29; + if (!(this->mouth_dimple_right() <= 0 && this->mouth_dimple_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(29, this->_internal_mouth_dimple_right(), target); + } + + // float mouth_frown_left = 30; + if (!(this->mouth_frown_left() <= 0 && this->mouth_frown_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(30, this->_internal_mouth_frown_left(), target); + } + + // float mouth_frown_right = 31; + if (!(this->mouth_frown_right() <= 0 && this->mouth_frown_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(31, this->_internal_mouth_frown_right(), target); + } + + // float mouth_funnel = 32; + if (!(this->mouth_funnel() <= 0 && this->mouth_funnel() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(32, this->_internal_mouth_funnel(), target); + } + + // float mouth_left = 33; + if (!(this->mouth_left() <= 0 && this->mouth_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(33, this->_internal_mouth_left(), target); + } + + // float mouth_lower_down_left = 34; + if (!(this->mouth_lower_down_left() <= 0 && this->mouth_lower_down_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(34, this->_internal_mouth_lower_down_left(), target); + } + + // float mouth_lower_down_right = 35; + if (!(this->mouth_lower_down_right() <= 0 && this->mouth_lower_down_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(35, this->_internal_mouth_lower_down_right(), target); + } + + // float mouth_press_left = 36; + if (!(this->mouth_press_left() <= 0 && this->mouth_press_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(36, this->_internal_mouth_press_left(), target); + } + + // float mouth_press_right = 37; + if (!(this->mouth_press_right() <= 0 && this->mouth_press_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(37, this->_internal_mouth_press_right(), target); + } + + // float mouth_pucker = 38; + if (!(this->mouth_pucker() <= 0 && this->mouth_pucker() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(38, this->_internal_mouth_pucker(), target); + } + + // float mouth_right = 39; + if (!(this->mouth_right() <= 0 && this->mouth_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(39, this->_internal_mouth_right(), target); + } + + // float mouth_roll_lower = 40; + if (!(this->mouth_roll_lower() <= 0 && this->mouth_roll_lower() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(40, this->_internal_mouth_roll_lower(), target); + } + + // float mouth_roll_upper = 41; + if (!(this->mouth_roll_upper() <= 0 && this->mouth_roll_upper() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(41, this->_internal_mouth_roll_upper(), target); + } + + // float mouth_shrug_lower = 42; + if (!(this->mouth_shrug_lower() <= 0 && this->mouth_shrug_lower() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(42, this->_internal_mouth_shrug_lower(), target); + } + + // float mouth_shrug_upper = 43; + if (!(this->mouth_shrug_upper() <= 0 && this->mouth_shrug_upper() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(43, this->_internal_mouth_shrug_upper(), target); + } + + // float mouth_smile_left = 44; + if (!(this->mouth_smile_left() <= 0 && this->mouth_smile_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(44, this->_internal_mouth_smile_left(), target); + } + + // float mouth_smile_right = 45; + if (!(this->mouth_smile_right() <= 0 && this->mouth_smile_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(45, this->_internal_mouth_smile_right(), target); + } + + // float mouth_stretch_left = 46; + if (!(this->mouth_stretch_left() <= 0 && this->mouth_stretch_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(46, this->_internal_mouth_stretch_left(), target); + } + + // float mouth_stretch_right = 47; + if (!(this->mouth_stretch_right() <= 0 && this->mouth_stretch_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(47, this->_internal_mouth_stretch_right(), target); + } + + // float mouth_upper_up_left = 48; + if (!(this->mouth_upper_up_left() <= 0 && this->mouth_upper_up_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(48, this->_internal_mouth_upper_up_left(), target); + } + + // float mouth_upper_up_right = 49; + if (!(this->mouth_upper_up_right() <= 0 && this->mouth_upper_up_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(49, this->_internal_mouth_upper_up_right(), target); + } + + // float nose_sneer_left = 50; + if (!(this->nose_sneer_left() <= 0 && this->nose_sneer_left() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(50, this->_internal_nose_sneer_left(), target); + } + + // float nose_sneer_right = 51; + if (!(this->nose_sneer_right() <= 0 && this->nose_sneer_right() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(51, this->_internal_nose_sneer_right(), target); + } + + // float tongue_out = 52; + if (!(this->tongue_out() <= 0 && this->tongue_out() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(52, this->_internal_tongue_out(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.ARKitBlendShapes) + return target; +} + +size_t ARKitBlendShapes::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.ARKitBlendShapes) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // float brow_down_left = 1; + if (!(this->brow_down_left() <= 0 && this->brow_down_left() >= 0)) { + total_size += 1 + 4; + } + + // float brow_down_right = 2; + if (!(this->brow_down_right() <= 0 && this->brow_down_right() >= 0)) { + total_size += 1 + 4; + } + + // float brow_inner_up = 3; + if (!(this->brow_inner_up() <= 0 && this->brow_inner_up() >= 0)) { + total_size += 1 + 4; + } + + // float brow_outer_up_left = 4; + if (!(this->brow_outer_up_left() <= 0 && this->brow_outer_up_left() >= 0)) { + total_size += 1 + 4; + } + + // float brow_outer_up_right = 5; + if (!(this->brow_outer_up_right() <= 0 && this->brow_outer_up_right() >= 0)) { + total_size += 1 + 4; + } + + // float cheek_puff = 6; + if (!(this->cheek_puff() <= 0 && this->cheek_puff() >= 0)) { + total_size += 1 + 4; + } + + // float cheek_squint_left = 7; + if (!(this->cheek_squint_left() <= 0 && this->cheek_squint_left() >= 0)) { + total_size += 1 + 4; + } + + // float cheek_squint_right = 8; + if (!(this->cheek_squint_right() <= 0 && this->cheek_squint_right() >= 0)) { + total_size += 1 + 4; + } + + // float eye_blink_left = 9; + if (!(this->eye_blink_left() <= 0 && this->eye_blink_left() >= 0)) { + total_size += 1 + 4; + } + + // float eye_blink_right = 10; + if (!(this->eye_blink_right() <= 0 && this->eye_blink_right() >= 0)) { + total_size += 1 + 4; + } + + // float eye_look_down_left = 11; + if (!(this->eye_look_down_left() <= 0 && this->eye_look_down_left() >= 0)) { + total_size += 1 + 4; + } + + // float eye_look_down_right = 12; + if (!(this->eye_look_down_right() <= 0 && this->eye_look_down_right() >= 0)) { + total_size += 1 + 4; + } + + // float eye_look_in_left = 13; + if (!(this->eye_look_in_left() <= 0 && this->eye_look_in_left() >= 0)) { + total_size += 1 + 4; + } + + // float eye_look_in_right = 14; + if (!(this->eye_look_in_right() <= 0 && this->eye_look_in_right() >= 0)) { + total_size += 1 + 4; + } + + // float eye_look_out_left = 15; + if (!(this->eye_look_out_left() <= 0 && this->eye_look_out_left() >= 0)) { + total_size += 1 + 4; + } + + // float eye_look_out_right = 16; + if (!(this->eye_look_out_right() <= 0 && this->eye_look_out_right() >= 0)) { + total_size += 2 + 4; + } + + // float eye_look_up_left = 17; + if (!(this->eye_look_up_left() <= 0 && this->eye_look_up_left() >= 0)) { + total_size += 2 + 4; + } + + // float eye_look_up_right = 18; + if (!(this->eye_look_up_right() <= 0 && this->eye_look_up_right() >= 0)) { + total_size += 2 + 4; + } + + // float eye_squint_left = 19; + if (!(this->eye_squint_left() <= 0 && this->eye_squint_left() >= 0)) { + total_size += 2 + 4; + } + + // float eye_squint_right = 20; + if (!(this->eye_squint_right() <= 0 && this->eye_squint_right() >= 0)) { + total_size += 2 + 4; + } + + // float eye_wide_left = 21; + if (!(this->eye_wide_left() <= 0 && this->eye_wide_left() >= 0)) { + total_size += 2 + 4; + } + + // float eye_wide_right = 22; + if (!(this->eye_wide_right() <= 0 && this->eye_wide_right() >= 0)) { + total_size += 2 + 4; + } + + // float jaw_forward = 23; + if (!(this->jaw_forward() <= 0 && this->jaw_forward() >= 0)) { + total_size += 2 + 4; + } + + // float jaw_left = 24; + if (!(this->jaw_left() <= 0 && this->jaw_left() >= 0)) { + total_size += 2 + 4; + } + + // float jaw_open = 25; + if (!(this->jaw_open() <= 0 && this->jaw_open() >= 0)) { + total_size += 2 + 4; + } + + // float jaw_right = 26; + if (!(this->jaw_right() <= 0 && this->jaw_right() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_close = 27; + if (!(this->mouth_close() <= 0 && this->mouth_close() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_dimple_left = 28; + if (!(this->mouth_dimple_left() <= 0 && this->mouth_dimple_left() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_dimple_right = 29; + if (!(this->mouth_dimple_right() <= 0 && this->mouth_dimple_right() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_frown_left = 30; + if (!(this->mouth_frown_left() <= 0 && this->mouth_frown_left() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_frown_right = 31; + if (!(this->mouth_frown_right() <= 0 && this->mouth_frown_right() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_funnel = 32; + if (!(this->mouth_funnel() <= 0 && this->mouth_funnel() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_left = 33; + if (!(this->mouth_left() <= 0 && this->mouth_left() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_lower_down_left = 34; + if (!(this->mouth_lower_down_left() <= 0 && this->mouth_lower_down_left() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_lower_down_right = 35; + if (!(this->mouth_lower_down_right() <= 0 && this->mouth_lower_down_right() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_press_left = 36; + if (!(this->mouth_press_left() <= 0 && this->mouth_press_left() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_press_right = 37; + if (!(this->mouth_press_right() <= 0 && this->mouth_press_right() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_pucker = 38; + if (!(this->mouth_pucker() <= 0 && this->mouth_pucker() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_right = 39; + if (!(this->mouth_right() <= 0 && this->mouth_right() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_roll_lower = 40; + if (!(this->mouth_roll_lower() <= 0 && this->mouth_roll_lower() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_roll_upper = 41; + if (!(this->mouth_roll_upper() <= 0 && this->mouth_roll_upper() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_shrug_lower = 42; + if (!(this->mouth_shrug_lower() <= 0 && this->mouth_shrug_lower() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_shrug_upper = 43; + if (!(this->mouth_shrug_upper() <= 0 && this->mouth_shrug_upper() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_smile_left = 44; + if (!(this->mouth_smile_left() <= 0 && this->mouth_smile_left() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_smile_right = 45; + if (!(this->mouth_smile_right() <= 0 && this->mouth_smile_right() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_stretch_left = 46; + if (!(this->mouth_stretch_left() <= 0 && this->mouth_stretch_left() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_stretch_right = 47; + if (!(this->mouth_stretch_right() <= 0 && this->mouth_stretch_right() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_upper_up_left = 48; + if (!(this->mouth_upper_up_left() <= 0 && this->mouth_upper_up_left() >= 0)) { + total_size += 2 + 4; + } + + // float mouth_upper_up_right = 49; + if (!(this->mouth_upper_up_right() <= 0 && this->mouth_upper_up_right() >= 0)) { + total_size += 2 + 4; + } + + // float nose_sneer_left = 50; + if (!(this->nose_sneer_left() <= 0 && this->nose_sneer_left() >= 0)) { + total_size += 2 + 4; + } + + // float nose_sneer_right = 51; + if (!(this->nose_sneer_right() <= 0 && this->nose_sneer_right() >= 0)) { + total_size += 2 + 4; + } + + // float tongue_out = 52; + if (!(this->tongue_out() <= 0 && this->tongue_out() >= 0)) { + total_size += 2 + 4; + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void ARKitBlendShapes::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.ARKitBlendShapes) + GOOGLE_DCHECK_NE(&from, this); + const ARKitBlendShapes* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.ARKitBlendShapes) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.ARKitBlendShapes) + MergeFrom(*source); + } +} + +void ARKitBlendShapes::MergeFrom(const ARKitBlendShapes& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.ARKitBlendShapes) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (!(from.brow_down_left() <= 0 && from.brow_down_left() >= 0)) { + _internal_set_brow_down_left(from._internal_brow_down_left()); + } + if (!(from.brow_down_right() <= 0 && from.brow_down_right() >= 0)) { + _internal_set_brow_down_right(from._internal_brow_down_right()); + } + if (!(from.brow_inner_up() <= 0 && from.brow_inner_up() >= 0)) { + _internal_set_brow_inner_up(from._internal_brow_inner_up()); + } + if (!(from.brow_outer_up_left() <= 0 && from.brow_outer_up_left() >= 0)) { + _internal_set_brow_outer_up_left(from._internal_brow_outer_up_left()); + } + if (!(from.brow_outer_up_right() <= 0 && from.brow_outer_up_right() >= 0)) { + _internal_set_brow_outer_up_right(from._internal_brow_outer_up_right()); + } + if (!(from.cheek_puff() <= 0 && from.cheek_puff() >= 0)) { + _internal_set_cheek_puff(from._internal_cheek_puff()); + } + if (!(from.cheek_squint_left() <= 0 && from.cheek_squint_left() >= 0)) { + _internal_set_cheek_squint_left(from._internal_cheek_squint_left()); + } + if (!(from.cheek_squint_right() <= 0 && from.cheek_squint_right() >= 0)) { + _internal_set_cheek_squint_right(from._internal_cheek_squint_right()); + } + if (!(from.eye_blink_left() <= 0 && from.eye_blink_left() >= 0)) { + _internal_set_eye_blink_left(from._internal_eye_blink_left()); + } + if (!(from.eye_blink_right() <= 0 && from.eye_blink_right() >= 0)) { + _internal_set_eye_blink_right(from._internal_eye_blink_right()); + } + if (!(from.eye_look_down_left() <= 0 && from.eye_look_down_left() >= 0)) { + _internal_set_eye_look_down_left(from._internal_eye_look_down_left()); + } + if (!(from.eye_look_down_right() <= 0 && from.eye_look_down_right() >= 0)) { + _internal_set_eye_look_down_right(from._internal_eye_look_down_right()); + } + if (!(from.eye_look_in_left() <= 0 && from.eye_look_in_left() >= 0)) { + _internal_set_eye_look_in_left(from._internal_eye_look_in_left()); + } + if (!(from.eye_look_in_right() <= 0 && from.eye_look_in_right() >= 0)) { + _internal_set_eye_look_in_right(from._internal_eye_look_in_right()); + } + if (!(from.eye_look_out_left() <= 0 && from.eye_look_out_left() >= 0)) { + _internal_set_eye_look_out_left(from._internal_eye_look_out_left()); + } + if (!(from.eye_look_out_right() <= 0 && from.eye_look_out_right() >= 0)) { + _internal_set_eye_look_out_right(from._internal_eye_look_out_right()); + } + if (!(from.eye_look_up_left() <= 0 && from.eye_look_up_left() >= 0)) { + _internal_set_eye_look_up_left(from._internal_eye_look_up_left()); + } + if (!(from.eye_look_up_right() <= 0 && from.eye_look_up_right() >= 0)) { + _internal_set_eye_look_up_right(from._internal_eye_look_up_right()); + } + if (!(from.eye_squint_left() <= 0 && from.eye_squint_left() >= 0)) { + _internal_set_eye_squint_left(from._internal_eye_squint_left()); + } + if (!(from.eye_squint_right() <= 0 && from.eye_squint_right() >= 0)) { + _internal_set_eye_squint_right(from._internal_eye_squint_right()); + } + if (!(from.eye_wide_left() <= 0 && from.eye_wide_left() >= 0)) { + _internal_set_eye_wide_left(from._internal_eye_wide_left()); + } + if (!(from.eye_wide_right() <= 0 && from.eye_wide_right() >= 0)) { + _internal_set_eye_wide_right(from._internal_eye_wide_right()); + } + if (!(from.jaw_forward() <= 0 && from.jaw_forward() >= 0)) { + _internal_set_jaw_forward(from._internal_jaw_forward()); + } + if (!(from.jaw_left() <= 0 && from.jaw_left() >= 0)) { + _internal_set_jaw_left(from._internal_jaw_left()); + } + if (!(from.jaw_open() <= 0 && from.jaw_open() >= 0)) { + _internal_set_jaw_open(from._internal_jaw_open()); + } + if (!(from.jaw_right() <= 0 && from.jaw_right() >= 0)) { + _internal_set_jaw_right(from._internal_jaw_right()); + } + if (!(from.mouth_close() <= 0 && from.mouth_close() >= 0)) { + _internal_set_mouth_close(from._internal_mouth_close()); + } + if (!(from.mouth_dimple_left() <= 0 && from.mouth_dimple_left() >= 0)) { + _internal_set_mouth_dimple_left(from._internal_mouth_dimple_left()); + } + if (!(from.mouth_dimple_right() <= 0 && from.mouth_dimple_right() >= 0)) { + _internal_set_mouth_dimple_right(from._internal_mouth_dimple_right()); + } + if (!(from.mouth_frown_left() <= 0 && from.mouth_frown_left() >= 0)) { + _internal_set_mouth_frown_left(from._internal_mouth_frown_left()); + } + if (!(from.mouth_frown_right() <= 0 && from.mouth_frown_right() >= 0)) { + _internal_set_mouth_frown_right(from._internal_mouth_frown_right()); + } + if (!(from.mouth_funnel() <= 0 && from.mouth_funnel() >= 0)) { + _internal_set_mouth_funnel(from._internal_mouth_funnel()); + } + if (!(from.mouth_left() <= 0 && from.mouth_left() >= 0)) { + _internal_set_mouth_left(from._internal_mouth_left()); + } + if (!(from.mouth_lower_down_left() <= 0 && from.mouth_lower_down_left() >= 0)) { + _internal_set_mouth_lower_down_left(from._internal_mouth_lower_down_left()); + } + if (!(from.mouth_lower_down_right() <= 0 && from.mouth_lower_down_right() >= 0)) { + _internal_set_mouth_lower_down_right(from._internal_mouth_lower_down_right()); + } + if (!(from.mouth_press_left() <= 0 && from.mouth_press_left() >= 0)) { + _internal_set_mouth_press_left(from._internal_mouth_press_left()); + } + if (!(from.mouth_press_right() <= 0 && from.mouth_press_right() >= 0)) { + _internal_set_mouth_press_right(from._internal_mouth_press_right()); + } + if (!(from.mouth_pucker() <= 0 && from.mouth_pucker() >= 0)) { + _internal_set_mouth_pucker(from._internal_mouth_pucker()); + } + if (!(from.mouth_right() <= 0 && from.mouth_right() >= 0)) { + _internal_set_mouth_right(from._internal_mouth_right()); + } + if (!(from.mouth_roll_lower() <= 0 && from.mouth_roll_lower() >= 0)) { + _internal_set_mouth_roll_lower(from._internal_mouth_roll_lower()); + } + if (!(from.mouth_roll_upper() <= 0 && from.mouth_roll_upper() >= 0)) { + _internal_set_mouth_roll_upper(from._internal_mouth_roll_upper()); + } + if (!(from.mouth_shrug_lower() <= 0 && from.mouth_shrug_lower() >= 0)) { + _internal_set_mouth_shrug_lower(from._internal_mouth_shrug_lower()); + } + if (!(from.mouth_shrug_upper() <= 0 && from.mouth_shrug_upper() >= 0)) { + _internal_set_mouth_shrug_upper(from._internal_mouth_shrug_upper()); + } + if (!(from.mouth_smile_left() <= 0 && from.mouth_smile_left() >= 0)) { + _internal_set_mouth_smile_left(from._internal_mouth_smile_left()); + } + if (!(from.mouth_smile_right() <= 0 && from.mouth_smile_right() >= 0)) { + _internal_set_mouth_smile_right(from._internal_mouth_smile_right()); + } + if (!(from.mouth_stretch_left() <= 0 && from.mouth_stretch_left() >= 0)) { + _internal_set_mouth_stretch_left(from._internal_mouth_stretch_left()); + } + if (!(from.mouth_stretch_right() <= 0 && from.mouth_stretch_right() >= 0)) { + _internal_set_mouth_stretch_right(from._internal_mouth_stretch_right()); + } + if (!(from.mouth_upper_up_left() <= 0 && from.mouth_upper_up_left() >= 0)) { + _internal_set_mouth_upper_up_left(from._internal_mouth_upper_up_left()); + } + if (!(from.mouth_upper_up_right() <= 0 && from.mouth_upper_up_right() >= 0)) { + _internal_set_mouth_upper_up_right(from._internal_mouth_upper_up_right()); + } + if (!(from.nose_sneer_left() <= 0 && from.nose_sneer_left() >= 0)) { + _internal_set_nose_sneer_left(from._internal_nose_sneer_left()); + } + if (!(from.nose_sneer_right() <= 0 && from.nose_sneer_right() >= 0)) { + _internal_set_nose_sneer_right(from._internal_nose_sneer_right()); + } + if (!(from.tongue_out() <= 0 && from.tongue_out() >= 0)) { + _internal_set_tongue_out(from._internal_tongue_out()); + } +} + +void ARKitBlendShapes::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.ARKitBlendShapes) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void ARKitBlendShapes::CopyFrom(const ARKitBlendShapes& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.ARKitBlendShapes) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ARKitBlendShapes::IsInitialized() const { + return true; +} + +void ARKitBlendShapes::InternalSwap(ARKitBlendShapes* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(ARKitBlendShapes, tongue_out_) + + sizeof(ARKitBlendShapes::tongue_out_) + - PROTOBUF_FIELD_OFFSET(ARKitBlendShapes, brow_down_left_)>( + reinterpret_cast(&brow_down_left_), + reinterpret_cast(&other->brow_down_left_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ARKitBlendShapes::GetMetadata() const { + return GetMetadataStatic(); +} + + +// @@protoc_insertion_point(namespace_scope) +} // namespace service +PROTOBUF_NAMESPACE_OPEN +template<> PROTOBUF_NOINLINE ::service::ARKitBlendShapesData* Arena::CreateMaybeMessage< ::service::ARKitBlendShapesData >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::ARKitBlendShapesData >(arena); +} +template<> PROTOBUF_NOINLINE ::service::ARKitBlendShapes* Arena::CreateMaybeMessage< ::service::ARKitBlendShapes >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::ARKitBlendShapes >(arena); +} +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) +#include +#else +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: arkit_blend_shapes.proto + +#include "arkit_blend_shapes.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) +#include + +PROTOBUF_PRAGMA_INIT_SEG + +namespace _pb = ::PROTOBUF_NAMESPACE_ID; +namespace _pbi = _pb::internal; + +namespace service { +PROTOBUF_CONSTEXPR ARKitBlendShapesData::ARKitBlendShapesData( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.ar_kit_blend_shapes_)*/nullptr + , /*decltype(_impl_._cached_size_)*/{}} {} +struct ARKitBlendShapesDataDefaultTypeInternal { + PROTOBUF_CONSTEXPR ARKitBlendShapesDataDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ARKitBlendShapesDataDefaultTypeInternal() {} + union { + ARKitBlendShapesData _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ARKitBlendShapesDataDefaultTypeInternal _ARKitBlendShapesData_default_instance_; +PROTOBUF_CONSTEXPR ARKitBlendShapes::ARKitBlendShapes( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.brow_down_left_)*/0 + , /*decltype(_impl_.brow_down_right_)*/0 + , /*decltype(_impl_.brow_inner_up_)*/0 + , /*decltype(_impl_.brow_outer_up_left_)*/0 + , /*decltype(_impl_.brow_outer_up_right_)*/0 + , /*decltype(_impl_.cheek_puff_)*/0 + , /*decltype(_impl_.cheek_squint_left_)*/0 + , /*decltype(_impl_.cheek_squint_right_)*/0 + , /*decltype(_impl_.eye_blink_left_)*/0 + , /*decltype(_impl_.eye_blink_right_)*/0 + , /*decltype(_impl_.eye_look_down_left_)*/0 + , /*decltype(_impl_.eye_look_down_right_)*/0 + , /*decltype(_impl_.eye_look_in_left_)*/0 + , /*decltype(_impl_.eye_look_in_right_)*/0 + , /*decltype(_impl_.eye_look_out_left_)*/0 + , /*decltype(_impl_.eye_look_out_right_)*/0 + , /*decltype(_impl_.eye_look_up_left_)*/0 + , /*decltype(_impl_.eye_look_up_right_)*/0 + , /*decltype(_impl_.eye_squint_left_)*/0 + , /*decltype(_impl_.eye_squint_right_)*/0 + , /*decltype(_impl_.eye_wide_left_)*/0 + , /*decltype(_impl_.eye_wide_right_)*/0 + , /*decltype(_impl_.jaw_forward_)*/0 + , /*decltype(_impl_.jaw_left_)*/0 + , /*decltype(_impl_.jaw_open_)*/0 + , /*decltype(_impl_.jaw_right_)*/0 + , /*decltype(_impl_.mouth_close_)*/0 + , /*decltype(_impl_.mouth_dimple_left_)*/0 + , /*decltype(_impl_.mouth_dimple_right_)*/0 + , /*decltype(_impl_.mouth_frown_left_)*/0 + , /*decltype(_impl_.mouth_frown_right_)*/0 + , /*decltype(_impl_.mouth_funnel_)*/0 + , /*decltype(_impl_.mouth_left_)*/0 + , /*decltype(_impl_.mouth_lower_down_left_)*/0 + , /*decltype(_impl_.mouth_lower_down_right_)*/0 + , /*decltype(_impl_.mouth_press_left_)*/0 + , /*decltype(_impl_.mouth_press_right_)*/0 + , /*decltype(_impl_.mouth_pucker_)*/0 + , /*decltype(_impl_.mouth_right_)*/0 + , /*decltype(_impl_.mouth_roll_lower_)*/0 + , /*decltype(_impl_.mouth_roll_upper_)*/0 + , /*decltype(_impl_.mouth_shrug_lower_)*/0 + , /*decltype(_impl_.mouth_shrug_upper_)*/0 + , /*decltype(_impl_.mouth_smile_left_)*/0 + , /*decltype(_impl_.mouth_smile_right_)*/0 + , /*decltype(_impl_.mouth_stretch_left_)*/0 + , /*decltype(_impl_.mouth_stretch_right_)*/0 + , /*decltype(_impl_.mouth_upper_up_left_)*/0 + , /*decltype(_impl_.mouth_upper_up_right_)*/0 + , /*decltype(_impl_.nose_sneer_left_)*/0 + , /*decltype(_impl_.nose_sneer_right_)*/0 + , /*decltype(_impl_.tongue_out_)*/0 + , /*decltype(_impl_._cached_size_)*/{}} {} +struct ARKitBlendShapesDefaultTypeInternal { + PROTOBUF_CONSTEXPR ARKitBlendShapesDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ARKitBlendShapesDefaultTypeInternal() {} + union { + ARKitBlendShapes _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ARKitBlendShapesDefaultTypeInternal _ARKitBlendShapes_default_instance_; +} // namespace service +static ::_pb::Metadata file_level_metadata_arkit_5fblend_5fshapes_2eproto[2]; +static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_arkit_5fblend_5fshapes_2eproto = nullptr; +static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_arkit_5fblend_5fshapes_2eproto = nullptr; + +const uint32_t TableStruct_arkit_5fblend_5fshapes_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapesData, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapesData, _impl_.ar_kit_blend_shapes_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.brow_down_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.brow_down_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.brow_inner_up_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.brow_outer_up_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.brow_outer_up_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.cheek_puff_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.cheek_squint_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.cheek_squint_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.eye_blink_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.eye_blink_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.eye_look_down_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.eye_look_down_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.eye_look_in_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.eye_look_in_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.eye_look_out_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.eye_look_out_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.eye_look_up_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.eye_look_up_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.eye_squint_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.eye_squint_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.eye_wide_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.eye_wide_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.jaw_forward_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.jaw_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.jaw_open_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.jaw_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_close_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_dimple_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_dimple_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_frown_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_frown_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_funnel_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_lower_down_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_lower_down_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_press_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_press_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_pucker_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_roll_lower_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_roll_upper_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_shrug_lower_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_shrug_upper_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_smile_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_smile_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_stretch_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_stretch_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_upper_up_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.mouth_upper_up_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.nose_sneer_left_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.nose_sneer_right_), + PROTOBUF_FIELD_OFFSET(::service::ARKitBlendShapes, _impl_.tongue_out_), +}; +static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + { 0, -1, -1, sizeof(::service::ARKitBlendShapesData)}, + { 7, -1, -1, sizeof(::service::ARKitBlendShapes)}, +}; + +static const ::_pb::Message* const file_default_instances[] = { + &::service::_ARKitBlendShapesData_default_instance_._instance, + &::service::_ARKitBlendShapes_default_instance_._instance, +}; + +const char descriptor_table_protodef_arkit_5fblend_5fshapes_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = + "\n\030arkit_blend_shapes.proto\022\007service\"N\n\024A" + "RKitBlendShapesData\0226\n\023ar_kit_blend_shap" + "es\030\001 \001(\0132\031.service.ARKitBlendShapes\"\273\n\n\020" + "ARKitBlendShapes\022\026\n\016brow_down_left\030\001 \001(\002" + "\022\027\n\017brow_down_right\030\002 \001(\002\022\025\n\rbrow_inner_" + "up\030\003 \001(\002\022\032\n\022brow_outer_up_left\030\004 \001(\002\022\033\n\023" + "brow_outer_up_right\030\005 \001(\002\022\022\n\ncheek_puff\030" + "\006 \001(\002\022\031\n\021cheek_squint_left\030\007 \001(\002\022\032\n\022chee" + "k_squint_right\030\010 \001(\002\022\026\n\016eye_blink_left\030\t" + " \001(\002\022\027\n\017eye_blink_right\030\n \001(\002\022\032\n\022eye_loo" + "k_down_left\030\013 \001(\002\022\033\n\023eye_look_down_right" + "\030\014 \001(\002\022\030\n\020eye_look_in_left\030\r \001(\002\022\031\n\021eye_" + "look_in_right\030\016 \001(\002\022\031\n\021eye_look_out_left" + "\030\017 \001(\002\022\032\n\022eye_look_out_right\030\020 \001(\002\022\030\n\020ey" + "e_look_up_left\030\021 \001(\002\022\031\n\021eye_look_up_righ" + "t\030\022 \001(\002\022\027\n\017eye_squint_left\030\023 \001(\002\022\030\n\020eye_" + "squint_right\030\024 \001(\002\022\025\n\reye_wide_left\030\025 \001(" + "\002\022\026\n\016eye_wide_right\030\026 \001(\002\022\023\n\013jaw_forward" + "\030\027 \001(\002\022\020\n\010jaw_left\030\030 \001(\002\022\020\n\010jaw_open\030\031 \001" + "(\002\022\021\n\tjaw_right\030\032 \001(\002\022\023\n\013mouth_close\030\033 \001" + "(\002\022\031\n\021mouth_dimple_left\030\034 \001(\002\022\032\n\022mouth_d" + "imple_right\030\035 \001(\002\022\030\n\020mouth_frown_left\030\036 " + "\001(\002\022\031\n\021mouth_frown_right\030\037 \001(\002\022\024\n\014mouth_" + "funnel\030 \001(\002\022\022\n\nmouth_left\030! \001(\002\022\035\n\025mout" + "h_lower_down_left\030\" \001(\002\022\036\n\026mouth_lower_d" + "own_right\030# \001(\002\022\030\n\020mouth_press_left\030$ \001(" + "\002\022\031\n\021mouth_press_right\030% \001(\002\022\024\n\014mouth_pu" + "cker\030& \001(\002\022\023\n\013mouth_right\030\' \001(\002\022\030\n\020mouth" + "_roll_lower\030( \001(\002\022\030\n\020mouth_roll_upper\030) " + "\001(\002\022\031\n\021mouth_shrug_lower\030* \001(\002\022\031\n\021mouth_" + "shrug_upper\030+ \001(\002\022\030\n\020mouth_smile_left\030, " + "\001(\002\022\031\n\021mouth_smile_right\030- \001(\002\022\032\n\022mouth_" + "stretch_left\030. \001(\002\022\033\n\023mouth_stretch_righ" + "t\030/ \001(\002\022\033\n\023mouth_upper_up_left\0300 \001(\002\022\034\n\024" + "mouth_upper_up_right\0301 \001(\002\022\027\n\017nose_sneer" + "_left\0302 \001(\002\022\030\n\020nose_sneer_right\0303 \001(\002\022\022\n" + "\ntongue_out\0304 \001(\002B\017Z\rproto/serviceb\006prot" + "o3" + ; +static ::_pbi::once_flag descriptor_table_arkit_5fblend_5fshapes_2eproto_once; +const ::_pbi::DescriptorTable descriptor_table_arkit_5fblend_5fshapes_2eproto = { + false, false, 1482, descriptor_table_protodef_arkit_5fblend_5fshapes_2eproto, + "arkit_blend_shapes.proto", + &descriptor_table_arkit_5fblend_5fshapes_2eproto_once, nullptr, 0, 2, + schemas, file_default_instances, TableStruct_arkit_5fblend_5fshapes_2eproto::offsets, + file_level_metadata_arkit_5fblend_5fshapes_2eproto, file_level_enum_descriptors_arkit_5fblend_5fshapes_2eproto, + file_level_service_descriptors_arkit_5fblend_5fshapes_2eproto, +}; +PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_arkit_5fblend_5fshapes_2eproto_getter() { + return &descriptor_table_arkit_5fblend_5fshapes_2eproto; +} + +// Force running AddDescriptors() at dynamic initialization time. +PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_arkit_5fblend_5fshapes_2eproto(&descriptor_table_arkit_5fblend_5fshapes_2eproto); +namespace service { + +// =================================================================== + +class ARKitBlendShapesData::_Internal { + public: + static const ::service::ARKitBlendShapes& ar_kit_blend_shapes(const ARKitBlendShapesData* msg); +}; + +const ::service::ARKitBlendShapes& +ARKitBlendShapesData::_Internal::ar_kit_blend_shapes(const ARKitBlendShapesData* msg) { + return *msg->_impl_.ar_kit_blend_shapes_; +} +ARKitBlendShapesData::ARKitBlendShapesData(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.ARKitBlendShapesData) +} +ARKitBlendShapesData::ARKitBlendShapesData(const ARKitBlendShapesData& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + ARKitBlendShapesData* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.ar_kit_blend_shapes_){nullptr} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_ar_kit_blend_shapes()) { + _this->_impl_.ar_kit_blend_shapes_ = new ::service::ARKitBlendShapes(*from._impl_.ar_kit_blend_shapes_); + } + // @@protoc_insertion_point(copy_constructor:service.ARKitBlendShapesData) +} + +inline void ARKitBlendShapesData::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.ar_kit_blend_shapes_){nullptr} + , /*decltype(_impl_._cached_size_)*/{} + }; +} + +ARKitBlendShapesData::~ARKitBlendShapesData() { + // @@protoc_insertion_point(destructor:service.ARKitBlendShapesData) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void ARKitBlendShapesData::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete _impl_.ar_kit_blend_shapes_; +} + +void ARKitBlendShapesData::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void ARKitBlendShapesData::Clear() { +// @@protoc_insertion_point(message_clear_start:service.ARKitBlendShapesData) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && _impl_.ar_kit_blend_shapes_ != nullptr) { + delete _impl_.ar_kit_blend_shapes_; + } + _impl_.ar_kit_blend_shapes_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ARKitBlendShapesData::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .service.ARKitBlendShapes ar_kit_blend_shapes = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_ar_kit_blend_shapes(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* ARKitBlendShapesData::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.ARKitBlendShapesData) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .service.ARKitBlendShapes ar_kit_blend_shapes = 1; + if (this->_internal_has_ar_kit_blend_shapes()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::ar_kit_blend_shapes(this), + _Internal::ar_kit_blend_shapes(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.ARKitBlendShapesData) + return target; +} + +size_t ARKitBlendShapesData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.ARKitBlendShapesData) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .service.ARKitBlendShapes ar_kit_blend_shapes = 1; + if (this->_internal_has_ar_kit_blend_shapes()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.ar_kit_blend_shapes_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ARKitBlendShapesData::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + ARKitBlendShapesData::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ARKitBlendShapesData::GetClassData() const { return &_class_data_; } + + +void ARKitBlendShapesData::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.ARKitBlendShapesData) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_ar_kit_blend_shapes()) { + _this->_internal_mutable_ar_kit_blend_shapes()->::service::ARKitBlendShapes::MergeFrom( + from._internal_ar_kit_blend_shapes()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ARKitBlendShapesData::CopyFrom(const ARKitBlendShapesData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.ARKitBlendShapesData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ARKitBlendShapesData::IsInitialized() const { + return true; +} + +void ARKitBlendShapesData::InternalSwap(ARKitBlendShapesData* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_.ar_kit_blend_shapes_, other->_impl_.ar_kit_blend_shapes_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ARKitBlendShapesData::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_arkit_5fblend_5fshapes_2eproto_getter, &descriptor_table_arkit_5fblend_5fshapes_2eproto_once, + file_level_metadata_arkit_5fblend_5fshapes_2eproto[0]); +} + +// =================================================================== + +class ARKitBlendShapes::_Internal { + public: +}; + +ARKitBlendShapes::ARKitBlendShapes(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.ARKitBlendShapes) +} +ARKitBlendShapes::ARKitBlendShapes(const ARKitBlendShapes& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + ARKitBlendShapes* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.brow_down_left_){} + , decltype(_impl_.brow_down_right_){} + , decltype(_impl_.brow_inner_up_){} + , decltype(_impl_.brow_outer_up_left_){} + , decltype(_impl_.brow_outer_up_right_){} + , decltype(_impl_.cheek_puff_){} + , decltype(_impl_.cheek_squint_left_){} + , decltype(_impl_.cheek_squint_right_){} + , decltype(_impl_.eye_blink_left_){} + , decltype(_impl_.eye_blink_right_){} + , decltype(_impl_.eye_look_down_left_){} + , decltype(_impl_.eye_look_down_right_){} + , decltype(_impl_.eye_look_in_left_){} + , decltype(_impl_.eye_look_in_right_){} + , decltype(_impl_.eye_look_out_left_){} + , decltype(_impl_.eye_look_out_right_){} + , decltype(_impl_.eye_look_up_left_){} + , decltype(_impl_.eye_look_up_right_){} + , decltype(_impl_.eye_squint_left_){} + , decltype(_impl_.eye_squint_right_){} + , decltype(_impl_.eye_wide_left_){} + , decltype(_impl_.eye_wide_right_){} + , decltype(_impl_.jaw_forward_){} + , decltype(_impl_.jaw_left_){} + , decltype(_impl_.jaw_open_){} + , decltype(_impl_.jaw_right_){} + , decltype(_impl_.mouth_close_){} + , decltype(_impl_.mouth_dimple_left_){} + , decltype(_impl_.mouth_dimple_right_){} + , decltype(_impl_.mouth_frown_left_){} + , decltype(_impl_.mouth_frown_right_){} + , decltype(_impl_.mouth_funnel_){} + , decltype(_impl_.mouth_left_){} + , decltype(_impl_.mouth_lower_down_left_){} + , decltype(_impl_.mouth_lower_down_right_){} + , decltype(_impl_.mouth_press_left_){} + , decltype(_impl_.mouth_press_right_){} + , decltype(_impl_.mouth_pucker_){} + , decltype(_impl_.mouth_right_){} + , decltype(_impl_.mouth_roll_lower_){} + , decltype(_impl_.mouth_roll_upper_){} + , decltype(_impl_.mouth_shrug_lower_){} + , decltype(_impl_.mouth_shrug_upper_){} + , decltype(_impl_.mouth_smile_left_){} + , decltype(_impl_.mouth_smile_right_){} + , decltype(_impl_.mouth_stretch_left_){} + , decltype(_impl_.mouth_stretch_right_){} + , decltype(_impl_.mouth_upper_up_left_){} + , decltype(_impl_.mouth_upper_up_right_){} + , decltype(_impl_.nose_sneer_left_){} + , decltype(_impl_.nose_sneer_right_){} + , decltype(_impl_.tongue_out_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::memcpy(&_impl_.brow_down_left_, &from._impl_.brow_down_left_, + static_cast(reinterpret_cast(&_impl_.tongue_out_) - + reinterpret_cast(&_impl_.brow_down_left_)) + sizeof(_impl_.tongue_out_)); + // @@protoc_insertion_point(copy_constructor:service.ARKitBlendShapes) +} + +inline void ARKitBlendShapes::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.brow_down_left_){0} + , decltype(_impl_.brow_down_right_){0} + , decltype(_impl_.brow_inner_up_){0} + , decltype(_impl_.brow_outer_up_left_){0} + , decltype(_impl_.brow_outer_up_right_){0} + , decltype(_impl_.cheek_puff_){0} + , decltype(_impl_.cheek_squint_left_){0} + , decltype(_impl_.cheek_squint_right_){0} + , decltype(_impl_.eye_blink_left_){0} + , decltype(_impl_.eye_blink_right_){0} + , decltype(_impl_.eye_look_down_left_){0} + , decltype(_impl_.eye_look_down_right_){0} + , decltype(_impl_.eye_look_in_left_){0} + , decltype(_impl_.eye_look_in_right_){0} + , decltype(_impl_.eye_look_out_left_){0} + , decltype(_impl_.eye_look_out_right_){0} + , decltype(_impl_.eye_look_up_left_){0} + , decltype(_impl_.eye_look_up_right_){0} + , decltype(_impl_.eye_squint_left_){0} + , decltype(_impl_.eye_squint_right_){0} + , decltype(_impl_.eye_wide_left_){0} + , decltype(_impl_.eye_wide_right_){0} + , decltype(_impl_.jaw_forward_){0} + , decltype(_impl_.jaw_left_){0} + , decltype(_impl_.jaw_open_){0} + , decltype(_impl_.jaw_right_){0} + , decltype(_impl_.mouth_close_){0} + , decltype(_impl_.mouth_dimple_left_){0} + , decltype(_impl_.mouth_dimple_right_){0} + , decltype(_impl_.mouth_frown_left_){0} + , decltype(_impl_.mouth_frown_right_){0} + , decltype(_impl_.mouth_funnel_){0} + , decltype(_impl_.mouth_left_){0} + , decltype(_impl_.mouth_lower_down_left_){0} + , decltype(_impl_.mouth_lower_down_right_){0} + , decltype(_impl_.mouth_press_left_){0} + , decltype(_impl_.mouth_press_right_){0} + , decltype(_impl_.mouth_pucker_){0} + , decltype(_impl_.mouth_right_){0} + , decltype(_impl_.mouth_roll_lower_){0} + , decltype(_impl_.mouth_roll_upper_){0} + , decltype(_impl_.mouth_shrug_lower_){0} + , decltype(_impl_.mouth_shrug_upper_){0} + , decltype(_impl_.mouth_smile_left_){0} + , decltype(_impl_.mouth_smile_right_){0} + , decltype(_impl_.mouth_stretch_left_){0} + , decltype(_impl_.mouth_stretch_right_){0} + , decltype(_impl_.mouth_upper_up_left_){0} + , decltype(_impl_.mouth_upper_up_right_){0} + , decltype(_impl_.nose_sneer_left_){0} + , decltype(_impl_.nose_sneer_right_){0} + , decltype(_impl_.tongue_out_){0} + , /*decltype(_impl_._cached_size_)*/{} + }; +} + +ARKitBlendShapes::~ARKitBlendShapes() { + // @@protoc_insertion_point(destructor:service.ARKitBlendShapes) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void ARKitBlendShapes::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void ARKitBlendShapes::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void ARKitBlendShapes::Clear() { +// @@protoc_insertion_point(message_clear_start:service.ARKitBlendShapes) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::memset(&_impl_.brow_down_left_, 0, static_cast( + reinterpret_cast(&_impl_.tongue_out_) - + reinterpret_cast(&_impl_.brow_down_left_)) + sizeof(_impl_.tongue_out_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ARKitBlendShapes::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // float brow_down_left = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 13)) { + _impl_.brow_down_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float brow_down_right = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 21)) { + _impl_.brow_down_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float brow_inner_up = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 29)) { + _impl_.brow_inner_up_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float brow_outer_up_left = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 37)) { + _impl_.brow_outer_up_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float brow_outer_up_right = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 45)) { + _impl_.brow_outer_up_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float cheek_puff = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 53)) { + _impl_.cheek_puff_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float cheek_squint_left = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 61)) { + _impl_.cheek_squint_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float cheek_squint_right = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 69)) { + _impl_.cheek_squint_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float eye_blink_left = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 77)) { + _impl_.eye_blink_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float eye_blink_right = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 85)) { + _impl_.eye_blink_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float eye_look_down_left = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 93)) { + _impl_.eye_look_down_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float eye_look_down_right = 12; + case 12: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 101)) { + _impl_.eye_look_down_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float eye_look_in_left = 13; + case 13: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 109)) { + _impl_.eye_look_in_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float eye_look_in_right = 14; + case 14: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 117)) { + _impl_.eye_look_in_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float eye_look_out_left = 15; + case 15: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 125)) { + _impl_.eye_look_out_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float eye_look_out_right = 16; + case 16: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 133)) { + _impl_.eye_look_out_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float eye_look_up_left = 17; + case 17: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 141)) { + _impl_.eye_look_up_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float eye_look_up_right = 18; + case 18: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 149)) { + _impl_.eye_look_up_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float eye_squint_left = 19; + case 19: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 157)) { + _impl_.eye_squint_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float eye_squint_right = 20; + case 20: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 165)) { + _impl_.eye_squint_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float eye_wide_left = 21; + case 21: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 173)) { + _impl_.eye_wide_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float eye_wide_right = 22; + case 22: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 181)) { + _impl_.eye_wide_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float jaw_forward = 23; + case 23: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 189)) { + _impl_.jaw_forward_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float jaw_left = 24; + case 24: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 197)) { + _impl_.jaw_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float jaw_open = 25; + case 25: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 205)) { + _impl_.jaw_open_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float jaw_right = 26; + case 26: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 213)) { + _impl_.jaw_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_close = 27; + case 27: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 221)) { + _impl_.mouth_close_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_dimple_left = 28; + case 28: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 229)) { + _impl_.mouth_dimple_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_dimple_right = 29; + case 29: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 237)) { + _impl_.mouth_dimple_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_frown_left = 30; + case 30: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 245)) { + _impl_.mouth_frown_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_frown_right = 31; + case 31: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 253)) { + _impl_.mouth_frown_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_funnel = 32; + case 32: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 5)) { + _impl_.mouth_funnel_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_left = 33; + case 33: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 13)) { + _impl_.mouth_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_lower_down_left = 34; + case 34: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 21)) { + _impl_.mouth_lower_down_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_lower_down_right = 35; + case 35: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 29)) { + _impl_.mouth_lower_down_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_press_left = 36; + case 36: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 37)) { + _impl_.mouth_press_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_press_right = 37; + case 37: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 45)) { + _impl_.mouth_press_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_pucker = 38; + case 38: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 53)) { + _impl_.mouth_pucker_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_right = 39; + case 39: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 61)) { + _impl_.mouth_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_roll_lower = 40; + case 40: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 69)) { + _impl_.mouth_roll_lower_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_roll_upper = 41; + case 41: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 77)) { + _impl_.mouth_roll_upper_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_shrug_lower = 42; + case 42: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 85)) { + _impl_.mouth_shrug_lower_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_shrug_upper = 43; + case 43: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 93)) { + _impl_.mouth_shrug_upper_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_smile_left = 44; + case 44: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 101)) { + _impl_.mouth_smile_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_smile_right = 45; + case 45: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 109)) { + _impl_.mouth_smile_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_stretch_left = 46; + case 46: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 117)) { + _impl_.mouth_stretch_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_stretch_right = 47; + case 47: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 125)) { + _impl_.mouth_stretch_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_upper_up_left = 48; + case 48: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 133)) { + _impl_.mouth_upper_up_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float mouth_upper_up_right = 49; + case 49: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 141)) { + _impl_.mouth_upper_up_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float nose_sneer_left = 50; + case 50: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 149)) { + _impl_.nose_sneer_left_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float nose_sneer_right = 51; + case 51: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 157)) { + _impl_.nose_sneer_right_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float tongue_out = 52; + case 52: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 165)) { + _impl_.tongue_out_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* ARKitBlendShapes::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.ARKitBlendShapes) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // float brow_down_left = 1; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_brow_down_left = this->_internal_brow_down_left(); + uint32_t raw_brow_down_left; + memcpy(&raw_brow_down_left, &tmp_brow_down_left, sizeof(tmp_brow_down_left)); + if (raw_brow_down_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(1, this->_internal_brow_down_left(), target); + } + + // float brow_down_right = 2; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_brow_down_right = this->_internal_brow_down_right(); + uint32_t raw_brow_down_right; + memcpy(&raw_brow_down_right, &tmp_brow_down_right, sizeof(tmp_brow_down_right)); + if (raw_brow_down_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(2, this->_internal_brow_down_right(), target); + } + + // float brow_inner_up = 3; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_brow_inner_up = this->_internal_brow_inner_up(); + uint32_t raw_brow_inner_up; + memcpy(&raw_brow_inner_up, &tmp_brow_inner_up, sizeof(tmp_brow_inner_up)); + if (raw_brow_inner_up != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(3, this->_internal_brow_inner_up(), target); + } + + // float brow_outer_up_left = 4; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_brow_outer_up_left = this->_internal_brow_outer_up_left(); + uint32_t raw_brow_outer_up_left; + memcpy(&raw_brow_outer_up_left, &tmp_brow_outer_up_left, sizeof(tmp_brow_outer_up_left)); + if (raw_brow_outer_up_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(4, this->_internal_brow_outer_up_left(), target); + } + + // float brow_outer_up_right = 5; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_brow_outer_up_right = this->_internal_brow_outer_up_right(); + uint32_t raw_brow_outer_up_right; + memcpy(&raw_brow_outer_up_right, &tmp_brow_outer_up_right, sizeof(tmp_brow_outer_up_right)); + if (raw_brow_outer_up_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(5, this->_internal_brow_outer_up_right(), target); + } + + // float cheek_puff = 6; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_cheek_puff = this->_internal_cheek_puff(); + uint32_t raw_cheek_puff; + memcpy(&raw_cheek_puff, &tmp_cheek_puff, sizeof(tmp_cheek_puff)); + if (raw_cheek_puff != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(6, this->_internal_cheek_puff(), target); + } + + // float cheek_squint_left = 7; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_cheek_squint_left = this->_internal_cheek_squint_left(); + uint32_t raw_cheek_squint_left; + memcpy(&raw_cheek_squint_left, &tmp_cheek_squint_left, sizeof(tmp_cheek_squint_left)); + if (raw_cheek_squint_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(7, this->_internal_cheek_squint_left(), target); + } + + // float cheek_squint_right = 8; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_cheek_squint_right = this->_internal_cheek_squint_right(); + uint32_t raw_cheek_squint_right; + memcpy(&raw_cheek_squint_right, &tmp_cheek_squint_right, sizeof(tmp_cheek_squint_right)); + if (raw_cheek_squint_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(8, this->_internal_cheek_squint_right(), target); + } + + // float eye_blink_left = 9; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_blink_left = this->_internal_eye_blink_left(); + uint32_t raw_eye_blink_left; + memcpy(&raw_eye_blink_left, &tmp_eye_blink_left, sizeof(tmp_eye_blink_left)); + if (raw_eye_blink_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(9, this->_internal_eye_blink_left(), target); + } + + // float eye_blink_right = 10; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_blink_right = this->_internal_eye_blink_right(); + uint32_t raw_eye_blink_right; + memcpy(&raw_eye_blink_right, &tmp_eye_blink_right, sizeof(tmp_eye_blink_right)); + if (raw_eye_blink_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(10, this->_internal_eye_blink_right(), target); + } + + // float eye_look_down_left = 11; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_down_left = this->_internal_eye_look_down_left(); + uint32_t raw_eye_look_down_left; + memcpy(&raw_eye_look_down_left, &tmp_eye_look_down_left, sizeof(tmp_eye_look_down_left)); + if (raw_eye_look_down_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(11, this->_internal_eye_look_down_left(), target); + } + + // float eye_look_down_right = 12; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_down_right = this->_internal_eye_look_down_right(); + uint32_t raw_eye_look_down_right; + memcpy(&raw_eye_look_down_right, &tmp_eye_look_down_right, sizeof(tmp_eye_look_down_right)); + if (raw_eye_look_down_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(12, this->_internal_eye_look_down_right(), target); + } + + // float eye_look_in_left = 13; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_in_left = this->_internal_eye_look_in_left(); + uint32_t raw_eye_look_in_left; + memcpy(&raw_eye_look_in_left, &tmp_eye_look_in_left, sizeof(tmp_eye_look_in_left)); + if (raw_eye_look_in_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(13, this->_internal_eye_look_in_left(), target); + } + + // float eye_look_in_right = 14; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_in_right = this->_internal_eye_look_in_right(); + uint32_t raw_eye_look_in_right; + memcpy(&raw_eye_look_in_right, &tmp_eye_look_in_right, sizeof(tmp_eye_look_in_right)); + if (raw_eye_look_in_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(14, this->_internal_eye_look_in_right(), target); + } + + // float eye_look_out_left = 15; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_out_left = this->_internal_eye_look_out_left(); + uint32_t raw_eye_look_out_left; + memcpy(&raw_eye_look_out_left, &tmp_eye_look_out_left, sizeof(tmp_eye_look_out_left)); + if (raw_eye_look_out_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(15, this->_internal_eye_look_out_left(), target); + } + + // float eye_look_out_right = 16; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_out_right = this->_internal_eye_look_out_right(); + uint32_t raw_eye_look_out_right; + memcpy(&raw_eye_look_out_right, &tmp_eye_look_out_right, sizeof(tmp_eye_look_out_right)); + if (raw_eye_look_out_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(16, this->_internal_eye_look_out_right(), target); + } + + // float eye_look_up_left = 17; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_up_left = this->_internal_eye_look_up_left(); + uint32_t raw_eye_look_up_left; + memcpy(&raw_eye_look_up_left, &tmp_eye_look_up_left, sizeof(tmp_eye_look_up_left)); + if (raw_eye_look_up_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(17, this->_internal_eye_look_up_left(), target); + } + + // float eye_look_up_right = 18; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_up_right = this->_internal_eye_look_up_right(); + uint32_t raw_eye_look_up_right; + memcpy(&raw_eye_look_up_right, &tmp_eye_look_up_right, sizeof(tmp_eye_look_up_right)); + if (raw_eye_look_up_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(18, this->_internal_eye_look_up_right(), target); + } + + // float eye_squint_left = 19; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_squint_left = this->_internal_eye_squint_left(); + uint32_t raw_eye_squint_left; + memcpy(&raw_eye_squint_left, &tmp_eye_squint_left, sizeof(tmp_eye_squint_left)); + if (raw_eye_squint_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(19, this->_internal_eye_squint_left(), target); + } + + // float eye_squint_right = 20; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_squint_right = this->_internal_eye_squint_right(); + uint32_t raw_eye_squint_right; + memcpy(&raw_eye_squint_right, &tmp_eye_squint_right, sizeof(tmp_eye_squint_right)); + if (raw_eye_squint_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(20, this->_internal_eye_squint_right(), target); + } + + // float eye_wide_left = 21; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_wide_left = this->_internal_eye_wide_left(); + uint32_t raw_eye_wide_left; + memcpy(&raw_eye_wide_left, &tmp_eye_wide_left, sizeof(tmp_eye_wide_left)); + if (raw_eye_wide_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(21, this->_internal_eye_wide_left(), target); + } + + // float eye_wide_right = 22; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_wide_right = this->_internal_eye_wide_right(); + uint32_t raw_eye_wide_right; + memcpy(&raw_eye_wide_right, &tmp_eye_wide_right, sizeof(tmp_eye_wide_right)); + if (raw_eye_wide_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(22, this->_internal_eye_wide_right(), target); + } + + // float jaw_forward = 23; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_jaw_forward = this->_internal_jaw_forward(); + uint32_t raw_jaw_forward; + memcpy(&raw_jaw_forward, &tmp_jaw_forward, sizeof(tmp_jaw_forward)); + if (raw_jaw_forward != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(23, this->_internal_jaw_forward(), target); + } + + // float jaw_left = 24; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_jaw_left = this->_internal_jaw_left(); + uint32_t raw_jaw_left; + memcpy(&raw_jaw_left, &tmp_jaw_left, sizeof(tmp_jaw_left)); + if (raw_jaw_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(24, this->_internal_jaw_left(), target); + } + + // float jaw_open = 25; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_jaw_open = this->_internal_jaw_open(); + uint32_t raw_jaw_open; + memcpy(&raw_jaw_open, &tmp_jaw_open, sizeof(tmp_jaw_open)); + if (raw_jaw_open != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(25, this->_internal_jaw_open(), target); + } + + // float jaw_right = 26; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_jaw_right = this->_internal_jaw_right(); + uint32_t raw_jaw_right; + memcpy(&raw_jaw_right, &tmp_jaw_right, sizeof(tmp_jaw_right)); + if (raw_jaw_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(26, this->_internal_jaw_right(), target); + } + + // float mouth_close = 27; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_close = this->_internal_mouth_close(); + uint32_t raw_mouth_close; + memcpy(&raw_mouth_close, &tmp_mouth_close, sizeof(tmp_mouth_close)); + if (raw_mouth_close != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(27, this->_internal_mouth_close(), target); + } + + // float mouth_dimple_left = 28; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_dimple_left = this->_internal_mouth_dimple_left(); + uint32_t raw_mouth_dimple_left; + memcpy(&raw_mouth_dimple_left, &tmp_mouth_dimple_left, sizeof(tmp_mouth_dimple_left)); + if (raw_mouth_dimple_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(28, this->_internal_mouth_dimple_left(), target); + } + + // float mouth_dimple_right = 29; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_dimple_right = this->_internal_mouth_dimple_right(); + uint32_t raw_mouth_dimple_right; + memcpy(&raw_mouth_dimple_right, &tmp_mouth_dimple_right, sizeof(tmp_mouth_dimple_right)); + if (raw_mouth_dimple_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(29, this->_internal_mouth_dimple_right(), target); + } + + // float mouth_frown_left = 30; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_frown_left = this->_internal_mouth_frown_left(); + uint32_t raw_mouth_frown_left; + memcpy(&raw_mouth_frown_left, &tmp_mouth_frown_left, sizeof(tmp_mouth_frown_left)); + if (raw_mouth_frown_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(30, this->_internal_mouth_frown_left(), target); + } + + // float mouth_frown_right = 31; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_frown_right = this->_internal_mouth_frown_right(); + uint32_t raw_mouth_frown_right; + memcpy(&raw_mouth_frown_right, &tmp_mouth_frown_right, sizeof(tmp_mouth_frown_right)); + if (raw_mouth_frown_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(31, this->_internal_mouth_frown_right(), target); + } + + // float mouth_funnel = 32; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_funnel = this->_internal_mouth_funnel(); + uint32_t raw_mouth_funnel; + memcpy(&raw_mouth_funnel, &tmp_mouth_funnel, sizeof(tmp_mouth_funnel)); + if (raw_mouth_funnel != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(32, this->_internal_mouth_funnel(), target); + } + + // float mouth_left = 33; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_left = this->_internal_mouth_left(); + uint32_t raw_mouth_left; + memcpy(&raw_mouth_left, &tmp_mouth_left, sizeof(tmp_mouth_left)); + if (raw_mouth_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(33, this->_internal_mouth_left(), target); + } + + // float mouth_lower_down_left = 34; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_lower_down_left = this->_internal_mouth_lower_down_left(); + uint32_t raw_mouth_lower_down_left; + memcpy(&raw_mouth_lower_down_left, &tmp_mouth_lower_down_left, sizeof(tmp_mouth_lower_down_left)); + if (raw_mouth_lower_down_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(34, this->_internal_mouth_lower_down_left(), target); + } + + // float mouth_lower_down_right = 35; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_lower_down_right = this->_internal_mouth_lower_down_right(); + uint32_t raw_mouth_lower_down_right; + memcpy(&raw_mouth_lower_down_right, &tmp_mouth_lower_down_right, sizeof(tmp_mouth_lower_down_right)); + if (raw_mouth_lower_down_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(35, this->_internal_mouth_lower_down_right(), target); + } + + // float mouth_press_left = 36; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_press_left = this->_internal_mouth_press_left(); + uint32_t raw_mouth_press_left; + memcpy(&raw_mouth_press_left, &tmp_mouth_press_left, sizeof(tmp_mouth_press_left)); + if (raw_mouth_press_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(36, this->_internal_mouth_press_left(), target); + } + + // float mouth_press_right = 37; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_press_right = this->_internal_mouth_press_right(); + uint32_t raw_mouth_press_right; + memcpy(&raw_mouth_press_right, &tmp_mouth_press_right, sizeof(tmp_mouth_press_right)); + if (raw_mouth_press_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(37, this->_internal_mouth_press_right(), target); + } + + // float mouth_pucker = 38; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_pucker = this->_internal_mouth_pucker(); + uint32_t raw_mouth_pucker; + memcpy(&raw_mouth_pucker, &tmp_mouth_pucker, sizeof(tmp_mouth_pucker)); + if (raw_mouth_pucker != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(38, this->_internal_mouth_pucker(), target); + } + + // float mouth_right = 39; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_right = this->_internal_mouth_right(); + uint32_t raw_mouth_right; + memcpy(&raw_mouth_right, &tmp_mouth_right, sizeof(tmp_mouth_right)); + if (raw_mouth_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(39, this->_internal_mouth_right(), target); + } + + // float mouth_roll_lower = 40; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_roll_lower = this->_internal_mouth_roll_lower(); + uint32_t raw_mouth_roll_lower; + memcpy(&raw_mouth_roll_lower, &tmp_mouth_roll_lower, sizeof(tmp_mouth_roll_lower)); + if (raw_mouth_roll_lower != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(40, this->_internal_mouth_roll_lower(), target); + } + + // float mouth_roll_upper = 41; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_roll_upper = this->_internal_mouth_roll_upper(); + uint32_t raw_mouth_roll_upper; + memcpy(&raw_mouth_roll_upper, &tmp_mouth_roll_upper, sizeof(tmp_mouth_roll_upper)); + if (raw_mouth_roll_upper != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(41, this->_internal_mouth_roll_upper(), target); + } + + // float mouth_shrug_lower = 42; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_shrug_lower = this->_internal_mouth_shrug_lower(); + uint32_t raw_mouth_shrug_lower; + memcpy(&raw_mouth_shrug_lower, &tmp_mouth_shrug_lower, sizeof(tmp_mouth_shrug_lower)); + if (raw_mouth_shrug_lower != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(42, this->_internal_mouth_shrug_lower(), target); + } + + // float mouth_shrug_upper = 43; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_shrug_upper = this->_internal_mouth_shrug_upper(); + uint32_t raw_mouth_shrug_upper; + memcpy(&raw_mouth_shrug_upper, &tmp_mouth_shrug_upper, sizeof(tmp_mouth_shrug_upper)); + if (raw_mouth_shrug_upper != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(43, this->_internal_mouth_shrug_upper(), target); + } + + // float mouth_smile_left = 44; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_smile_left = this->_internal_mouth_smile_left(); + uint32_t raw_mouth_smile_left; + memcpy(&raw_mouth_smile_left, &tmp_mouth_smile_left, sizeof(tmp_mouth_smile_left)); + if (raw_mouth_smile_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(44, this->_internal_mouth_smile_left(), target); + } + + // float mouth_smile_right = 45; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_smile_right = this->_internal_mouth_smile_right(); + uint32_t raw_mouth_smile_right; + memcpy(&raw_mouth_smile_right, &tmp_mouth_smile_right, sizeof(tmp_mouth_smile_right)); + if (raw_mouth_smile_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(45, this->_internal_mouth_smile_right(), target); + } + + // float mouth_stretch_left = 46; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_stretch_left = this->_internal_mouth_stretch_left(); + uint32_t raw_mouth_stretch_left; + memcpy(&raw_mouth_stretch_left, &tmp_mouth_stretch_left, sizeof(tmp_mouth_stretch_left)); + if (raw_mouth_stretch_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(46, this->_internal_mouth_stretch_left(), target); + } + + // float mouth_stretch_right = 47; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_stretch_right = this->_internal_mouth_stretch_right(); + uint32_t raw_mouth_stretch_right; + memcpy(&raw_mouth_stretch_right, &tmp_mouth_stretch_right, sizeof(tmp_mouth_stretch_right)); + if (raw_mouth_stretch_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(47, this->_internal_mouth_stretch_right(), target); + } + + // float mouth_upper_up_left = 48; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_upper_up_left = this->_internal_mouth_upper_up_left(); + uint32_t raw_mouth_upper_up_left; + memcpy(&raw_mouth_upper_up_left, &tmp_mouth_upper_up_left, sizeof(tmp_mouth_upper_up_left)); + if (raw_mouth_upper_up_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(48, this->_internal_mouth_upper_up_left(), target); + } + + // float mouth_upper_up_right = 49; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_upper_up_right = this->_internal_mouth_upper_up_right(); + uint32_t raw_mouth_upper_up_right; + memcpy(&raw_mouth_upper_up_right, &tmp_mouth_upper_up_right, sizeof(tmp_mouth_upper_up_right)); + if (raw_mouth_upper_up_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(49, this->_internal_mouth_upper_up_right(), target); + } + + // float nose_sneer_left = 50; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_nose_sneer_left = this->_internal_nose_sneer_left(); + uint32_t raw_nose_sneer_left; + memcpy(&raw_nose_sneer_left, &tmp_nose_sneer_left, sizeof(tmp_nose_sneer_left)); + if (raw_nose_sneer_left != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(50, this->_internal_nose_sneer_left(), target); + } + + // float nose_sneer_right = 51; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_nose_sneer_right = this->_internal_nose_sneer_right(); + uint32_t raw_nose_sneer_right; + memcpy(&raw_nose_sneer_right, &tmp_nose_sneer_right, sizeof(tmp_nose_sneer_right)); + if (raw_nose_sneer_right != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(51, this->_internal_nose_sneer_right(), target); + } + + // float tongue_out = 52; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_tongue_out = this->_internal_tongue_out(); + uint32_t raw_tongue_out; + memcpy(&raw_tongue_out, &tmp_tongue_out, sizeof(tmp_tongue_out)); + if (raw_tongue_out != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(52, this->_internal_tongue_out(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.ARKitBlendShapes) + return target; +} + +size_t ARKitBlendShapes::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.ARKitBlendShapes) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // float brow_down_left = 1; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_brow_down_left = this->_internal_brow_down_left(); + uint32_t raw_brow_down_left; + memcpy(&raw_brow_down_left, &tmp_brow_down_left, sizeof(tmp_brow_down_left)); + if (raw_brow_down_left != 0) { + total_size += 1 + 4; + } + + // float brow_down_right = 2; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_brow_down_right = this->_internal_brow_down_right(); + uint32_t raw_brow_down_right; + memcpy(&raw_brow_down_right, &tmp_brow_down_right, sizeof(tmp_brow_down_right)); + if (raw_brow_down_right != 0) { + total_size += 1 + 4; + } + + // float brow_inner_up = 3; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_brow_inner_up = this->_internal_brow_inner_up(); + uint32_t raw_brow_inner_up; + memcpy(&raw_brow_inner_up, &tmp_brow_inner_up, sizeof(tmp_brow_inner_up)); + if (raw_brow_inner_up != 0) { + total_size += 1 + 4; + } + + // float brow_outer_up_left = 4; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_brow_outer_up_left = this->_internal_brow_outer_up_left(); + uint32_t raw_brow_outer_up_left; + memcpy(&raw_brow_outer_up_left, &tmp_brow_outer_up_left, sizeof(tmp_brow_outer_up_left)); + if (raw_brow_outer_up_left != 0) { + total_size += 1 + 4; + } + + // float brow_outer_up_right = 5; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_brow_outer_up_right = this->_internal_brow_outer_up_right(); + uint32_t raw_brow_outer_up_right; + memcpy(&raw_brow_outer_up_right, &tmp_brow_outer_up_right, sizeof(tmp_brow_outer_up_right)); + if (raw_brow_outer_up_right != 0) { + total_size += 1 + 4; + } + + // float cheek_puff = 6; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_cheek_puff = this->_internal_cheek_puff(); + uint32_t raw_cheek_puff; + memcpy(&raw_cheek_puff, &tmp_cheek_puff, sizeof(tmp_cheek_puff)); + if (raw_cheek_puff != 0) { + total_size += 1 + 4; + } + + // float cheek_squint_left = 7; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_cheek_squint_left = this->_internal_cheek_squint_left(); + uint32_t raw_cheek_squint_left; + memcpy(&raw_cheek_squint_left, &tmp_cheek_squint_left, sizeof(tmp_cheek_squint_left)); + if (raw_cheek_squint_left != 0) { + total_size += 1 + 4; + } + + // float cheek_squint_right = 8; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_cheek_squint_right = this->_internal_cheek_squint_right(); + uint32_t raw_cheek_squint_right; + memcpy(&raw_cheek_squint_right, &tmp_cheek_squint_right, sizeof(tmp_cheek_squint_right)); + if (raw_cheek_squint_right != 0) { + total_size += 1 + 4; + } + + // float eye_blink_left = 9; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_blink_left = this->_internal_eye_blink_left(); + uint32_t raw_eye_blink_left; + memcpy(&raw_eye_blink_left, &tmp_eye_blink_left, sizeof(tmp_eye_blink_left)); + if (raw_eye_blink_left != 0) { + total_size += 1 + 4; + } + + // float eye_blink_right = 10; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_blink_right = this->_internal_eye_blink_right(); + uint32_t raw_eye_blink_right; + memcpy(&raw_eye_blink_right, &tmp_eye_blink_right, sizeof(tmp_eye_blink_right)); + if (raw_eye_blink_right != 0) { + total_size += 1 + 4; + } + + // float eye_look_down_left = 11; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_down_left = this->_internal_eye_look_down_left(); + uint32_t raw_eye_look_down_left; + memcpy(&raw_eye_look_down_left, &tmp_eye_look_down_left, sizeof(tmp_eye_look_down_left)); + if (raw_eye_look_down_left != 0) { + total_size += 1 + 4; + } + + // float eye_look_down_right = 12; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_down_right = this->_internal_eye_look_down_right(); + uint32_t raw_eye_look_down_right; + memcpy(&raw_eye_look_down_right, &tmp_eye_look_down_right, sizeof(tmp_eye_look_down_right)); + if (raw_eye_look_down_right != 0) { + total_size += 1 + 4; + } + + // float eye_look_in_left = 13; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_in_left = this->_internal_eye_look_in_left(); + uint32_t raw_eye_look_in_left; + memcpy(&raw_eye_look_in_left, &tmp_eye_look_in_left, sizeof(tmp_eye_look_in_left)); + if (raw_eye_look_in_left != 0) { + total_size += 1 + 4; + } + + // float eye_look_in_right = 14; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_in_right = this->_internal_eye_look_in_right(); + uint32_t raw_eye_look_in_right; + memcpy(&raw_eye_look_in_right, &tmp_eye_look_in_right, sizeof(tmp_eye_look_in_right)); + if (raw_eye_look_in_right != 0) { + total_size += 1 + 4; + } + + // float eye_look_out_left = 15; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_out_left = this->_internal_eye_look_out_left(); + uint32_t raw_eye_look_out_left; + memcpy(&raw_eye_look_out_left, &tmp_eye_look_out_left, sizeof(tmp_eye_look_out_left)); + if (raw_eye_look_out_left != 0) { + total_size += 1 + 4; + } + + // float eye_look_out_right = 16; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_out_right = this->_internal_eye_look_out_right(); + uint32_t raw_eye_look_out_right; + memcpy(&raw_eye_look_out_right, &tmp_eye_look_out_right, sizeof(tmp_eye_look_out_right)); + if (raw_eye_look_out_right != 0) { + total_size += 2 + 4; + } + + // float eye_look_up_left = 17; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_up_left = this->_internal_eye_look_up_left(); + uint32_t raw_eye_look_up_left; + memcpy(&raw_eye_look_up_left, &tmp_eye_look_up_left, sizeof(tmp_eye_look_up_left)); + if (raw_eye_look_up_left != 0) { + total_size += 2 + 4; + } + + // float eye_look_up_right = 18; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_up_right = this->_internal_eye_look_up_right(); + uint32_t raw_eye_look_up_right; + memcpy(&raw_eye_look_up_right, &tmp_eye_look_up_right, sizeof(tmp_eye_look_up_right)); + if (raw_eye_look_up_right != 0) { + total_size += 2 + 4; + } + + // float eye_squint_left = 19; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_squint_left = this->_internal_eye_squint_left(); + uint32_t raw_eye_squint_left; + memcpy(&raw_eye_squint_left, &tmp_eye_squint_left, sizeof(tmp_eye_squint_left)); + if (raw_eye_squint_left != 0) { + total_size += 2 + 4; + } + + // float eye_squint_right = 20; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_squint_right = this->_internal_eye_squint_right(); + uint32_t raw_eye_squint_right; + memcpy(&raw_eye_squint_right, &tmp_eye_squint_right, sizeof(tmp_eye_squint_right)); + if (raw_eye_squint_right != 0) { + total_size += 2 + 4; + } + + // float eye_wide_left = 21; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_wide_left = this->_internal_eye_wide_left(); + uint32_t raw_eye_wide_left; + memcpy(&raw_eye_wide_left, &tmp_eye_wide_left, sizeof(tmp_eye_wide_left)); + if (raw_eye_wide_left != 0) { + total_size += 2 + 4; + } + + // float eye_wide_right = 22; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_wide_right = this->_internal_eye_wide_right(); + uint32_t raw_eye_wide_right; + memcpy(&raw_eye_wide_right, &tmp_eye_wide_right, sizeof(tmp_eye_wide_right)); + if (raw_eye_wide_right != 0) { + total_size += 2 + 4; + } + + // float jaw_forward = 23; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_jaw_forward = this->_internal_jaw_forward(); + uint32_t raw_jaw_forward; + memcpy(&raw_jaw_forward, &tmp_jaw_forward, sizeof(tmp_jaw_forward)); + if (raw_jaw_forward != 0) { + total_size += 2 + 4; + } + + // float jaw_left = 24; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_jaw_left = this->_internal_jaw_left(); + uint32_t raw_jaw_left; + memcpy(&raw_jaw_left, &tmp_jaw_left, sizeof(tmp_jaw_left)); + if (raw_jaw_left != 0) { + total_size += 2 + 4; + } + + // float jaw_open = 25; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_jaw_open = this->_internal_jaw_open(); + uint32_t raw_jaw_open; + memcpy(&raw_jaw_open, &tmp_jaw_open, sizeof(tmp_jaw_open)); + if (raw_jaw_open != 0) { + total_size += 2 + 4; + } + + // float jaw_right = 26; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_jaw_right = this->_internal_jaw_right(); + uint32_t raw_jaw_right; + memcpy(&raw_jaw_right, &tmp_jaw_right, sizeof(tmp_jaw_right)); + if (raw_jaw_right != 0) { + total_size += 2 + 4; + } + + // float mouth_close = 27; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_close = this->_internal_mouth_close(); + uint32_t raw_mouth_close; + memcpy(&raw_mouth_close, &tmp_mouth_close, sizeof(tmp_mouth_close)); + if (raw_mouth_close != 0) { + total_size += 2 + 4; + } + + // float mouth_dimple_left = 28; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_dimple_left = this->_internal_mouth_dimple_left(); + uint32_t raw_mouth_dimple_left; + memcpy(&raw_mouth_dimple_left, &tmp_mouth_dimple_left, sizeof(tmp_mouth_dimple_left)); + if (raw_mouth_dimple_left != 0) { + total_size += 2 + 4; + } + + // float mouth_dimple_right = 29; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_dimple_right = this->_internal_mouth_dimple_right(); + uint32_t raw_mouth_dimple_right; + memcpy(&raw_mouth_dimple_right, &tmp_mouth_dimple_right, sizeof(tmp_mouth_dimple_right)); + if (raw_mouth_dimple_right != 0) { + total_size += 2 + 4; + } + + // float mouth_frown_left = 30; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_frown_left = this->_internal_mouth_frown_left(); + uint32_t raw_mouth_frown_left; + memcpy(&raw_mouth_frown_left, &tmp_mouth_frown_left, sizeof(tmp_mouth_frown_left)); + if (raw_mouth_frown_left != 0) { + total_size += 2 + 4; + } + + // float mouth_frown_right = 31; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_frown_right = this->_internal_mouth_frown_right(); + uint32_t raw_mouth_frown_right; + memcpy(&raw_mouth_frown_right, &tmp_mouth_frown_right, sizeof(tmp_mouth_frown_right)); + if (raw_mouth_frown_right != 0) { + total_size += 2 + 4; + } + + // float mouth_funnel = 32; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_funnel = this->_internal_mouth_funnel(); + uint32_t raw_mouth_funnel; + memcpy(&raw_mouth_funnel, &tmp_mouth_funnel, sizeof(tmp_mouth_funnel)); + if (raw_mouth_funnel != 0) { + total_size += 2 + 4; + } + + // float mouth_left = 33; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_left = this->_internal_mouth_left(); + uint32_t raw_mouth_left; + memcpy(&raw_mouth_left, &tmp_mouth_left, sizeof(tmp_mouth_left)); + if (raw_mouth_left != 0) { + total_size += 2 + 4; + } + + // float mouth_lower_down_left = 34; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_lower_down_left = this->_internal_mouth_lower_down_left(); + uint32_t raw_mouth_lower_down_left; + memcpy(&raw_mouth_lower_down_left, &tmp_mouth_lower_down_left, sizeof(tmp_mouth_lower_down_left)); + if (raw_mouth_lower_down_left != 0) { + total_size += 2 + 4; + } + + // float mouth_lower_down_right = 35; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_lower_down_right = this->_internal_mouth_lower_down_right(); + uint32_t raw_mouth_lower_down_right; + memcpy(&raw_mouth_lower_down_right, &tmp_mouth_lower_down_right, sizeof(tmp_mouth_lower_down_right)); + if (raw_mouth_lower_down_right != 0) { + total_size += 2 + 4; + } + + // float mouth_press_left = 36; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_press_left = this->_internal_mouth_press_left(); + uint32_t raw_mouth_press_left; + memcpy(&raw_mouth_press_left, &tmp_mouth_press_left, sizeof(tmp_mouth_press_left)); + if (raw_mouth_press_left != 0) { + total_size += 2 + 4; + } + + // float mouth_press_right = 37; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_press_right = this->_internal_mouth_press_right(); + uint32_t raw_mouth_press_right; + memcpy(&raw_mouth_press_right, &tmp_mouth_press_right, sizeof(tmp_mouth_press_right)); + if (raw_mouth_press_right != 0) { + total_size += 2 + 4; + } + + // float mouth_pucker = 38; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_pucker = this->_internal_mouth_pucker(); + uint32_t raw_mouth_pucker; + memcpy(&raw_mouth_pucker, &tmp_mouth_pucker, sizeof(tmp_mouth_pucker)); + if (raw_mouth_pucker != 0) { + total_size += 2 + 4; + } + + // float mouth_right = 39; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_right = this->_internal_mouth_right(); + uint32_t raw_mouth_right; + memcpy(&raw_mouth_right, &tmp_mouth_right, sizeof(tmp_mouth_right)); + if (raw_mouth_right != 0) { + total_size += 2 + 4; + } + + // float mouth_roll_lower = 40; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_roll_lower = this->_internal_mouth_roll_lower(); + uint32_t raw_mouth_roll_lower; + memcpy(&raw_mouth_roll_lower, &tmp_mouth_roll_lower, sizeof(tmp_mouth_roll_lower)); + if (raw_mouth_roll_lower != 0) { + total_size += 2 + 4; + } + + // float mouth_roll_upper = 41; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_roll_upper = this->_internal_mouth_roll_upper(); + uint32_t raw_mouth_roll_upper; + memcpy(&raw_mouth_roll_upper, &tmp_mouth_roll_upper, sizeof(tmp_mouth_roll_upper)); + if (raw_mouth_roll_upper != 0) { + total_size += 2 + 4; + } + + // float mouth_shrug_lower = 42; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_shrug_lower = this->_internal_mouth_shrug_lower(); + uint32_t raw_mouth_shrug_lower; + memcpy(&raw_mouth_shrug_lower, &tmp_mouth_shrug_lower, sizeof(tmp_mouth_shrug_lower)); + if (raw_mouth_shrug_lower != 0) { + total_size += 2 + 4; + } + + // float mouth_shrug_upper = 43; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_shrug_upper = this->_internal_mouth_shrug_upper(); + uint32_t raw_mouth_shrug_upper; + memcpy(&raw_mouth_shrug_upper, &tmp_mouth_shrug_upper, sizeof(tmp_mouth_shrug_upper)); + if (raw_mouth_shrug_upper != 0) { + total_size += 2 + 4; + } + + // float mouth_smile_left = 44; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_smile_left = this->_internal_mouth_smile_left(); + uint32_t raw_mouth_smile_left; + memcpy(&raw_mouth_smile_left, &tmp_mouth_smile_left, sizeof(tmp_mouth_smile_left)); + if (raw_mouth_smile_left != 0) { + total_size += 2 + 4; + } + + // float mouth_smile_right = 45; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_smile_right = this->_internal_mouth_smile_right(); + uint32_t raw_mouth_smile_right; + memcpy(&raw_mouth_smile_right, &tmp_mouth_smile_right, sizeof(tmp_mouth_smile_right)); + if (raw_mouth_smile_right != 0) { + total_size += 2 + 4; + } + + // float mouth_stretch_left = 46; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_stretch_left = this->_internal_mouth_stretch_left(); + uint32_t raw_mouth_stretch_left; + memcpy(&raw_mouth_stretch_left, &tmp_mouth_stretch_left, sizeof(tmp_mouth_stretch_left)); + if (raw_mouth_stretch_left != 0) { + total_size += 2 + 4; + } + + // float mouth_stretch_right = 47; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_stretch_right = this->_internal_mouth_stretch_right(); + uint32_t raw_mouth_stretch_right; + memcpy(&raw_mouth_stretch_right, &tmp_mouth_stretch_right, sizeof(tmp_mouth_stretch_right)); + if (raw_mouth_stretch_right != 0) { + total_size += 2 + 4; + } + + // float mouth_upper_up_left = 48; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_upper_up_left = this->_internal_mouth_upper_up_left(); + uint32_t raw_mouth_upper_up_left; + memcpy(&raw_mouth_upper_up_left, &tmp_mouth_upper_up_left, sizeof(tmp_mouth_upper_up_left)); + if (raw_mouth_upper_up_left != 0) { + total_size += 2 + 4; + } + + // float mouth_upper_up_right = 49; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_upper_up_right = this->_internal_mouth_upper_up_right(); + uint32_t raw_mouth_upper_up_right; + memcpy(&raw_mouth_upper_up_right, &tmp_mouth_upper_up_right, sizeof(tmp_mouth_upper_up_right)); + if (raw_mouth_upper_up_right != 0) { + total_size += 2 + 4; + } + + // float nose_sneer_left = 50; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_nose_sneer_left = this->_internal_nose_sneer_left(); + uint32_t raw_nose_sneer_left; + memcpy(&raw_nose_sneer_left, &tmp_nose_sneer_left, sizeof(tmp_nose_sneer_left)); + if (raw_nose_sneer_left != 0) { + total_size += 2 + 4; + } + + // float nose_sneer_right = 51; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_nose_sneer_right = this->_internal_nose_sneer_right(); + uint32_t raw_nose_sneer_right; + memcpy(&raw_nose_sneer_right, &tmp_nose_sneer_right, sizeof(tmp_nose_sneer_right)); + if (raw_nose_sneer_right != 0) { + total_size += 2 + 4; + } + + // float tongue_out = 52; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_tongue_out = this->_internal_tongue_out(); + uint32_t raw_tongue_out; + memcpy(&raw_tongue_out, &tmp_tongue_out, sizeof(tmp_tongue_out)); + if (raw_tongue_out != 0) { + total_size += 2 + 4; + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ARKitBlendShapes::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + ARKitBlendShapes::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ARKitBlendShapes::GetClassData() const { return &_class_data_; } + + +void ARKitBlendShapes::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.ARKitBlendShapes) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_brow_down_left = from._internal_brow_down_left(); + uint32_t raw_brow_down_left; + memcpy(&raw_brow_down_left, &tmp_brow_down_left, sizeof(tmp_brow_down_left)); + if (raw_brow_down_left != 0) { + _this->_internal_set_brow_down_left(from._internal_brow_down_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_brow_down_right = from._internal_brow_down_right(); + uint32_t raw_brow_down_right; + memcpy(&raw_brow_down_right, &tmp_brow_down_right, sizeof(tmp_brow_down_right)); + if (raw_brow_down_right != 0) { + _this->_internal_set_brow_down_right(from._internal_brow_down_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_brow_inner_up = from._internal_brow_inner_up(); + uint32_t raw_brow_inner_up; + memcpy(&raw_brow_inner_up, &tmp_brow_inner_up, sizeof(tmp_brow_inner_up)); + if (raw_brow_inner_up != 0) { + _this->_internal_set_brow_inner_up(from._internal_brow_inner_up()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_brow_outer_up_left = from._internal_brow_outer_up_left(); + uint32_t raw_brow_outer_up_left; + memcpy(&raw_brow_outer_up_left, &tmp_brow_outer_up_left, sizeof(tmp_brow_outer_up_left)); + if (raw_brow_outer_up_left != 0) { + _this->_internal_set_brow_outer_up_left(from._internal_brow_outer_up_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_brow_outer_up_right = from._internal_brow_outer_up_right(); + uint32_t raw_brow_outer_up_right; + memcpy(&raw_brow_outer_up_right, &tmp_brow_outer_up_right, sizeof(tmp_brow_outer_up_right)); + if (raw_brow_outer_up_right != 0) { + _this->_internal_set_brow_outer_up_right(from._internal_brow_outer_up_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_cheek_puff = from._internal_cheek_puff(); + uint32_t raw_cheek_puff; + memcpy(&raw_cheek_puff, &tmp_cheek_puff, sizeof(tmp_cheek_puff)); + if (raw_cheek_puff != 0) { + _this->_internal_set_cheek_puff(from._internal_cheek_puff()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_cheek_squint_left = from._internal_cheek_squint_left(); + uint32_t raw_cheek_squint_left; + memcpy(&raw_cheek_squint_left, &tmp_cheek_squint_left, sizeof(tmp_cheek_squint_left)); + if (raw_cheek_squint_left != 0) { + _this->_internal_set_cheek_squint_left(from._internal_cheek_squint_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_cheek_squint_right = from._internal_cheek_squint_right(); + uint32_t raw_cheek_squint_right; + memcpy(&raw_cheek_squint_right, &tmp_cheek_squint_right, sizeof(tmp_cheek_squint_right)); + if (raw_cheek_squint_right != 0) { + _this->_internal_set_cheek_squint_right(from._internal_cheek_squint_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_blink_left = from._internal_eye_blink_left(); + uint32_t raw_eye_blink_left; + memcpy(&raw_eye_blink_left, &tmp_eye_blink_left, sizeof(tmp_eye_blink_left)); + if (raw_eye_blink_left != 0) { + _this->_internal_set_eye_blink_left(from._internal_eye_blink_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_blink_right = from._internal_eye_blink_right(); + uint32_t raw_eye_blink_right; + memcpy(&raw_eye_blink_right, &tmp_eye_blink_right, sizeof(tmp_eye_blink_right)); + if (raw_eye_blink_right != 0) { + _this->_internal_set_eye_blink_right(from._internal_eye_blink_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_down_left = from._internal_eye_look_down_left(); + uint32_t raw_eye_look_down_left; + memcpy(&raw_eye_look_down_left, &tmp_eye_look_down_left, sizeof(tmp_eye_look_down_left)); + if (raw_eye_look_down_left != 0) { + _this->_internal_set_eye_look_down_left(from._internal_eye_look_down_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_down_right = from._internal_eye_look_down_right(); + uint32_t raw_eye_look_down_right; + memcpy(&raw_eye_look_down_right, &tmp_eye_look_down_right, sizeof(tmp_eye_look_down_right)); + if (raw_eye_look_down_right != 0) { + _this->_internal_set_eye_look_down_right(from._internal_eye_look_down_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_in_left = from._internal_eye_look_in_left(); + uint32_t raw_eye_look_in_left; + memcpy(&raw_eye_look_in_left, &tmp_eye_look_in_left, sizeof(tmp_eye_look_in_left)); + if (raw_eye_look_in_left != 0) { + _this->_internal_set_eye_look_in_left(from._internal_eye_look_in_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_in_right = from._internal_eye_look_in_right(); + uint32_t raw_eye_look_in_right; + memcpy(&raw_eye_look_in_right, &tmp_eye_look_in_right, sizeof(tmp_eye_look_in_right)); + if (raw_eye_look_in_right != 0) { + _this->_internal_set_eye_look_in_right(from._internal_eye_look_in_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_out_left = from._internal_eye_look_out_left(); + uint32_t raw_eye_look_out_left; + memcpy(&raw_eye_look_out_left, &tmp_eye_look_out_left, sizeof(tmp_eye_look_out_left)); + if (raw_eye_look_out_left != 0) { + _this->_internal_set_eye_look_out_left(from._internal_eye_look_out_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_out_right = from._internal_eye_look_out_right(); + uint32_t raw_eye_look_out_right; + memcpy(&raw_eye_look_out_right, &tmp_eye_look_out_right, sizeof(tmp_eye_look_out_right)); + if (raw_eye_look_out_right != 0) { + _this->_internal_set_eye_look_out_right(from._internal_eye_look_out_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_up_left = from._internal_eye_look_up_left(); + uint32_t raw_eye_look_up_left; + memcpy(&raw_eye_look_up_left, &tmp_eye_look_up_left, sizeof(tmp_eye_look_up_left)); + if (raw_eye_look_up_left != 0) { + _this->_internal_set_eye_look_up_left(from._internal_eye_look_up_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_look_up_right = from._internal_eye_look_up_right(); + uint32_t raw_eye_look_up_right; + memcpy(&raw_eye_look_up_right, &tmp_eye_look_up_right, sizeof(tmp_eye_look_up_right)); + if (raw_eye_look_up_right != 0) { + _this->_internal_set_eye_look_up_right(from._internal_eye_look_up_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_squint_left = from._internal_eye_squint_left(); + uint32_t raw_eye_squint_left; + memcpy(&raw_eye_squint_left, &tmp_eye_squint_left, sizeof(tmp_eye_squint_left)); + if (raw_eye_squint_left != 0) { + _this->_internal_set_eye_squint_left(from._internal_eye_squint_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_squint_right = from._internal_eye_squint_right(); + uint32_t raw_eye_squint_right; + memcpy(&raw_eye_squint_right, &tmp_eye_squint_right, sizeof(tmp_eye_squint_right)); + if (raw_eye_squint_right != 0) { + _this->_internal_set_eye_squint_right(from._internal_eye_squint_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_wide_left = from._internal_eye_wide_left(); + uint32_t raw_eye_wide_left; + memcpy(&raw_eye_wide_left, &tmp_eye_wide_left, sizeof(tmp_eye_wide_left)); + if (raw_eye_wide_left != 0) { + _this->_internal_set_eye_wide_left(from._internal_eye_wide_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_eye_wide_right = from._internal_eye_wide_right(); + uint32_t raw_eye_wide_right; + memcpy(&raw_eye_wide_right, &tmp_eye_wide_right, sizeof(tmp_eye_wide_right)); + if (raw_eye_wide_right != 0) { + _this->_internal_set_eye_wide_right(from._internal_eye_wide_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_jaw_forward = from._internal_jaw_forward(); + uint32_t raw_jaw_forward; + memcpy(&raw_jaw_forward, &tmp_jaw_forward, sizeof(tmp_jaw_forward)); + if (raw_jaw_forward != 0) { + _this->_internal_set_jaw_forward(from._internal_jaw_forward()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_jaw_left = from._internal_jaw_left(); + uint32_t raw_jaw_left; + memcpy(&raw_jaw_left, &tmp_jaw_left, sizeof(tmp_jaw_left)); + if (raw_jaw_left != 0) { + _this->_internal_set_jaw_left(from._internal_jaw_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_jaw_open = from._internal_jaw_open(); + uint32_t raw_jaw_open; + memcpy(&raw_jaw_open, &tmp_jaw_open, sizeof(tmp_jaw_open)); + if (raw_jaw_open != 0) { + _this->_internal_set_jaw_open(from._internal_jaw_open()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_jaw_right = from._internal_jaw_right(); + uint32_t raw_jaw_right; + memcpy(&raw_jaw_right, &tmp_jaw_right, sizeof(tmp_jaw_right)); + if (raw_jaw_right != 0) { + _this->_internal_set_jaw_right(from._internal_jaw_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_close = from._internal_mouth_close(); + uint32_t raw_mouth_close; + memcpy(&raw_mouth_close, &tmp_mouth_close, sizeof(tmp_mouth_close)); + if (raw_mouth_close != 0) { + _this->_internal_set_mouth_close(from._internal_mouth_close()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_dimple_left = from._internal_mouth_dimple_left(); + uint32_t raw_mouth_dimple_left; + memcpy(&raw_mouth_dimple_left, &tmp_mouth_dimple_left, sizeof(tmp_mouth_dimple_left)); + if (raw_mouth_dimple_left != 0) { + _this->_internal_set_mouth_dimple_left(from._internal_mouth_dimple_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_dimple_right = from._internal_mouth_dimple_right(); + uint32_t raw_mouth_dimple_right; + memcpy(&raw_mouth_dimple_right, &tmp_mouth_dimple_right, sizeof(tmp_mouth_dimple_right)); + if (raw_mouth_dimple_right != 0) { + _this->_internal_set_mouth_dimple_right(from._internal_mouth_dimple_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_frown_left = from._internal_mouth_frown_left(); + uint32_t raw_mouth_frown_left; + memcpy(&raw_mouth_frown_left, &tmp_mouth_frown_left, sizeof(tmp_mouth_frown_left)); + if (raw_mouth_frown_left != 0) { + _this->_internal_set_mouth_frown_left(from._internal_mouth_frown_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_frown_right = from._internal_mouth_frown_right(); + uint32_t raw_mouth_frown_right; + memcpy(&raw_mouth_frown_right, &tmp_mouth_frown_right, sizeof(tmp_mouth_frown_right)); + if (raw_mouth_frown_right != 0) { + _this->_internal_set_mouth_frown_right(from._internal_mouth_frown_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_funnel = from._internal_mouth_funnel(); + uint32_t raw_mouth_funnel; + memcpy(&raw_mouth_funnel, &tmp_mouth_funnel, sizeof(tmp_mouth_funnel)); + if (raw_mouth_funnel != 0) { + _this->_internal_set_mouth_funnel(from._internal_mouth_funnel()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_left = from._internal_mouth_left(); + uint32_t raw_mouth_left; + memcpy(&raw_mouth_left, &tmp_mouth_left, sizeof(tmp_mouth_left)); + if (raw_mouth_left != 0) { + _this->_internal_set_mouth_left(from._internal_mouth_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_lower_down_left = from._internal_mouth_lower_down_left(); + uint32_t raw_mouth_lower_down_left; + memcpy(&raw_mouth_lower_down_left, &tmp_mouth_lower_down_left, sizeof(tmp_mouth_lower_down_left)); + if (raw_mouth_lower_down_left != 0) { + _this->_internal_set_mouth_lower_down_left(from._internal_mouth_lower_down_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_lower_down_right = from._internal_mouth_lower_down_right(); + uint32_t raw_mouth_lower_down_right; + memcpy(&raw_mouth_lower_down_right, &tmp_mouth_lower_down_right, sizeof(tmp_mouth_lower_down_right)); + if (raw_mouth_lower_down_right != 0) { + _this->_internal_set_mouth_lower_down_right(from._internal_mouth_lower_down_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_press_left = from._internal_mouth_press_left(); + uint32_t raw_mouth_press_left; + memcpy(&raw_mouth_press_left, &tmp_mouth_press_left, sizeof(tmp_mouth_press_left)); + if (raw_mouth_press_left != 0) { + _this->_internal_set_mouth_press_left(from._internal_mouth_press_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_press_right = from._internal_mouth_press_right(); + uint32_t raw_mouth_press_right; + memcpy(&raw_mouth_press_right, &tmp_mouth_press_right, sizeof(tmp_mouth_press_right)); + if (raw_mouth_press_right != 0) { + _this->_internal_set_mouth_press_right(from._internal_mouth_press_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_pucker = from._internal_mouth_pucker(); + uint32_t raw_mouth_pucker; + memcpy(&raw_mouth_pucker, &tmp_mouth_pucker, sizeof(tmp_mouth_pucker)); + if (raw_mouth_pucker != 0) { + _this->_internal_set_mouth_pucker(from._internal_mouth_pucker()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_right = from._internal_mouth_right(); + uint32_t raw_mouth_right; + memcpy(&raw_mouth_right, &tmp_mouth_right, sizeof(tmp_mouth_right)); + if (raw_mouth_right != 0) { + _this->_internal_set_mouth_right(from._internal_mouth_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_roll_lower = from._internal_mouth_roll_lower(); + uint32_t raw_mouth_roll_lower; + memcpy(&raw_mouth_roll_lower, &tmp_mouth_roll_lower, sizeof(tmp_mouth_roll_lower)); + if (raw_mouth_roll_lower != 0) { + _this->_internal_set_mouth_roll_lower(from._internal_mouth_roll_lower()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_roll_upper = from._internal_mouth_roll_upper(); + uint32_t raw_mouth_roll_upper; + memcpy(&raw_mouth_roll_upper, &tmp_mouth_roll_upper, sizeof(tmp_mouth_roll_upper)); + if (raw_mouth_roll_upper != 0) { + _this->_internal_set_mouth_roll_upper(from._internal_mouth_roll_upper()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_shrug_lower = from._internal_mouth_shrug_lower(); + uint32_t raw_mouth_shrug_lower; + memcpy(&raw_mouth_shrug_lower, &tmp_mouth_shrug_lower, sizeof(tmp_mouth_shrug_lower)); + if (raw_mouth_shrug_lower != 0) { + _this->_internal_set_mouth_shrug_lower(from._internal_mouth_shrug_lower()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_shrug_upper = from._internal_mouth_shrug_upper(); + uint32_t raw_mouth_shrug_upper; + memcpy(&raw_mouth_shrug_upper, &tmp_mouth_shrug_upper, sizeof(tmp_mouth_shrug_upper)); + if (raw_mouth_shrug_upper != 0) { + _this->_internal_set_mouth_shrug_upper(from._internal_mouth_shrug_upper()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_smile_left = from._internal_mouth_smile_left(); + uint32_t raw_mouth_smile_left; + memcpy(&raw_mouth_smile_left, &tmp_mouth_smile_left, sizeof(tmp_mouth_smile_left)); + if (raw_mouth_smile_left != 0) { + _this->_internal_set_mouth_smile_left(from._internal_mouth_smile_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_smile_right = from._internal_mouth_smile_right(); + uint32_t raw_mouth_smile_right; + memcpy(&raw_mouth_smile_right, &tmp_mouth_smile_right, sizeof(tmp_mouth_smile_right)); + if (raw_mouth_smile_right != 0) { + _this->_internal_set_mouth_smile_right(from._internal_mouth_smile_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_stretch_left = from._internal_mouth_stretch_left(); + uint32_t raw_mouth_stretch_left; + memcpy(&raw_mouth_stretch_left, &tmp_mouth_stretch_left, sizeof(tmp_mouth_stretch_left)); + if (raw_mouth_stretch_left != 0) { + _this->_internal_set_mouth_stretch_left(from._internal_mouth_stretch_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_stretch_right = from._internal_mouth_stretch_right(); + uint32_t raw_mouth_stretch_right; + memcpy(&raw_mouth_stretch_right, &tmp_mouth_stretch_right, sizeof(tmp_mouth_stretch_right)); + if (raw_mouth_stretch_right != 0) { + _this->_internal_set_mouth_stretch_right(from._internal_mouth_stretch_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_upper_up_left = from._internal_mouth_upper_up_left(); + uint32_t raw_mouth_upper_up_left; + memcpy(&raw_mouth_upper_up_left, &tmp_mouth_upper_up_left, sizeof(tmp_mouth_upper_up_left)); + if (raw_mouth_upper_up_left != 0) { + _this->_internal_set_mouth_upper_up_left(from._internal_mouth_upper_up_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_mouth_upper_up_right = from._internal_mouth_upper_up_right(); + uint32_t raw_mouth_upper_up_right; + memcpy(&raw_mouth_upper_up_right, &tmp_mouth_upper_up_right, sizeof(tmp_mouth_upper_up_right)); + if (raw_mouth_upper_up_right != 0) { + _this->_internal_set_mouth_upper_up_right(from._internal_mouth_upper_up_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_nose_sneer_left = from._internal_nose_sneer_left(); + uint32_t raw_nose_sneer_left; + memcpy(&raw_nose_sneer_left, &tmp_nose_sneer_left, sizeof(tmp_nose_sneer_left)); + if (raw_nose_sneer_left != 0) { + _this->_internal_set_nose_sneer_left(from._internal_nose_sneer_left()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_nose_sneer_right = from._internal_nose_sneer_right(); + uint32_t raw_nose_sneer_right; + memcpy(&raw_nose_sneer_right, &tmp_nose_sneer_right, sizeof(tmp_nose_sneer_right)); + if (raw_nose_sneer_right != 0) { + _this->_internal_set_nose_sneer_right(from._internal_nose_sneer_right()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_tongue_out = from._internal_tongue_out(); + uint32_t raw_tongue_out; + memcpy(&raw_tongue_out, &tmp_tongue_out, sizeof(tmp_tongue_out)); + if (raw_tongue_out != 0) { + _this->_internal_set_tongue_out(from._internal_tongue_out()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ARKitBlendShapes::CopyFrom(const ARKitBlendShapes& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.ARKitBlendShapes) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ARKitBlendShapes::IsInitialized() const { + return true; +} + +void ARKitBlendShapes::InternalSwap(ARKitBlendShapes* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(ARKitBlendShapes, _impl_.tongue_out_) + + sizeof(ARKitBlendShapes::_impl_.tongue_out_) + - PROTOBUF_FIELD_OFFSET(ARKitBlendShapes, _impl_.brow_down_left_)>( + reinterpret_cast(&_impl_.brow_down_left_), + reinterpret_cast(&other->_impl_.brow_down_left_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ARKitBlendShapes::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_arkit_5fblend_5fshapes_2eproto_getter, &descriptor_table_arkit_5fblend_5fshapes_2eproto_once, + file_level_metadata_arkit_5fblend_5fshapes_2eproto[1]); +} + +// @@protoc_insertion_point(namespace_scope) +} // namespace service +PROTOBUF_NAMESPACE_OPEN +template<> PROTOBUF_NOINLINE ::service::ARKitBlendShapesData* +Arena::CreateMaybeMessage< ::service::ARKitBlendShapesData >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::ARKitBlendShapesData >(arena); +} +template<> PROTOBUF_NOINLINE ::service::ARKitBlendShapes* +Arena::CreateMaybeMessage< ::service::ARKitBlendShapes >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::ARKitBlendShapes >(arena); +} +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) +#include + +#endif diff --git a/ConvAI/Convai/Source/Convai/Private/Proto/arkit_blend_shapes.pb.h b/ConvAI/Convai/Source/Convai/Private/Proto/arkit_blend_shapes.pb.h new file mode 100644 index 0000000..c8398b3 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/Proto/arkit_blend_shapes.pb.h @@ -0,0 +1,4170 @@ +#if defined(_WIN32) || defined(__ANDROID__) +#if defined(_MSC_VER) + #pragma warning (disable:4018) // 'expression' : signed/unsigned mismatch + #pragma warning (disable:4065) // switch statement contains 'default' but no 'case' labels + #pragma warning (disable:4146) // unary minus operator applied to unsigned type, result still unsigned + #pragma warning (disable:4244) // 'conversion' conversion from 'type1' to 'type2', possible loss of data + #pragma warning (disable:4251) // 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' + #pragma warning (disable:4267) // 'var' : conversion from 'size_t' to 'type', possible loss of data + #pragma warning (disable:4305) // 'identifier' : truncation from 'type1' to 'type2' + #pragma warning (disable:4307) // 'operator' : integral constant overflow + #pragma warning (disable:4309) // 'conversion' : truncation of constant value + #pragma warning (disable:4334) // 'operator' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) + #pragma warning (disable:4355) // 'this' : used in base member initializer list + #pragma warning (disable:4506) // no definition for inline function 'function' + #pragma warning (disable:4996) // The compiler encountered a deprecated declaration. + #pragma warning (disable:4125) // decimal digit terminates octal escape sequence + #pragma warning (disable:4800) // decimal digit terminates octal escape sequence + #endif + + // Generated by the protocol buffer compiler. DO NOT EDIT! +// source: arkit_blend_shapes.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_arkit_5fblend_5fshapes_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_arkit_5fblend_5fshapes_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3014000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3014000 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_arkit_5fblend_5fshapes_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_arkit_5fblend_5fshapes_2eproto { + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[2] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; + static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; + static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_arkit_5fblend_5fshapes_2eproto; +namespace service { +class ARKitBlendShapes; +class ARKitBlendShapesDefaultTypeInternal; +extern ARKitBlendShapesDefaultTypeInternal _ARKitBlendShapes_default_instance_; +class ARKitBlendShapesData; +class ARKitBlendShapesDataDefaultTypeInternal; +extern ARKitBlendShapesDataDefaultTypeInternal _ARKitBlendShapesData_default_instance_; +} // namespace service +PROTOBUF_NAMESPACE_OPEN +template<> ::service::ARKitBlendShapes* Arena::CreateMaybeMessage<::service::ARKitBlendShapes>(Arena*); +template<> ::service::ARKitBlendShapesData* Arena::CreateMaybeMessage<::service::ARKitBlendShapesData>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace service { + +// =================================================================== + +class ARKitBlendShapesData PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.ARKitBlendShapesData) */ { + public: + inline ARKitBlendShapesData() : ARKitBlendShapesData(nullptr) {} + virtual ~ARKitBlendShapesData(); + + ARKitBlendShapesData(const ARKitBlendShapesData& from); + ARKitBlendShapesData(ARKitBlendShapesData&& from) noexcept + : ARKitBlendShapesData() { + *this = ::std::move(from); + } + + inline ARKitBlendShapesData& operator=(const ARKitBlendShapesData& from) { + CopyFrom(from); + return *this; + } + inline ARKitBlendShapesData& operator=(ARKitBlendShapesData&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const ARKitBlendShapesData& default_instance(); + + static inline const ARKitBlendShapesData* internal_default_instance() { + return reinterpret_cast( + &_ARKitBlendShapesData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(ARKitBlendShapesData& a, ARKitBlendShapesData& b) { + a.Swap(&b); + } + inline void Swap(ARKitBlendShapesData* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ARKitBlendShapesData* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ARKitBlendShapesData* New() const final { + return CreateMaybeMessage(nullptr); + } + + ARKitBlendShapesData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const ARKitBlendShapesData& from); + void MergeFrom(const ARKitBlendShapesData& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ARKitBlendShapesData* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.ARKitBlendShapesData"; + } + protected: + explicit ARKitBlendShapesData(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_arkit_5fblend_5fshapes_2eproto); + return ::descriptor_table_arkit_5fblend_5fshapes_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kArKitBlendShapesFieldNumber = 1, + }; + // .service.ARKitBlendShapes ar_kit_blend_shapes = 1; + bool has_ar_kit_blend_shapes() const; + private: + bool _internal_has_ar_kit_blend_shapes() const; + public: + void clear_ar_kit_blend_shapes(); + const ::service::ARKitBlendShapes& ar_kit_blend_shapes() const; + ::service::ARKitBlendShapes* release_ar_kit_blend_shapes(); + ::service::ARKitBlendShapes* mutable_ar_kit_blend_shapes(); + void set_allocated_ar_kit_blend_shapes(::service::ARKitBlendShapes* ar_kit_blend_shapes); + private: + const ::service::ARKitBlendShapes& _internal_ar_kit_blend_shapes() const; + ::service::ARKitBlendShapes* _internal_mutable_ar_kit_blend_shapes(); + public: + void unsafe_arena_set_allocated_ar_kit_blend_shapes( + ::service::ARKitBlendShapes* ar_kit_blend_shapes); + ::service::ARKitBlendShapes* unsafe_arena_release_ar_kit_blend_shapes(); + + // @@protoc_insertion_point(class_scope:service.ARKitBlendShapesData) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::service::ARKitBlendShapes* ar_kit_blend_shapes_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_arkit_5fblend_5fshapes_2eproto; +}; +// ------------------------------------------------------------------- + +class ARKitBlendShapes PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.ARKitBlendShapes) */ { + public: + inline ARKitBlendShapes() : ARKitBlendShapes(nullptr) {} + virtual ~ARKitBlendShapes(); + + ARKitBlendShapes(const ARKitBlendShapes& from); + ARKitBlendShapes(ARKitBlendShapes&& from) noexcept + : ARKitBlendShapes() { + *this = ::std::move(from); + } + + inline ARKitBlendShapes& operator=(const ARKitBlendShapes& from) { + CopyFrom(from); + return *this; + } + inline ARKitBlendShapes& operator=(ARKitBlendShapes&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const ARKitBlendShapes& default_instance(); + + static inline const ARKitBlendShapes* internal_default_instance() { + return reinterpret_cast( + &_ARKitBlendShapes_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + friend void swap(ARKitBlendShapes& a, ARKitBlendShapes& b) { + a.Swap(&b); + } + inline void Swap(ARKitBlendShapes* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ARKitBlendShapes* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ARKitBlendShapes* New() const final { + return CreateMaybeMessage(nullptr); + } + + ARKitBlendShapes* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const ARKitBlendShapes& from); + void MergeFrom(const ARKitBlendShapes& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ARKitBlendShapes* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.ARKitBlendShapes"; + } + protected: + explicit ARKitBlendShapes(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_arkit_5fblend_5fshapes_2eproto); + return ::descriptor_table_arkit_5fblend_5fshapes_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kBrowDownLeftFieldNumber = 1, + kBrowDownRightFieldNumber = 2, + kBrowInnerUpFieldNumber = 3, + kBrowOuterUpLeftFieldNumber = 4, + kBrowOuterUpRightFieldNumber = 5, + kCheekPuffFieldNumber = 6, + kCheekSquintLeftFieldNumber = 7, + kCheekSquintRightFieldNumber = 8, + kEyeBlinkLeftFieldNumber = 9, + kEyeBlinkRightFieldNumber = 10, + kEyeLookDownLeftFieldNumber = 11, + kEyeLookDownRightFieldNumber = 12, + kEyeLookInLeftFieldNumber = 13, + kEyeLookInRightFieldNumber = 14, + kEyeLookOutLeftFieldNumber = 15, + kEyeLookOutRightFieldNumber = 16, + kEyeLookUpLeftFieldNumber = 17, + kEyeLookUpRightFieldNumber = 18, + kEyeSquintLeftFieldNumber = 19, + kEyeSquintRightFieldNumber = 20, + kEyeWideLeftFieldNumber = 21, + kEyeWideRightFieldNumber = 22, + kJawForwardFieldNumber = 23, + kJawLeftFieldNumber = 24, + kJawOpenFieldNumber = 25, + kJawRightFieldNumber = 26, + kMouthCloseFieldNumber = 27, + kMouthDimpleLeftFieldNumber = 28, + kMouthDimpleRightFieldNumber = 29, + kMouthFrownLeftFieldNumber = 30, + kMouthFrownRightFieldNumber = 31, + kMouthFunnelFieldNumber = 32, + kMouthLeftFieldNumber = 33, + kMouthLowerDownLeftFieldNumber = 34, + kMouthLowerDownRightFieldNumber = 35, + kMouthPressLeftFieldNumber = 36, + kMouthPressRightFieldNumber = 37, + kMouthPuckerFieldNumber = 38, + kMouthRightFieldNumber = 39, + kMouthRollLowerFieldNumber = 40, + kMouthRollUpperFieldNumber = 41, + kMouthShrugLowerFieldNumber = 42, + kMouthShrugUpperFieldNumber = 43, + kMouthSmileLeftFieldNumber = 44, + kMouthSmileRightFieldNumber = 45, + kMouthStretchLeftFieldNumber = 46, + kMouthStretchRightFieldNumber = 47, + kMouthUpperUpLeftFieldNumber = 48, + kMouthUpperUpRightFieldNumber = 49, + kNoseSneerLeftFieldNumber = 50, + kNoseSneerRightFieldNumber = 51, + kTongueOutFieldNumber = 52, + }; + // float brow_down_left = 1; + void clear_brow_down_left(); + float brow_down_left() const; + void set_brow_down_left(float value); + private: + float _internal_brow_down_left() const; + void _internal_set_brow_down_left(float value); + public: + + // float brow_down_right = 2; + void clear_brow_down_right(); + float brow_down_right() const; + void set_brow_down_right(float value); + private: + float _internal_brow_down_right() const; + void _internal_set_brow_down_right(float value); + public: + + // float brow_inner_up = 3; + void clear_brow_inner_up(); + float brow_inner_up() const; + void set_brow_inner_up(float value); + private: + float _internal_brow_inner_up() const; + void _internal_set_brow_inner_up(float value); + public: + + // float brow_outer_up_left = 4; + void clear_brow_outer_up_left(); + float brow_outer_up_left() const; + void set_brow_outer_up_left(float value); + private: + float _internal_brow_outer_up_left() const; + void _internal_set_brow_outer_up_left(float value); + public: + + // float brow_outer_up_right = 5; + void clear_brow_outer_up_right(); + float brow_outer_up_right() const; + void set_brow_outer_up_right(float value); + private: + float _internal_brow_outer_up_right() const; + void _internal_set_brow_outer_up_right(float value); + public: + + // float cheek_puff = 6; + void clear_cheek_puff(); + float cheek_puff() const; + void set_cheek_puff(float value); + private: + float _internal_cheek_puff() const; + void _internal_set_cheek_puff(float value); + public: + + // float cheek_squint_left = 7; + void clear_cheek_squint_left(); + float cheek_squint_left() const; + void set_cheek_squint_left(float value); + private: + float _internal_cheek_squint_left() const; + void _internal_set_cheek_squint_left(float value); + public: + + // float cheek_squint_right = 8; + void clear_cheek_squint_right(); + float cheek_squint_right() const; + void set_cheek_squint_right(float value); + private: + float _internal_cheek_squint_right() const; + void _internal_set_cheek_squint_right(float value); + public: + + // float eye_blink_left = 9; + void clear_eye_blink_left(); + float eye_blink_left() const; + void set_eye_blink_left(float value); + private: + float _internal_eye_blink_left() const; + void _internal_set_eye_blink_left(float value); + public: + + // float eye_blink_right = 10; + void clear_eye_blink_right(); + float eye_blink_right() const; + void set_eye_blink_right(float value); + private: + float _internal_eye_blink_right() const; + void _internal_set_eye_blink_right(float value); + public: + + // float eye_look_down_left = 11; + void clear_eye_look_down_left(); + float eye_look_down_left() const; + void set_eye_look_down_left(float value); + private: + float _internal_eye_look_down_left() const; + void _internal_set_eye_look_down_left(float value); + public: + + // float eye_look_down_right = 12; + void clear_eye_look_down_right(); + float eye_look_down_right() const; + void set_eye_look_down_right(float value); + private: + float _internal_eye_look_down_right() const; + void _internal_set_eye_look_down_right(float value); + public: + + // float eye_look_in_left = 13; + void clear_eye_look_in_left(); + float eye_look_in_left() const; + void set_eye_look_in_left(float value); + private: + float _internal_eye_look_in_left() const; + void _internal_set_eye_look_in_left(float value); + public: + + // float eye_look_in_right = 14; + void clear_eye_look_in_right(); + float eye_look_in_right() const; + void set_eye_look_in_right(float value); + private: + float _internal_eye_look_in_right() const; + void _internal_set_eye_look_in_right(float value); + public: + + // float eye_look_out_left = 15; + void clear_eye_look_out_left(); + float eye_look_out_left() const; + void set_eye_look_out_left(float value); + private: + float _internal_eye_look_out_left() const; + void _internal_set_eye_look_out_left(float value); + public: + + // float eye_look_out_right = 16; + void clear_eye_look_out_right(); + float eye_look_out_right() const; + void set_eye_look_out_right(float value); + private: + float _internal_eye_look_out_right() const; + void _internal_set_eye_look_out_right(float value); + public: + + // float eye_look_up_left = 17; + void clear_eye_look_up_left(); + float eye_look_up_left() const; + void set_eye_look_up_left(float value); + private: + float _internal_eye_look_up_left() const; + void _internal_set_eye_look_up_left(float value); + public: + + // float eye_look_up_right = 18; + void clear_eye_look_up_right(); + float eye_look_up_right() const; + void set_eye_look_up_right(float value); + private: + float _internal_eye_look_up_right() const; + void _internal_set_eye_look_up_right(float value); + public: + + // float eye_squint_left = 19; + void clear_eye_squint_left(); + float eye_squint_left() const; + void set_eye_squint_left(float value); + private: + float _internal_eye_squint_left() const; + void _internal_set_eye_squint_left(float value); + public: + + // float eye_squint_right = 20; + void clear_eye_squint_right(); + float eye_squint_right() const; + void set_eye_squint_right(float value); + private: + float _internal_eye_squint_right() const; + void _internal_set_eye_squint_right(float value); + public: + + // float eye_wide_left = 21; + void clear_eye_wide_left(); + float eye_wide_left() const; + void set_eye_wide_left(float value); + private: + float _internal_eye_wide_left() const; + void _internal_set_eye_wide_left(float value); + public: + + // float eye_wide_right = 22; + void clear_eye_wide_right(); + float eye_wide_right() const; + void set_eye_wide_right(float value); + private: + float _internal_eye_wide_right() const; + void _internal_set_eye_wide_right(float value); + public: + + // float jaw_forward = 23; + void clear_jaw_forward(); + float jaw_forward() const; + void set_jaw_forward(float value); + private: + float _internal_jaw_forward() const; + void _internal_set_jaw_forward(float value); + public: + + // float jaw_left = 24; + void clear_jaw_left(); + float jaw_left() const; + void set_jaw_left(float value); + private: + float _internal_jaw_left() const; + void _internal_set_jaw_left(float value); + public: + + // float jaw_open = 25; + void clear_jaw_open(); + float jaw_open() const; + void set_jaw_open(float value); + private: + float _internal_jaw_open() const; + void _internal_set_jaw_open(float value); + public: + + // float jaw_right = 26; + void clear_jaw_right(); + float jaw_right() const; + void set_jaw_right(float value); + private: + float _internal_jaw_right() const; + void _internal_set_jaw_right(float value); + public: + + // float mouth_close = 27; + void clear_mouth_close(); + float mouth_close() const; + void set_mouth_close(float value); + private: + float _internal_mouth_close() const; + void _internal_set_mouth_close(float value); + public: + + // float mouth_dimple_left = 28; + void clear_mouth_dimple_left(); + float mouth_dimple_left() const; + void set_mouth_dimple_left(float value); + private: + float _internal_mouth_dimple_left() const; + void _internal_set_mouth_dimple_left(float value); + public: + + // float mouth_dimple_right = 29; + void clear_mouth_dimple_right(); + float mouth_dimple_right() const; + void set_mouth_dimple_right(float value); + private: + float _internal_mouth_dimple_right() const; + void _internal_set_mouth_dimple_right(float value); + public: + + // float mouth_frown_left = 30; + void clear_mouth_frown_left(); + float mouth_frown_left() const; + void set_mouth_frown_left(float value); + private: + float _internal_mouth_frown_left() const; + void _internal_set_mouth_frown_left(float value); + public: + + // float mouth_frown_right = 31; + void clear_mouth_frown_right(); + float mouth_frown_right() const; + void set_mouth_frown_right(float value); + private: + float _internal_mouth_frown_right() const; + void _internal_set_mouth_frown_right(float value); + public: + + // float mouth_funnel = 32; + void clear_mouth_funnel(); + float mouth_funnel() const; + void set_mouth_funnel(float value); + private: + float _internal_mouth_funnel() const; + void _internal_set_mouth_funnel(float value); + public: + + // float mouth_left = 33; + void clear_mouth_left(); + float mouth_left() const; + void set_mouth_left(float value); + private: + float _internal_mouth_left() const; + void _internal_set_mouth_left(float value); + public: + + // float mouth_lower_down_left = 34; + void clear_mouth_lower_down_left(); + float mouth_lower_down_left() const; + void set_mouth_lower_down_left(float value); + private: + float _internal_mouth_lower_down_left() const; + void _internal_set_mouth_lower_down_left(float value); + public: + + // float mouth_lower_down_right = 35; + void clear_mouth_lower_down_right(); + float mouth_lower_down_right() const; + void set_mouth_lower_down_right(float value); + private: + float _internal_mouth_lower_down_right() const; + void _internal_set_mouth_lower_down_right(float value); + public: + + // float mouth_press_left = 36; + void clear_mouth_press_left(); + float mouth_press_left() const; + void set_mouth_press_left(float value); + private: + float _internal_mouth_press_left() const; + void _internal_set_mouth_press_left(float value); + public: + + // float mouth_press_right = 37; + void clear_mouth_press_right(); + float mouth_press_right() const; + void set_mouth_press_right(float value); + private: + float _internal_mouth_press_right() const; + void _internal_set_mouth_press_right(float value); + public: + + // float mouth_pucker = 38; + void clear_mouth_pucker(); + float mouth_pucker() const; + void set_mouth_pucker(float value); + private: + float _internal_mouth_pucker() const; + void _internal_set_mouth_pucker(float value); + public: + + // float mouth_right = 39; + void clear_mouth_right(); + float mouth_right() const; + void set_mouth_right(float value); + private: + float _internal_mouth_right() const; + void _internal_set_mouth_right(float value); + public: + + // float mouth_roll_lower = 40; + void clear_mouth_roll_lower(); + float mouth_roll_lower() const; + void set_mouth_roll_lower(float value); + private: + float _internal_mouth_roll_lower() const; + void _internal_set_mouth_roll_lower(float value); + public: + + // float mouth_roll_upper = 41; + void clear_mouth_roll_upper(); + float mouth_roll_upper() const; + void set_mouth_roll_upper(float value); + private: + float _internal_mouth_roll_upper() const; + void _internal_set_mouth_roll_upper(float value); + public: + + // float mouth_shrug_lower = 42; + void clear_mouth_shrug_lower(); + float mouth_shrug_lower() const; + void set_mouth_shrug_lower(float value); + private: + float _internal_mouth_shrug_lower() const; + void _internal_set_mouth_shrug_lower(float value); + public: + + // float mouth_shrug_upper = 43; + void clear_mouth_shrug_upper(); + float mouth_shrug_upper() const; + void set_mouth_shrug_upper(float value); + private: + float _internal_mouth_shrug_upper() const; + void _internal_set_mouth_shrug_upper(float value); + public: + + // float mouth_smile_left = 44; + void clear_mouth_smile_left(); + float mouth_smile_left() const; + void set_mouth_smile_left(float value); + private: + float _internal_mouth_smile_left() const; + void _internal_set_mouth_smile_left(float value); + public: + + // float mouth_smile_right = 45; + void clear_mouth_smile_right(); + float mouth_smile_right() const; + void set_mouth_smile_right(float value); + private: + float _internal_mouth_smile_right() const; + void _internal_set_mouth_smile_right(float value); + public: + + // float mouth_stretch_left = 46; + void clear_mouth_stretch_left(); + float mouth_stretch_left() const; + void set_mouth_stretch_left(float value); + private: + float _internal_mouth_stretch_left() const; + void _internal_set_mouth_stretch_left(float value); + public: + + // float mouth_stretch_right = 47; + void clear_mouth_stretch_right(); + float mouth_stretch_right() const; + void set_mouth_stretch_right(float value); + private: + float _internal_mouth_stretch_right() const; + void _internal_set_mouth_stretch_right(float value); + public: + + // float mouth_upper_up_left = 48; + void clear_mouth_upper_up_left(); + float mouth_upper_up_left() const; + void set_mouth_upper_up_left(float value); + private: + float _internal_mouth_upper_up_left() const; + void _internal_set_mouth_upper_up_left(float value); + public: + + // float mouth_upper_up_right = 49; + void clear_mouth_upper_up_right(); + float mouth_upper_up_right() const; + void set_mouth_upper_up_right(float value); + private: + float _internal_mouth_upper_up_right() const; + void _internal_set_mouth_upper_up_right(float value); + public: + + // float nose_sneer_left = 50; + void clear_nose_sneer_left(); + float nose_sneer_left() const; + void set_nose_sneer_left(float value); + private: + float _internal_nose_sneer_left() const; + void _internal_set_nose_sneer_left(float value); + public: + + // float nose_sneer_right = 51; + void clear_nose_sneer_right(); + float nose_sneer_right() const; + void set_nose_sneer_right(float value); + private: + float _internal_nose_sneer_right() const; + void _internal_set_nose_sneer_right(float value); + public: + + // float tongue_out = 52; + void clear_tongue_out(); + float tongue_out() const; + void set_tongue_out(float value); + private: + float _internal_tongue_out() const; + void _internal_set_tongue_out(float value); + public: + + // @@protoc_insertion_point(class_scope:service.ARKitBlendShapes) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + float brow_down_left_; + float brow_down_right_; + float brow_inner_up_; + float brow_outer_up_left_; + float brow_outer_up_right_; + float cheek_puff_; + float cheek_squint_left_; + float cheek_squint_right_; + float eye_blink_left_; + float eye_blink_right_; + float eye_look_down_left_; + float eye_look_down_right_; + float eye_look_in_left_; + float eye_look_in_right_; + float eye_look_out_left_; + float eye_look_out_right_; + float eye_look_up_left_; + float eye_look_up_right_; + float eye_squint_left_; + float eye_squint_right_; + float eye_wide_left_; + float eye_wide_right_; + float jaw_forward_; + float jaw_left_; + float jaw_open_; + float jaw_right_; + float mouth_close_; + float mouth_dimple_left_; + float mouth_dimple_right_; + float mouth_frown_left_; + float mouth_frown_right_; + float mouth_funnel_; + float mouth_left_; + float mouth_lower_down_left_; + float mouth_lower_down_right_; + float mouth_press_left_; + float mouth_press_right_; + float mouth_pucker_; + float mouth_right_; + float mouth_roll_lower_; + float mouth_roll_upper_; + float mouth_shrug_lower_; + float mouth_shrug_upper_; + float mouth_smile_left_; + float mouth_smile_right_; + float mouth_stretch_left_; + float mouth_stretch_right_; + float mouth_upper_up_left_; + float mouth_upper_up_right_; + float nose_sneer_left_; + float nose_sneer_right_; + float tongue_out_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_arkit_5fblend_5fshapes_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// ARKitBlendShapesData + +// .service.ARKitBlendShapes ar_kit_blend_shapes = 1; +inline bool ARKitBlendShapesData::_internal_has_ar_kit_blend_shapes() const { + return this != internal_default_instance() && ar_kit_blend_shapes_ != nullptr; +} +inline bool ARKitBlendShapesData::has_ar_kit_blend_shapes() const { + return _internal_has_ar_kit_blend_shapes(); +} +inline void ARKitBlendShapesData::clear_ar_kit_blend_shapes() { + if (GetArena() == nullptr && ar_kit_blend_shapes_ != nullptr) { + delete ar_kit_blend_shapes_; + } + ar_kit_blend_shapes_ = nullptr; +} +inline const ::service::ARKitBlendShapes& ARKitBlendShapesData::_internal_ar_kit_blend_shapes() const { + const ::service::ARKitBlendShapes* p = ar_kit_blend_shapes_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_ARKitBlendShapes_default_instance_); +} +inline const ::service::ARKitBlendShapes& ARKitBlendShapesData::ar_kit_blend_shapes() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapesData.ar_kit_blend_shapes) + return _internal_ar_kit_blend_shapes(); +} +inline void ARKitBlendShapesData::unsafe_arena_set_allocated_ar_kit_blend_shapes( + ::service::ARKitBlendShapes* ar_kit_blend_shapes) { + if (GetArena() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(ar_kit_blend_shapes_); + } + ar_kit_blend_shapes_ = ar_kit_blend_shapes; + if (ar_kit_blend_shapes) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.ARKitBlendShapesData.ar_kit_blend_shapes) +} +inline ::service::ARKitBlendShapes* ARKitBlendShapesData::release_ar_kit_blend_shapes() { + + ::service::ARKitBlendShapes* temp = ar_kit_blend_shapes_; + ar_kit_blend_shapes_ = nullptr; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + return temp; +} +inline ::service::ARKitBlendShapes* ARKitBlendShapesData::unsafe_arena_release_ar_kit_blend_shapes() { + // @@protoc_insertion_point(field_release:service.ARKitBlendShapesData.ar_kit_blend_shapes) + + ::service::ARKitBlendShapes* temp = ar_kit_blend_shapes_; + ar_kit_blend_shapes_ = nullptr; + return temp; +} +inline ::service::ARKitBlendShapes* ARKitBlendShapesData::_internal_mutable_ar_kit_blend_shapes() { + + if (ar_kit_blend_shapes_ == nullptr) { + auto* p = CreateMaybeMessage<::service::ARKitBlendShapes>(GetArena()); + ar_kit_blend_shapes_ = p; + } + return ar_kit_blend_shapes_; +} +inline ::service::ARKitBlendShapes* ARKitBlendShapesData::mutable_ar_kit_blend_shapes() { + // @@protoc_insertion_point(field_mutable:service.ARKitBlendShapesData.ar_kit_blend_shapes) + return _internal_mutable_ar_kit_blend_shapes(); +} +inline void ARKitBlendShapesData::set_allocated_ar_kit_blend_shapes(::service::ARKitBlendShapes* ar_kit_blend_shapes) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + if (message_arena == nullptr) { + delete ar_kit_blend_shapes_; + } + if (ar_kit_blend_shapes) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(ar_kit_blend_shapes); + if (message_arena != submessage_arena) { + ar_kit_blend_shapes = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, ar_kit_blend_shapes, submessage_arena); + } + + } else { + + } + ar_kit_blend_shapes_ = ar_kit_blend_shapes; + // @@protoc_insertion_point(field_set_allocated:service.ARKitBlendShapesData.ar_kit_blend_shapes) +} + +// ------------------------------------------------------------------- + +// ARKitBlendShapes + +// float brow_down_left = 1; +inline void ARKitBlendShapes::clear_brow_down_left() { + brow_down_left_ = 0; +} +inline float ARKitBlendShapes::_internal_brow_down_left() const { + return brow_down_left_; +} +inline float ARKitBlendShapes::brow_down_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.brow_down_left) + return _internal_brow_down_left(); +} +inline void ARKitBlendShapes::_internal_set_brow_down_left(float value) { + + brow_down_left_ = value; +} +inline void ARKitBlendShapes::set_brow_down_left(float value) { + _internal_set_brow_down_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.brow_down_left) +} + +// float brow_down_right = 2; +inline void ARKitBlendShapes::clear_brow_down_right() { + brow_down_right_ = 0; +} +inline float ARKitBlendShapes::_internal_brow_down_right() const { + return brow_down_right_; +} +inline float ARKitBlendShapes::brow_down_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.brow_down_right) + return _internal_brow_down_right(); +} +inline void ARKitBlendShapes::_internal_set_brow_down_right(float value) { + + brow_down_right_ = value; +} +inline void ARKitBlendShapes::set_brow_down_right(float value) { + _internal_set_brow_down_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.brow_down_right) +} + +// float brow_inner_up = 3; +inline void ARKitBlendShapes::clear_brow_inner_up() { + brow_inner_up_ = 0; +} +inline float ARKitBlendShapes::_internal_brow_inner_up() const { + return brow_inner_up_; +} +inline float ARKitBlendShapes::brow_inner_up() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.brow_inner_up) + return _internal_brow_inner_up(); +} +inline void ARKitBlendShapes::_internal_set_brow_inner_up(float value) { + + brow_inner_up_ = value; +} +inline void ARKitBlendShapes::set_brow_inner_up(float value) { + _internal_set_brow_inner_up(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.brow_inner_up) +} + +// float brow_outer_up_left = 4; +inline void ARKitBlendShapes::clear_brow_outer_up_left() { + brow_outer_up_left_ = 0; +} +inline float ARKitBlendShapes::_internal_brow_outer_up_left() const { + return brow_outer_up_left_; +} +inline float ARKitBlendShapes::brow_outer_up_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.brow_outer_up_left) + return _internal_brow_outer_up_left(); +} +inline void ARKitBlendShapes::_internal_set_brow_outer_up_left(float value) { + + brow_outer_up_left_ = value; +} +inline void ARKitBlendShapes::set_brow_outer_up_left(float value) { + _internal_set_brow_outer_up_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.brow_outer_up_left) +} + +// float brow_outer_up_right = 5; +inline void ARKitBlendShapes::clear_brow_outer_up_right() { + brow_outer_up_right_ = 0; +} +inline float ARKitBlendShapes::_internal_brow_outer_up_right() const { + return brow_outer_up_right_; +} +inline float ARKitBlendShapes::brow_outer_up_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.brow_outer_up_right) + return _internal_brow_outer_up_right(); +} +inline void ARKitBlendShapes::_internal_set_brow_outer_up_right(float value) { + + brow_outer_up_right_ = value; +} +inline void ARKitBlendShapes::set_brow_outer_up_right(float value) { + _internal_set_brow_outer_up_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.brow_outer_up_right) +} + +// float cheek_puff = 6; +inline void ARKitBlendShapes::clear_cheek_puff() { + cheek_puff_ = 0; +} +inline float ARKitBlendShapes::_internal_cheek_puff() const { + return cheek_puff_; +} +inline float ARKitBlendShapes::cheek_puff() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.cheek_puff) + return _internal_cheek_puff(); +} +inline void ARKitBlendShapes::_internal_set_cheek_puff(float value) { + + cheek_puff_ = value; +} +inline void ARKitBlendShapes::set_cheek_puff(float value) { + _internal_set_cheek_puff(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.cheek_puff) +} + +// float cheek_squint_left = 7; +inline void ARKitBlendShapes::clear_cheek_squint_left() { + cheek_squint_left_ = 0; +} +inline float ARKitBlendShapes::_internal_cheek_squint_left() const { + return cheek_squint_left_; +} +inline float ARKitBlendShapes::cheek_squint_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.cheek_squint_left) + return _internal_cheek_squint_left(); +} +inline void ARKitBlendShapes::_internal_set_cheek_squint_left(float value) { + + cheek_squint_left_ = value; +} +inline void ARKitBlendShapes::set_cheek_squint_left(float value) { + _internal_set_cheek_squint_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.cheek_squint_left) +} + +// float cheek_squint_right = 8; +inline void ARKitBlendShapes::clear_cheek_squint_right() { + cheek_squint_right_ = 0; +} +inline float ARKitBlendShapes::_internal_cheek_squint_right() const { + return cheek_squint_right_; +} +inline float ARKitBlendShapes::cheek_squint_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.cheek_squint_right) + return _internal_cheek_squint_right(); +} +inline void ARKitBlendShapes::_internal_set_cheek_squint_right(float value) { + + cheek_squint_right_ = value; +} +inline void ARKitBlendShapes::set_cheek_squint_right(float value) { + _internal_set_cheek_squint_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.cheek_squint_right) +} + +// float eye_blink_left = 9; +inline void ARKitBlendShapes::clear_eye_blink_left() { + eye_blink_left_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_blink_left() const { + return eye_blink_left_; +} +inline float ARKitBlendShapes::eye_blink_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_blink_left) + return _internal_eye_blink_left(); +} +inline void ARKitBlendShapes::_internal_set_eye_blink_left(float value) { + + eye_blink_left_ = value; +} +inline void ARKitBlendShapes::set_eye_blink_left(float value) { + _internal_set_eye_blink_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_blink_left) +} + +// float eye_blink_right = 10; +inline void ARKitBlendShapes::clear_eye_blink_right() { + eye_blink_right_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_blink_right() const { + return eye_blink_right_; +} +inline float ARKitBlendShapes::eye_blink_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_blink_right) + return _internal_eye_blink_right(); +} +inline void ARKitBlendShapes::_internal_set_eye_blink_right(float value) { + + eye_blink_right_ = value; +} +inline void ARKitBlendShapes::set_eye_blink_right(float value) { + _internal_set_eye_blink_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_blink_right) +} + +// float eye_look_down_left = 11; +inline void ARKitBlendShapes::clear_eye_look_down_left() { + eye_look_down_left_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_down_left() const { + return eye_look_down_left_; +} +inline float ARKitBlendShapes::eye_look_down_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_down_left) + return _internal_eye_look_down_left(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_down_left(float value) { + + eye_look_down_left_ = value; +} +inline void ARKitBlendShapes::set_eye_look_down_left(float value) { + _internal_set_eye_look_down_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_down_left) +} + +// float eye_look_down_right = 12; +inline void ARKitBlendShapes::clear_eye_look_down_right() { + eye_look_down_right_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_down_right() const { + return eye_look_down_right_; +} +inline float ARKitBlendShapes::eye_look_down_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_down_right) + return _internal_eye_look_down_right(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_down_right(float value) { + + eye_look_down_right_ = value; +} +inline void ARKitBlendShapes::set_eye_look_down_right(float value) { + _internal_set_eye_look_down_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_down_right) +} + +// float eye_look_in_left = 13; +inline void ARKitBlendShapes::clear_eye_look_in_left() { + eye_look_in_left_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_in_left() const { + return eye_look_in_left_; +} +inline float ARKitBlendShapes::eye_look_in_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_in_left) + return _internal_eye_look_in_left(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_in_left(float value) { + + eye_look_in_left_ = value; +} +inline void ARKitBlendShapes::set_eye_look_in_left(float value) { + _internal_set_eye_look_in_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_in_left) +} + +// float eye_look_in_right = 14; +inline void ARKitBlendShapes::clear_eye_look_in_right() { + eye_look_in_right_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_in_right() const { + return eye_look_in_right_; +} +inline float ARKitBlendShapes::eye_look_in_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_in_right) + return _internal_eye_look_in_right(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_in_right(float value) { + + eye_look_in_right_ = value; +} +inline void ARKitBlendShapes::set_eye_look_in_right(float value) { + _internal_set_eye_look_in_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_in_right) +} + +// float eye_look_out_left = 15; +inline void ARKitBlendShapes::clear_eye_look_out_left() { + eye_look_out_left_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_out_left() const { + return eye_look_out_left_; +} +inline float ARKitBlendShapes::eye_look_out_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_out_left) + return _internal_eye_look_out_left(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_out_left(float value) { + + eye_look_out_left_ = value; +} +inline void ARKitBlendShapes::set_eye_look_out_left(float value) { + _internal_set_eye_look_out_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_out_left) +} + +// float eye_look_out_right = 16; +inline void ARKitBlendShapes::clear_eye_look_out_right() { + eye_look_out_right_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_out_right() const { + return eye_look_out_right_; +} +inline float ARKitBlendShapes::eye_look_out_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_out_right) + return _internal_eye_look_out_right(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_out_right(float value) { + + eye_look_out_right_ = value; +} +inline void ARKitBlendShapes::set_eye_look_out_right(float value) { + _internal_set_eye_look_out_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_out_right) +} + +// float eye_look_up_left = 17; +inline void ARKitBlendShapes::clear_eye_look_up_left() { + eye_look_up_left_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_up_left() const { + return eye_look_up_left_; +} +inline float ARKitBlendShapes::eye_look_up_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_up_left) + return _internal_eye_look_up_left(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_up_left(float value) { + + eye_look_up_left_ = value; +} +inline void ARKitBlendShapes::set_eye_look_up_left(float value) { + _internal_set_eye_look_up_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_up_left) +} + +// float eye_look_up_right = 18; +inline void ARKitBlendShapes::clear_eye_look_up_right() { + eye_look_up_right_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_up_right() const { + return eye_look_up_right_; +} +inline float ARKitBlendShapes::eye_look_up_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_up_right) + return _internal_eye_look_up_right(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_up_right(float value) { + + eye_look_up_right_ = value; +} +inline void ARKitBlendShapes::set_eye_look_up_right(float value) { + _internal_set_eye_look_up_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_up_right) +} + +// float eye_squint_left = 19; +inline void ARKitBlendShapes::clear_eye_squint_left() { + eye_squint_left_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_squint_left() const { + return eye_squint_left_; +} +inline float ARKitBlendShapes::eye_squint_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_squint_left) + return _internal_eye_squint_left(); +} +inline void ARKitBlendShapes::_internal_set_eye_squint_left(float value) { + + eye_squint_left_ = value; +} +inline void ARKitBlendShapes::set_eye_squint_left(float value) { + _internal_set_eye_squint_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_squint_left) +} + +// float eye_squint_right = 20; +inline void ARKitBlendShapes::clear_eye_squint_right() { + eye_squint_right_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_squint_right() const { + return eye_squint_right_; +} +inline float ARKitBlendShapes::eye_squint_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_squint_right) + return _internal_eye_squint_right(); +} +inline void ARKitBlendShapes::_internal_set_eye_squint_right(float value) { + + eye_squint_right_ = value; +} +inline void ARKitBlendShapes::set_eye_squint_right(float value) { + _internal_set_eye_squint_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_squint_right) +} + +// float eye_wide_left = 21; +inline void ARKitBlendShapes::clear_eye_wide_left() { + eye_wide_left_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_wide_left() const { + return eye_wide_left_; +} +inline float ARKitBlendShapes::eye_wide_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_wide_left) + return _internal_eye_wide_left(); +} +inline void ARKitBlendShapes::_internal_set_eye_wide_left(float value) { + + eye_wide_left_ = value; +} +inline void ARKitBlendShapes::set_eye_wide_left(float value) { + _internal_set_eye_wide_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_wide_left) +} + +// float eye_wide_right = 22; +inline void ARKitBlendShapes::clear_eye_wide_right() { + eye_wide_right_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_wide_right() const { + return eye_wide_right_; +} +inline float ARKitBlendShapes::eye_wide_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_wide_right) + return _internal_eye_wide_right(); +} +inline void ARKitBlendShapes::_internal_set_eye_wide_right(float value) { + + eye_wide_right_ = value; +} +inline void ARKitBlendShapes::set_eye_wide_right(float value) { + _internal_set_eye_wide_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_wide_right) +} + +// float jaw_forward = 23; +inline void ARKitBlendShapes::clear_jaw_forward() { + jaw_forward_ = 0; +} +inline float ARKitBlendShapes::_internal_jaw_forward() const { + return jaw_forward_; +} +inline float ARKitBlendShapes::jaw_forward() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.jaw_forward) + return _internal_jaw_forward(); +} +inline void ARKitBlendShapes::_internal_set_jaw_forward(float value) { + + jaw_forward_ = value; +} +inline void ARKitBlendShapes::set_jaw_forward(float value) { + _internal_set_jaw_forward(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.jaw_forward) +} + +// float jaw_left = 24; +inline void ARKitBlendShapes::clear_jaw_left() { + jaw_left_ = 0; +} +inline float ARKitBlendShapes::_internal_jaw_left() const { + return jaw_left_; +} +inline float ARKitBlendShapes::jaw_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.jaw_left) + return _internal_jaw_left(); +} +inline void ARKitBlendShapes::_internal_set_jaw_left(float value) { + + jaw_left_ = value; +} +inline void ARKitBlendShapes::set_jaw_left(float value) { + _internal_set_jaw_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.jaw_left) +} + +// float jaw_open = 25; +inline void ARKitBlendShapes::clear_jaw_open() { + jaw_open_ = 0; +} +inline float ARKitBlendShapes::_internal_jaw_open() const { + return jaw_open_; +} +inline float ARKitBlendShapes::jaw_open() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.jaw_open) + return _internal_jaw_open(); +} +inline void ARKitBlendShapes::_internal_set_jaw_open(float value) { + + jaw_open_ = value; +} +inline void ARKitBlendShapes::set_jaw_open(float value) { + _internal_set_jaw_open(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.jaw_open) +} + +// float jaw_right = 26; +inline void ARKitBlendShapes::clear_jaw_right() { + jaw_right_ = 0; +} +inline float ARKitBlendShapes::_internal_jaw_right() const { + return jaw_right_; +} +inline float ARKitBlendShapes::jaw_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.jaw_right) + return _internal_jaw_right(); +} +inline void ARKitBlendShapes::_internal_set_jaw_right(float value) { + + jaw_right_ = value; +} +inline void ARKitBlendShapes::set_jaw_right(float value) { + _internal_set_jaw_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.jaw_right) +} + +// float mouth_close = 27; +inline void ARKitBlendShapes::clear_mouth_close() { + mouth_close_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_close() const { + return mouth_close_; +} +inline float ARKitBlendShapes::mouth_close() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_close) + return _internal_mouth_close(); +} +inline void ARKitBlendShapes::_internal_set_mouth_close(float value) { + + mouth_close_ = value; +} +inline void ARKitBlendShapes::set_mouth_close(float value) { + _internal_set_mouth_close(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_close) +} + +// float mouth_dimple_left = 28; +inline void ARKitBlendShapes::clear_mouth_dimple_left() { + mouth_dimple_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_dimple_left() const { + return mouth_dimple_left_; +} +inline float ARKitBlendShapes::mouth_dimple_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_dimple_left) + return _internal_mouth_dimple_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_dimple_left(float value) { + + mouth_dimple_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_dimple_left(float value) { + _internal_set_mouth_dimple_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_dimple_left) +} + +// float mouth_dimple_right = 29; +inline void ARKitBlendShapes::clear_mouth_dimple_right() { + mouth_dimple_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_dimple_right() const { + return mouth_dimple_right_; +} +inline float ARKitBlendShapes::mouth_dimple_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_dimple_right) + return _internal_mouth_dimple_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_dimple_right(float value) { + + mouth_dimple_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_dimple_right(float value) { + _internal_set_mouth_dimple_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_dimple_right) +} + +// float mouth_frown_left = 30; +inline void ARKitBlendShapes::clear_mouth_frown_left() { + mouth_frown_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_frown_left() const { + return mouth_frown_left_; +} +inline float ARKitBlendShapes::mouth_frown_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_frown_left) + return _internal_mouth_frown_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_frown_left(float value) { + + mouth_frown_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_frown_left(float value) { + _internal_set_mouth_frown_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_frown_left) +} + +// float mouth_frown_right = 31; +inline void ARKitBlendShapes::clear_mouth_frown_right() { + mouth_frown_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_frown_right() const { + return mouth_frown_right_; +} +inline float ARKitBlendShapes::mouth_frown_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_frown_right) + return _internal_mouth_frown_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_frown_right(float value) { + + mouth_frown_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_frown_right(float value) { + _internal_set_mouth_frown_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_frown_right) +} + +// float mouth_funnel = 32; +inline void ARKitBlendShapes::clear_mouth_funnel() { + mouth_funnel_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_funnel() const { + return mouth_funnel_; +} +inline float ARKitBlendShapes::mouth_funnel() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_funnel) + return _internal_mouth_funnel(); +} +inline void ARKitBlendShapes::_internal_set_mouth_funnel(float value) { + + mouth_funnel_ = value; +} +inline void ARKitBlendShapes::set_mouth_funnel(float value) { + _internal_set_mouth_funnel(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_funnel) +} + +// float mouth_left = 33; +inline void ARKitBlendShapes::clear_mouth_left() { + mouth_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_left() const { + return mouth_left_; +} +inline float ARKitBlendShapes::mouth_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_left) + return _internal_mouth_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_left(float value) { + + mouth_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_left(float value) { + _internal_set_mouth_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_left) +} + +// float mouth_lower_down_left = 34; +inline void ARKitBlendShapes::clear_mouth_lower_down_left() { + mouth_lower_down_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_lower_down_left() const { + return mouth_lower_down_left_; +} +inline float ARKitBlendShapes::mouth_lower_down_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_lower_down_left) + return _internal_mouth_lower_down_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_lower_down_left(float value) { + + mouth_lower_down_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_lower_down_left(float value) { + _internal_set_mouth_lower_down_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_lower_down_left) +} + +// float mouth_lower_down_right = 35; +inline void ARKitBlendShapes::clear_mouth_lower_down_right() { + mouth_lower_down_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_lower_down_right() const { + return mouth_lower_down_right_; +} +inline float ARKitBlendShapes::mouth_lower_down_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_lower_down_right) + return _internal_mouth_lower_down_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_lower_down_right(float value) { + + mouth_lower_down_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_lower_down_right(float value) { + _internal_set_mouth_lower_down_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_lower_down_right) +} + +// float mouth_press_left = 36; +inline void ARKitBlendShapes::clear_mouth_press_left() { + mouth_press_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_press_left() const { + return mouth_press_left_; +} +inline float ARKitBlendShapes::mouth_press_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_press_left) + return _internal_mouth_press_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_press_left(float value) { + + mouth_press_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_press_left(float value) { + _internal_set_mouth_press_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_press_left) +} + +// float mouth_press_right = 37; +inline void ARKitBlendShapes::clear_mouth_press_right() { + mouth_press_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_press_right() const { + return mouth_press_right_; +} +inline float ARKitBlendShapes::mouth_press_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_press_right) + return _internal_mouth_press_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_press_right(float value) { + + mouth_press_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_press_right(float value) { + _internal_set_mouth_press_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_press_right) +} + +// float mouth_pucker = 38; +inline void ARKitBlendShapes::clear_mouth_pucker() { + mouth_pucker_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_pucker() const { + return mouth_pucker_; +} +inline float ARKitBlendShapes::mouth_pucker() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_pucker) + return _internal_mouth_pucker(); +} +inline void ARKitBlendShapes::_internal_set_mouth_pucker(float value) { + + mouth_pucker_ = value; +} +inline void ARKitBlendShapes::set_mouth_pucker(float value) { + _internal_set_mouth_pucker(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_pucker) +} + +// float mouth_right = 39; +inline void ARKitBlendShapes::clear_mouth_right() { + mouth_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_right() const { + return mouth_right_; +} +inline float ARKitBlendShapes::mouth_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_right) + return _internal_mouth_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_right(float value) { + + mouth_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_right(float value) { + _internal_set_mouth_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_right) +} + +// float mouth_roll_lower = 40; +inline void ARKitBlendShapes::clear_mouth_roll_lower() { + mouth_roll_lower_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_roll_lower() const { + return mouth_roll_lower_; +} +inline float ARKitBlendShapes::mouth_roll_lower() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_roll_lower) + return _internal_mouth_roll_lower(); +} +inline void ARKitBlendShapes::_internal_set_mouth_roll_lower(float value) { + + mouth_roll_lower_ = value; +} +inline void ARKitBlendShapes::set_mouth_roll_lower(float value) { + _internal_set_mouth_roll_lower(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_roll_lower) +} + +// float mouth_roll_upper = 41; +inline void ARKitBlendShapes::clear_mouth_roll_upper() { + mouth_roll_upper_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_roll_upper() const { + return mouth_roll_upper_; +} +inline float ARKitBlendShapes::mouth_roll_upper() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_roll_upper) + return _internal_mouth_roll_upper(); +} +inline void ARKitBlendShapes::_internal_set_mouth_roll_upper(float value) { + + mouth_roll_upper_ = value; +} +inline void ARKitBlendShapes::set_mouth_roll_upper(float value) { + _internal_set_mouth_roll_upper(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_roll_upper) +} + +// float mouth_shrug_lower = 42; +inline void ARKitBlendShapes::clear_mouth_shrug_lower() { + mouth_shrug_lower_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_shrug_lower() const { + return mouth_shrug_lower_; +} +inline float ARKitBlendShapes::mouth_shrug_lower() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_shrug_lower) + return _internal_mouth_shrug_lower(); +} +inline void ARKitBlendShapes::_internal_set_mouth_shrug_lower(float value) { + + mouth_shrug_lower_ = value; +} +inline void ARKitBlendShapes::set_mouth_shrug_lower(float value) { + _internal_set_mouth_shrug_lower(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_shrug_lower) +} + +// float mouth_shrug_upper = 43; +inline void ARKitBlendShapes::clear_mouth_shrug_upper() { + mouth_shrug_upper_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_shrug_upper() const { + return mouth_shrug_upper_; +} +inline float ARKitBlendShapes::mouth_shrug_upper() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_shrug_upper) + return _internal_mouth_shrug_upper(); +} +inline void ARKitBlendShapes::_internal_set_mouth_shrug_upper(float value) { + + mouth_shrug_upper_ = value; +} +inline void ARKitBlendShapes::set_mouth_shrug_upper(float value) { + _internal_set_mouth_shrug_upper(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_shrug_upper) +} + +// float mouth_smile_left = 44; +inline void ARKitBlendShapes::clear_mouth_smile_left() { + mouth_smile_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_smile_left() const { + return mouth_smile_left_; +} +inline float ARKitBlendShapes::mouth_smile_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_smile_left) + return _internal_mouth_smile_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_smile_left(float value) { + + mouth_smile_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_smile_left(float value) { + _internal_set_mouth_smile_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_smile_left) +} + +// float mouth_smile_right = 45; +inline void ARKitBlendShapes::clear_mouth_smile_right() { + mouth_smile_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_smile_right() const { + return mouth_smile_right_; +} +inline float ARKitBlendShapes::mouth_smile_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_smile_right) + return _internal_mouth_smile_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_smile_right(float value) { + + mouth_smile_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_smile_right(float value) { + _internal_set_mouth_smile_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_smile_right) +} + +// float mouth_stretch_left = 46; +inline void ARKitBlendShapes::clear_mouth_stretch_left() { + mouth_stretch_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_stretch_left() const { + return mouth_stretch_left_; +} +inline float ARKitBlendShapes::mouth_stretch_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_stretch_left) + return _internal_mouth_stretch_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_stretch_left(float value) { + + mouth_stretch_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_stretch_left(float value) { + _internal_set_mouth_stretch_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_stretch_left) +} + +// float mouth_stretch_right = 47; +inline void ARKitBlendShapes::clear_mouth_stretch_right() { + mouth_stretch_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_stretch_right() const { + return mouth_stretch_right_; +} +inline float ARKitBlendShapes::mouth_stretch_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_stretch_right) + return _internal_mouth_stretch_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_stretch_right(float value) { + + mouth_stretch_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_stretch_right(float value) { + _internal_set_mouth_stretch_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_stretch_right) +} + +// float mouth_upper_up_left = 48; +inline void ARKitBlendShapes::clear_mouth_upper_up_left() { + mouth_upper_up_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_upper_up_left() const { + return mouth_upper_up_left_; +} +inline float ARKitBlendShapes::mouth_upper_up_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_upper_up_left) + return _internal_mouth_upper_up_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_upper_up_left(float value) { + + mouth_upper_up_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_upper_up_left(float value) { + _internal_set_mouth_upper_up_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_upper_up_left) +} + +// float mouth_upper_up_right = 49; +inline void ARKitBlendShapes::clear_mouth_upper_up_right() { + mouth_upper_up_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_upper_up_right() const { + return mouth_upper_up_right_; +} +inline float ARKitBlendShapes::mouth_upper_up_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_upper_up_right) + return _internal_mouth_upper_up_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_upper_up_right(float value) { + + mouth_upper_up_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_upper_up_right(float value) { + _internal_set_mouth_upper_up_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_upper_up_right) +} + +// float nose_sneer_left = 50; +inline void ARKitBlendShapes::clear_nose_sneer_left() { + nose_sneer_left_ = 0; +} +inline float ARKitBlendShapes::_internal_nose_sneer_left() const { + return nose_sneer_left_; +} +inline float ARKitBlendShapes::nose_sneer_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.nose_sneer_left) + return _internal_nose_sneer_left(); +} +inline void ARKitBlendShapes::_internal_set_nose_sneer_left(float value) { + + nose_sneer_left_ = value; +} +inline void ARKitBlendShapes::set_nose_sneer_left(float value) { + _internal_set_nose_sneer_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.nose_sneer_left) +} + +// float nose_sneer_right = 51; +inline void ARKitBlendShapes::clear_nose_sneer_right() { + nose_sneer_right_ = 0; +} +inline float ARKitBlendShapes::_internal_nose_sneer_right() const { + return nose_sneer_right_; +} +inline float ARKitBlendShapes::nose_sneer_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.nose_sneer_right) + return _internal_nose_sneer_right(); +} +inline void ARKitBlendShapes::_internal_set_nose_sneer_right(float value) { + + nose_sneer_right_ = value; +} +inline void ARKitBlendShapes::set_nose_sneer_right(float value) { + _internal_set_nose_sneer_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.nose_sneer_right) +} + +// float tongue_out = 52; +inline void ARKitBlendShapes::clear_tongue_out() { + tongue_out_ = 0; +} +inline float ARKitBlendShapes::_internal_tongue_out() const { + return tongue_out_; +} +inline float ARKitBlendShapes::tongue_out() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.tongue_out) + return _internal_tongue_out(); +} +inline void ARKitBlendShapes::_internal_set_tongue_out(float value) { + + tongue_out_ = value; +} +inline void ARKitBlendShapes::set_tongue_out(float value) { + _internal_set_tongue_out(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.tongue_out) +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace service + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_arkit_5fblend_5fshapes_2eproto +#else +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: arkit_blend_shapes.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_arkit_5fblend_5fshapes_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_arkit_5fblend_5fshapes_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3021000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3021006 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_arkit_5fblend_5fshapes_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_arkit_5fblend_5fshapes_2eproto { + static const uint32_t offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_arkit_5fblend_5fshapes_2eproto; +namespace service { +class ARKitBlendShapes; +struct ARKitBlendShapesDefaultTypeInternal; +extern ARKitBlendShapesDefaultTypeInternal _ARKitBlendShapes_default_instance_; +class ARKitBlendShapesData; +struct ARKitBlendShapesDataDefaultTypeInternal; +extern ARKitBlendShapesDataDefaultTypeInternal _ARKitBlendShapesData_default_instance_; +} // namespace service +PROTOBUF_NAMESPACE_OPEN +template<> ::service::ARKitBlendShapes* Arena::CreateMaybeMessage<::service::ARKitBlendShapes>(Arena*); +template<> ::service::ARKitBlendShapesData* Arena::CreateMaybeMessage<::service::ARKitBlendShapesData>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace service { + +// =================================================================== + +class ARKitBlendShapesData final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.ARKitBlendShapesData) */ { + public: + inline ARKitBlendShapesData() : ARKitBlendShapesData(nullptr) {} + ~ARKitBlendShapesData() override; + explicit PROTOBUF_CONSTEXPR ARKitBlendShapesData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ARKitBlendShapesData(const ARKitBlendShapesData& from); + ARKitBlendShapesData(ARKitBlendShapesData&& from) noexcept + : ARKitBlendShapesData() { + *this = ::std::move(from); + } + + inline ARKitBlendShapesData& operator=(const ARKitBlendShapesData& from) { + CopyFrom(from); + return *this; + } + inline ARKitBlendShapesData& operator=(ARKitBlendShapesData&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ARKitBlendShapesData& default_instance() { + return *internal_default_instance(); + } + static inline const ARKitBlendShapesData* internal_default_instance() { + return reinterpret_cast( + &_ARKitBlendShapesData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(ARKitBlendShapesData& a, ARKitBlendShapesData& b) { + a.Swap(&b); + } + inline void Swap(ARKitBlendShapesData* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ARKitBlendShapesData* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ARKitBlendShapesData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ARKitBlendShapesData& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const ARKitBlendShapesData& from) { + ARKitBlendShapesData::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ARKitBlendShapesData* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.ARKitBlendShapesData"; + } + protected: + explicit ARKitBlendShapesData(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kArKitBlendShapesFieldNumber = 1, + }; + // .service.ARKitBlendShapes ar_kit_blend_shapes = 1; + bool has_ar_kit_blend_shapes() const; + private: + bool _internal_has_ar_kit_blend_shapes() const; + public: + void clear_ar_kit_blend_shapes(); + const ::service::ARKitBlendShapes& ar_kit_blend_shapes() const; + PROTOBUF_NODISCARD ::service::ARKitBlendShapes* release_ar_kit_blend_shapes(); + ::service::ARKitBlendShapes* mutable_ar_kit_blend_shapes(); + void set_allocated_ar_kit_blend_shapes(::service::ARKitBlendShapes* ar_kit_blend_shapes); + private: + const ::service::ARKitBlendShapes& _internal_ar_kit_blend_shapes() const; + ::service::ARKitBlendShapes* _internal_mutable_ar_kit_blend_shapes(); + public: + void unsafe_arena_set_allocated_ar_kit_blend_shapes( + ::service::ARKitBlendShapes* ar_kit_blend_shapes); + ::service::ARKitBlendShapes* unsafe_arena_release_ar_kit_blend_shapes(); + + // @@protoc_insertion_point(class_scope:service.ARKitBlendShapesData) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::service::ARKitBlendShapes* ar_kit_blend_shapes_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_arkit_5fblend_5fshapes_2eproto; +}; +// ------------------------------------------------------------------- + +class ARKitBlendShapes final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.ARKitBlendShapes) */ { + public: + inline ARKitBlendShapes() : ARKitBlendShapes(nullptr) {} + ~ARKitBlendShapes() override; + explicit PROTOBUF_CONSTEXPR ARKitBlendShapes(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ARKitBlendShapes(const ARKitBlendShapes& from); + ARKitBlendShapes(ARKitBlendShapes&& from) noexcept + : ARKitBlendShapes() { + *this = ::std::move(from); + } + + inline ARKitBlendShapes& operator=(const ARKitBlendShapes& from) { + CopyFrom(from); + return *this; + } + inline ARKitBlendShapes& operator=(ARKitBlendShapes&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ARKitBlendShapes& default_instance() { + return *internal_default_instance(); + } + static inline const ARKitBlendShapes* internal_default_instance() { + return reinterpret_cast( + &_ARKitBlendShapes_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + friend void swap(ARKitBlendShapes& a, ARKitBlendShapes& b) { + a.Swap(&b); + } + inline void Swap(ARKitBlendShapes* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ARKitBlendShapes* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ARKitBlendShapes* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ARKitBlendShapes& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const ARKitBlendShapes& from) { + ARKitBlendShapes::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ARKitBlendShapes* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.ARKitBlendShapes"; + } + protected: + explicit ARKitBlendShapes(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kBrowDownLeftFieldNumber = 1, + kBrowDownRightFieldNumber = 2, + kBrowInnerUpFieldNumber = 3, + kBrowOuterUpLeftFieldNumber = 4, + kBrowOuterUpRightFieldNumber = 5, + kCheekPuffFieldNumber = 6, + kCheekSquintLeftFieldNumber = 7, + kCheekSquintRightFieldNumber = 8, + kEyeBlinkLeftFieldNumber = 9, + kEyeBlinkRightFieldNumber = 10, + kEyeLookDownLeftFieldNumber = 11, + kEyeLookDownRightFieldNumber = 12, + kEyeLookInLeftFieldNumber = 13, + kEyeLookInRightFieldNumber = 14, + kEyeLookOutLeftFieldNumber = 15, + kEyeLookOutRightFieldNumber = 16, + kEyeLookUpLeftFieldNumber = 17, + kEyeLookUpRightFieldNumber = 18, + kEyeSquintLeftFieldNumber = 19, + kEyeSquintRightFieldNumber = 20, + kEyeWideLeftFieldNumber = 21, + kEyeWideRightFieldNumber = 22, + kJawForwardFieldNumber = 23, + kJawLeftFieldNumber = 24, + kJawOpenFieldNumber = 25, + kJawRightFieldNumber = 26, + kMouthCloseFieldNumber = 27, + kMouthDimpleLeftFieldNumber = 28, + kMouthDimpleRightFieldNumber = 29, + kMouthFrownLeftFieldNumber = 30, + kMouthFrownRightFieldNumber = 31, + kMouthFunnelFieldNumber = 32, + kMouthLeftFieldNumber = 33, + kMouthLowerDownLeftFieldNumber = 34, + kMouthLowerDownRightFieldNumber = 35, + kMouthPressLeftFieldNumber = 36, + kMouthPressRightFieldNumber = 37, + kMouthPuckerFieldNumber = 38, + kMouthRightFieldNumber = 39, + kMouthRollLowerFieldNumber = 40, + kMouthRollUpperFieldNumber = 41, + kMouthShrugLowerFieldNumber = 42, + kMouthShrugUpperFieldNumber = 43, + kMouthSmileLeftFieldNumber = 44, + kMouthSmileRightFieldNumber = 45, + kMouthStretchLeftFieldNumber = 46, + kMouthStretchRightFieldNumber = 47, + kMouthUpperUpLeftFieldNumber = 48, + kMouthUpperUpRightFieldNumber = 49, + kNoseSneerLeftFieldNumber = 50, + kNoseSneerRightFieldNumber = 51, + kTongueOutFieldNumber = 52, + }; + // float brow_down_left = 1; + void clear_brow_down_left(); + float brow_down_left() const; + void set_brow_down_left(float value); + private: + float _internal_brow_down_left() const; + void _internal_set_brow_down_left(float value); + public: + + // float brow_down_right = 2; + void clear_brow_down_right(); + float brow_down_right() const; + void set_brow_down_right(float value); + private: + float _internal_brow_down_right() const; + void _internal_set_brow_down_right(float value); + public: + + // float brow_inner_up = 3; + void clear_brow_inner_up(); + float brow_inner_up() const; + void set_brow_inner_up(float value); + private: + float _internal_brow_inner_up() const; + void _internal_set_brow_inner_up(float value); + public: + + // float brow_outer_up_left = 4; + void clear_brow_outer_up_left(); + float brow_outer_up_left() const; + void set_brow_outer_up_left(float value); + private: + float _internal_brow_outer_up_left() const; + void _internal_set_brow_outer_up_left(float value); + public: + + // float brow_outer_up_right = 5; + void clear_brow_outer_up_right(); + float brow_outer_up_right() const; + void set_brow_outer_up_right(float value); + private: + float _internal_brow_outer_up_right() const; + void _internal_set_brow_outer_up_right(float value); + public: + + // float cheek_puff = 6; + void clear_cheek_puff(); + float cheek_puff() const; + void set_cheek_puff(float value); + private: + float _internal_cheek_puff() const; + void _internal_set_cheek_puff(float value); + public: + + // float cheek_squint_left = 7; + void clear_cheek_squint_left(); + float cheek_squint_left() const; + void set_cheek_squint_left(float value); + private: + float _internal_cheek_squint_left() const; + void _internal_set_cheek_squint_left(float value); + public: + + // float cheek_squint_right = 8; + void clear_cheek_squint_right(); + float cheek_squint_right() const; + void set_cheek_squint_right(float value); + private: + float _internal_cheek_squint_right() const; + void _internal_set_cheek_squint_right(float value); + public: + + // float eye_blink_left = 9; + void clear_eye_blink_left(); + float eye_blink_left() const; + void set_eye_blink_left(float value); + private: + float _internal_eye_blink_left() const; + void _internal_set_eye_blink_left(float value); + public: + + // float eye_blink_right = 10; + void clear_eye_blink_right(); + float eye_blink_right() const; + void set_eye_blink_right(float value); + private: + float _internal_eye_blink_right() const; + void _internal_set_eye_blink_right(float value); + public: + + // float eye_look_down_left = 11; + void clear_eye_look_down_left(); + float eye_look_down_left() const; + void set_eye_look_down_left(float value); + private: + float _internal_eye_look_down_left() const; + void _internal_set_eye_look_down_left(float value); + public: + + // float eye_look_down_right = 12; + void clear_eye_look_down_right(); + float eye_look_down_right() const; + void set_eye_look_down_right(float value); + private: + float _internal_eye_look_down_right() const; + void _internal_set_eye_look_down_right(float value); + public: + + // float eye_look_in_left = 13; + void clear_eye_look_in_left(); + float eye_look_in_left() const; + void set_eye_look_in_left(float value); + private: + float _internal_eye_look_in_left() const; + void _internal_set_eye_look_in_left(float value); + public: + + // float eye_look_in_right = 14; + void clear_eye_look_in_right(); + float eye_look_in_right() const; + void set_eye_look_in_right(float value); + private: + float _internal_eye_look_in_right() const; + void _internal_set_eye_look_in_right(float value); + public: + + // float eye_look_out_left = 15; + void clear_eye_look_out_left(); + float eye_look_out_left() const; + void set_eye_look_out_left(float value); + private: + float _internal_eye_look_out_left() const; + void _internal_set_eye_look_out_left(float value); + public: + + // float eye_look_out_right = 16; + void clear_eye_look_out_right(); + float eye_look_out_right() const; + void set_eye_look_out_right(float value); + private: + float _internal_eye_look_out_right() const; + void _internal_set_eye_look_out_right(float value); + public: + + // float eye_look_up_left = 17; + void clear_eye_look_up_left(); + float eye_look_up_left() const; + void set_eye_look_up_left(float value); + private: + float _internal_eye_look_up_left() const; + void _internal_set_eye_look_up_left(float value); + public: + + // float eye_look_up_right = 18; + void clear_eye_look_up_right(); + float eye_look_up_right() const; + void set_eye_look_up_right(float value); + private: + float _internal_eye_look_up_right() const; + void _internal_set_eye_look_up_right(float value); + public: + + // float eye_squint_left = 19; + void clear_eye_squint_left(); + float eye_squint_left() const; + void set_eye_squint_left(float value); + private: + float _internal_eye_squint_left() const; + void _internal_set_eye_squint_left(float value); + public: + + // float eye_squint_right = 20; + void clear_eye_squint_right(); + float eye_squint_right() const; + void set_eye_squint_right(float value); + private: + float _internal_eye_squint_right() const; + void _internal_set_eye_squint_right(float value); + public: + + // float eye_wide_left = 21; + void clear_eye_wide_left(); + float eye_wide_left() const; + void set_eye_wide_left(float value); + private: + float _internal_eye_wide_left() const; + void _internal_set_eye_wide_left(float value); + public: + + // float eye_wide_right = 22; + void clear_eye_wide_right(); + float eye_wide_right() const; + void set_eye_wide_right(float value); + private: + float _internal_eye_wide_right() const; + void _internal_set_eye_wide_right(float value); + public: + + // float jaw_forward = 23; + void clear_jaw_forward(); + float jaw_forward() const; + void set_jaw_forward(float value); + private: + float _internal_jaw_forward() const; + void _internal_set_jaw_forward(float value); + public: + + // float jaw_left = 24; + void clear_jaw_left(); + float jaw_left() const; + void set_jaw_left(float value); + private: + float _internal_jaw_left() const; + void _internal_set_jaw_left(float value); + public: + + // float jaw_open = 25; + void clear_jaw_open(); + float jaw_open() const; + void set_jaw_open(float value); + private: + float _internal_jaw_open() const; + void _internal_set_jaw_open(float value); + public: + + // float jaw_right = 26; + void clear_jaw_right(); + float jaw_right() const; + void set_jaw_right(float value); + private: + float _internal_jaw_right() const; + void _internal_set_jaw_right(float value); + public: + + // float mouth_close = 27; + void clear_mouth_close(); + float mouth_close() const; + void set_mouth_close(float value); + private: + float _internal_mouth_close() const; + void _internal_set_mouth_close(float value); + public: + + // float mouth_dimple_left = 28; + void clear_mouth_dimple_left(); + float mouth_dimple_left() const; + void set_mouth_dimple_left(float value); + private: + float _internal_mouth_dimple_left() const; + void _internal_set_mouth_dimple_left(float value); + public: + + // float mouth_dimple_right = 29; + void clear_mouth_dimple_right(); + float mouth_dimple_right() const; + void set_mouth_dimple_right(float value); + private: + float _internal_mouth_dimple_right() const; + void _internal_set_mouth_dimple_right(float value); + public: + + // float mouth_frown_left = 30; + void clear_mouth_frown_left(); + float mouth_frown_left() const; + void set_mouth_frown_left(float value); + private: + float _internal_mouth_frown_left() const; + void _internal_set_mouth_frown_left(float value); + public: + + // float mouth_frown_right = 31; + void clear_mouth_frown_right(); + float mouth_frown_right() const; + void set_mouth_frown_right(float value); + private: + float _internal_mouth_frown_right() const; + void _internal_set_mouth_frown_right(float value); + public: + + // float mouth_funnel = 32; + void clear_mouth_funnel(); + float mouth_funnel() const; + void set_mouth_funnel(float value); + private: + float _internal_mouth_funnel() const; + void _internal_set_mouth_funnel(float value); + public: + + // float mouth_left = 33; + void clear_mouth_left(); + float mouth_left() const; + void set_mouth_left(float value); + private: + float _internal_mouth_left() const; + void _internal_set_mouth_left(float value); + public: + + // float mouth_lower_down_left = 34; + void clear_mouth_lower_down_left(); + float mouth_lower_down_left() const; + void set_mouth_lower_down_left(float value); + private: + float _internal_mouth_lower_down_left() const; + void _internal_set_mouth_lower_down_left(float value); + public: + + // float mouth_lower_down_right = 35; + void clear_mouth_lower_down_right(); + float mouth_lower_down_right() const; + void set_mouth_lower_down_right(float value); + private: + float _internal_mouth_lower_down_right() const; + void _internal_set_mouth_lower_down_right(float value); + public: + + // float mouth_press_left = 36; + void clear_mouth_press_left(); + float mouth_press_left() const; + void set_mouth_press_left(float value); + private: + float _internal_mouth_press_left() const; + void _internal_set_mouth_press_left(float value); + public: + + // float mouth_press_right = 37; + void clear_mouth_press_right(); + float mouth_press_right() const; + void set_mouth_press_right(float value); + private: + float _internal_mouth_press_right() const; + void _internal_set_mouth_press_right(float value); + public: + + // float mouth_pucker = 38; + void clear_mouth_pucker(); + float mouth_pucker() const; + void set_mouth_pucker(float value); + private: + float _internal_mouth_pucker() const; + void _internal_set_mouth_pucker(float value); + public: + + // float mouth_right = 39; + void clear_mouth_right(); + float mouth_right() const; + void set_mouth_right(float value); + private: + float _internal_mouth_right() const; + void _internal_set_mouth_right(float value); + public: + + // float mouth_roll_lower = 40; + void clear_mouth_roll_lower(); + float mouth_roll_lower() const; + void set_mouth_roll_lower(float value); + private: + float _internal_mouth_roll_lower() const; + void _internal_set_mouth_roll_lower(float value); + public: + + // float mouth_roll_upper = 41; + void clear_mouth_roll_upper(); + float mouth_roll_upper() const; + void set_mouth_roll_upper(float value); + private: + float _internal_mouth_roll_upper() const; + void _internal_set_mouth_roll_upper(float value); + public: + + // float mouth_shrug_lower = 42; + void clear_mouth_shrug_lower(); + float mouth_shrug_lower() const; + void set_mouth_shrug_lower(float value); + private: + float _internal_mouth_shrug_lower() const; + void _internal_set_mouth_shrug_lower(float value); + public: + + // float mouth_shrug_upper = 43; + void clear_mouth_shrug_upper(); + float mouth_shrug_upper() const; + void set_mouth_shrug_upper(float value); + private: + float _internal_mouth_shrug_upper() const; + void _internal_set_mouth_shrug_upper(float value); + public: + + // float mouth_smile_left = 44; + void clear_mouth_smile_left(); + float mouth_smile_left() const; + void set_mouth_smile_left(float value); + private: + float _internal_mouth_smile_left() const; + void _internal_set_mouth_smile_left(float value); + public: + + // float mouth_smile_right = 45; + void clear_mouth_smile_right(); + float mouth_smile_right() const; + void set_mouth_smile_right(float value); + private: + float _internal_mouth_smile_right() const; + void _internal_set_mouth_smile_right(float value); + public: + + // float mouth_stretch_left = 46; + void clear_mouth_stretch_left(); + float mouth_stretch_left() const; + void set_mouth_stretch_left(float value); + private: + float _internal_mouth_stretch_left() const; + void _internal_set_mouth_stretch_left(float value); + public: + + // float mouth_stretch_right = 47; + void clear_mouth_stretch_right(); + float mouth_stretch_right() const; + void set_mouth_stretch_right(float value); + private: + float _internal_mouth_stretch_right() const; + void _internal_set_mouth_stretch_right(float value); + public: + + // float mouth_upper_up_left = 48; + void clear_mouth_upper_up_left(); + float mouth_upper_up_left() const; + void set_mouth_upper_up_left(float value); + private: + float _internal_mouth_upper_up_left() const; + void _internal_set_mouth_upper_up_left(float value); + public: + + // float mouth_upper_up_right = 49; + void clear_mouth_upper_up_right(); + float mouth_upper_up_right() const; + void set_mouth_upper_up_right(float value); + private: + float _internal_mouth_upper_up_right() const; + void _internal_set_mouth_upper_up_right(float value); + public: + + // float nose_sneer_left = 50; + void clear_nose_sneer_left(); + float nose_sneer_left() const; + void set_nose_sneer_left(float value); + private: + float _internal_nose_sneer_left() const; + void _internal_set_nose_sneer_left(float value); + public: + + // float nose_sneer_right = 51; + void clear_nose_sneer_right(); + float nose_sneer_right() const; + void set_nose_sneer_right(float value); + private: + float _internal_nose_sneer_right() const; + void _internal_set_nose_sneer_right(float value); + public: + + // float tongue_out = 52; + void clear_tongue_out(); + float tongue_out() const; + void set_tongue_out(float value); + private: + float _internal_tongue_out() const; + void _internal_set_tongue_out(float value); + public: + + // @@protoc_insertion_point(class_scope:service.ARKitBlendShapes) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + float brow_down_left_; + float brow_down_right_; + float brow_inner_up_; + float brow_outer_up_left_; + float brow_outer_up_right_; + float cheek_puff_; + float cheek_squint_left_; + float cheek_squint_right_; + float eye_blink_left_; + float eye_blink_right_; + float eye_look_down_left_; + float eye_look_down_right_; + float eye_look_in_left_; + float eye_look_in_right_; + float eye_look_out_left_; + float eye_look_out_right_; + float eye_look_up_left_; + float eye_look_up_right_; + float eye_squint_left_; + float eye_squint_right_; + float eye_wide_left_; + float eye_wide_right_; + float jaw_forward_; + float jaw_left_; + float jaw_open_; + float jaw_right_; + float mouth_close_; + float mouth_dimple_left_; + float mouth_dimple_right_; + float mouth_frown_left_; + float mouth_frown_right_; + float mouth_funnel_; + float mouth_left_; + float mouth_lower_down_left_; + float mouth_lower_down_right_; + float mouth_press_left_; + float mouth_press_right_; + float mouth_pucker_; + float mouth_right_; + float mouth_roll_lower_; + float mouth_roll_upper_; + float mouth_shrug_lower_; + float mouth_shrug_upper_; + float mouth_smile_left_; + float mouth_smile_right_; + float mouth_stretch_left_; + float mouth_stretch_right_; + float mouth_upper_up_left_; + float mouth_upper_up_right_; + float nose_sneer_left_; + float nose_sneer_right_; + float tongue_out_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_arkit_5fblend_5fshapes_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// ARKitBlendShapesData + +// .service.ARKitBlendShapes ar_kit_blend_shapes = 1; +inline bool ARKitBlendShapesData::_internal_has_ar_kit_blend_shapes() const { + return this != internal_default_instance() && _impl_.ar_kit_blend_shapes_ != nullptr; +} +inline bool ARKitBlendShapesData::has_ar_kit_blend_shapes() const { + return _internal_has_ar_kit_blend_shapes(); +} +inline void ARKitBlendShapesData::clear_ar_kit_blend_shapes() { + if (GetArenaForAllocation() == nullptr && _impl_.ar_kit_blend_shapes_ != nullptr) { + delete _impl_.ar_kit_blend_shapes_; + } + _impl_.ar_kit_blend_shapes_ = nullptr; +} +inline const ::service::ARKitBlendShapes& ARKitBlendShapesData::_internal_ar_kit_blend_shapes() const { + const ::service::ARKitBlendShapes* p = _impl_.ar_kit_blend_shapes_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_ARKitBlendShapes_default_instance_); +} +inline const ::service::ARKitBlendShapes& ARKitBlendShapesData::ar_kit_blend_shapes() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapesData.ar_kit_blend_shapes) + return _internal_ar_kit_blend_shapes(); +} +inline void ARKitBlendShapesData::unsafe_arena_set_allocated_ar_kit_blend_shapes( + ::service::ARKitBlendShapes* ar_kit_blend_shapes) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.ar_kit_blend_shapes_); + } + _impl_.ar_kit_blend_shapes_ = ar_kit_blend_shapes; + if (ar_kit_blend_shapes) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.ARKitBlendShapesData.ar_kit_blend_shapes) +} +inline ::service::ARKitBlendShapes* ARKitBlendShapesData::release_ar_kit_blend_shapes() { + + ::service::ARKitBlendShapes* temp = _impl_.ar_kit_blend_shapes_; + _impl_.ar_kit_blend_shapes_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service::ARKitBlendShapes* ARKitBlendShapesData::unsafe_arena_release_ar_kit_blend_shapes() { + // @@protoc_insertion_point(field_release:service.ARKitBlendShapesData.ar_kit_blend_shapes) + + ::service::ARKitBlendShapes* temp = _impl_.ar_kit_blend_shapes_; + _impl_.ar_kit_blend_shapes_ = nullptr; + return temp; +} +inline ::service::ARKitBlendShapes* ARKitBlendShapesData::_internal_mutable_ar_kit_blend_shapes() { + + if (_impl_.ar_kit_blend_shapes_ == nullptr) { + auto* p = CreateMaybeMessage<::service::ARKitBlendShapes>(GetArenaForAllocation()); + _impl_.ar_kit_blend_shapes_ = p; + } + return _impl_.ar_kit_blend_shapes_; +} +inline ::service::ARKitBlendShapes* ARKitBlendShapesData::mutable_ar_kit_blend_shapes() { + ::service::ARKitBlendShapes* _msg = _internal_mutable_ar_kit_blend_shapes(); + // @@protoc_insertion_point(field_mutable:service.ARKitBlendShapesData.ar_kit_blend_shapes) + return _msg; +} +inline void ARKitBlendShapesData::set_allocated_ar_kit_blend_shapes(::service::ARKitBlendShapes* ar_kit_blend_shapes) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.ar_kit_blend_shapes_; + } + if (ar_kit_blend_shapes) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(ar_kit_blend_shapes); + if (message_arena != submessage_arena) { + ar_kit_blend_shapes = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, ar_kit_blend_shapes, submessage_arena); + } + + } else { + + } + _impl_.ar_kit_blend_shapes_ = ar_kit_blend_shapes; + // @@protoc_insertion_point(field_set_allocated:service.ARKitBlendShapesData.ar_kit_blend_shapes) +} + +// ------------------------------------------------------------------- + +// ARKitBlendShapes + +// float brow_down_left = 1; +inline void ARKitBlendShapes::clear_brow_down_left() { + _impl_.brow_down_left_ = 0; +} +inline float ARKitBlendShapes::_internal_brow_down_left() const { + return _impl_.brow_down_left_; +} +inline float ARKitBlendShapes::brow_down_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.brow_down_left) + return _internal_brow_down_left(); +} +inline void ARKitBlendShapes::_internal_set_brow_down_left(float value) { + + _impl_.brow_down_left_ = value; +} +inline void ARKitBlendShapes::set_brow_down_left(float value) { + _internal_set_brow_down_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.brow_down_left) +} + +// float brow_down_right = 2; +inline void ARKitBlendShapes::clear_brow_down_right() { + _impl_.brow_down_right_ = 0; +} +inline float ARKitBlendShapes::_internal_brow_down_right() const { + return _impl_.brow_down_right_; +} +inline float ARKitBlendShapes::brow_down_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.brow_down_right) + return _internal_brow_down_right(); +} +inline void ARKitBlendShapes::_internal_set_brow_down_right(float value) { + + _impl_.brow_down_right_ = value; +} +inline void ARKitBlendShapes::set_brow_down_right(float value) { + _internal_set_brow_down_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.brow_down_right) +} + +// float brow_inner_up = 3; +inline void ARKitBlendShapes::clear_brow_inner_up() { + _impl_.brow_inner_up_ = 0; +} +inline float ARKitBlendShapes::_internal_brow_inner_up() const { + return _impl_.brow_inner_up_; +} +inline float ARKitBlendShapes::brow_inner_up() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.brow_inner_up) + return _internal_brow_inner_up(); +} +inline void ARKitBlendShapes::_internal_set_brow_inner_up(float value) { + + _impl_.brow_inner_up_ = value; +} +inline void ARKitBlendShapes::set_brow_inner_up(float value) { + _internal_set_brow_inner_up(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.brow_inner_up) +} + +// float brow_outer_up_left = 4; +inline void ARKitBlendShapes::clear_brow_outer_up_left() { + _impl_.brow_outer_up_left_ = 0; +} +inline float ARKitBlendShapes::_internal_brow_outer_up_left() const { + return _impl_.brow_outer_up_left_; +} +inline float ARKitBlendShapes::brow_outer_up_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.brow_outer_up_left) + return _internal_brow_outer_up_left(); +} +inline void ARKitBlendShapes::_internal_set_brow_outer_up_left(float value) { + + _impl_.brow_outer_up_left_ = value; +} +inline void ARKitBlendShapes::set_brow_outer_up_left(float value) { + _internal_set_brow_outer_up_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.brow_outer_up_left) +} + +// float brow_outer_up_right = 5; +inline void ARKitBlendShapes::clear_brow_outer_up_right() { + _impl_.brow_outer_up_right_ = 0; +} +inline float ARKitBlendShapes::_internal_brow_outer_up_right() const { + return _impl_.brow_outer_up_right_; +} +inline float ARKitBlendShapes::brow_outer_up_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.brow_outer_up_right) + return _internal_brow_outer_up_right(); +} +inline void ARKitBlendShapes::_internal_set_brow_outer_up_right(float value) { + + _impl_.brow_outer_up_right_ = value; +} +inline void ARKitBlendShapes::set_brow_outer_up_right(float value) { + _internal_set_brow_outer_up_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.brow_outer_up_right) +} + +// float cheek_puff = 6; +inline void ARKitBlendShapes::clear_cheek_puff() { + _impl_.cheek_puff_ = 0; +} +inline float ARKitBlendShapes::_internal_cheek_puff() const { + return _impl_.cheek_puff_; +} +inline float ARKitBlendShapes::cheek_puff() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.cheek_puff) + return _internal_cheek_puff(); +} +inline void ARKitBlendShapes::_internal_set_cheek_puff(float value) { + + _impl_.cheek_puff_ = value; +} +inline void ARKitBlendShapes::set_cheek_puff(float value) { + _internal_set_cheek_puff(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.cheek_puff) +} + +// float cheek_squint_left = 7; +inline void ARKitBlendShapes::clear_cheek_squint_left() { + _impl_.cheek_squint_left_ = 0; +} +inline float ARKitBlendShapes::_internal_cheek_squint_left() const { + return _impl_.cheek_squint_left_; +} +inline float ARKitBlendShapes::cheek_squint_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.cheek_squint_left) + return _internal_cheek_squint_left(); +} +inline void ARKitBlendShapes::_internal_set_cheek_squint_left(float value) { + + _impl_.cheek_squint_left_ = value; +} +inline void ARKitBlendShapes::set_cheek_squint_left(float value) { + _internal_set_cheek_squint_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.cheek_squint_left) +} + +// float cheek_squint_right = 8; +inline void ARKitBlendShapes::clear_cheek_squint_right() { + _impl_.cheek_squint_right_ = 0; +} +inline float ARKitBlendShapes::_internal_cheek_squint_right() const { + return _impl_.cheek_squint_right_; +} +inline float ARKitBlendShapes::cheek_squint_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.cheek_squint_right) + return _internal_cheek_squint_right(); +} +inline void ARKitBlendShapes::_internal_set_cheek_squint_right(float value) { + + _impl_.cheek_squint_right_ = value; +} +inline void ARKitBlendShapes::set_cheek_squint_right(float value) { + _internal_set_cheek_squint_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.cheek_squint_right) +} + +// float eye_blink_left = 9; +inline void ARKitBlendShapes::clear_eye_blink_left() { + _impl_.eye_blink_left_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_blink_left() const { + return _impl_.eye_blink_left_; +} +inline float ARKitBlendShapes::eye_blink_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_blink_left) + return _internal_eye_blink_left(); +} +inline void ARKitBlendShapes::_internal_set_eye_blink_left(float value) { + + _impl_.eye_blink_left_ = value; +} +inline void ARKitBlendShapes::set_eye_blink_left(float value) { + _internal_set_eye_blink_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_blink_left) +} + +// float eye_blink_right = 10; +inline void ARKitBlendShapes::clear_eye_blink_right() { + _impl_.eye_blink_right_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_blink_right() const { + return _impl_.eye_blink_right_; +} +inline float ARKitBlendShapes::eye_blink_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_blink_right) + return _internal_eye_blink_right(); +} +inline void ARKitBlendShapes::_internal_set_eye_blink_right(float value) { + + _impl_.eye_blink_right_ = value; +} +inline void ARKitBlendShapes::set_eye_blink_right(float value) { + _internal_set_eye_blink_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_blink_right) +} + +// float eye_look_down_left = 11; +inline void ARKitBlendShapes::clear_eye_look_down_left() { + _impl_.eye_look_down_left_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_down_left() const { + return _impl_.eye_look_down_left_; +} +inline float ARKitBlendShapes::eye_look_down_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_down_left) + return _internal_eye_look_down_left(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_down_left(float value) { + + _impl_.eye_look_down_left_ = value; +} +inline void ARKitBlendShapes::set_eye_look_down_left(float value) { + _internal_set_eye_look_down_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_down_left) +} + +// float eye_look_down_right = 12; +inline void ARKitBlendShapes::clear_eye_look_down_right() { + _impl_.eye_look_down_right_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_down_right() const { + return _impl_.eye_look_down_right_; +} +inline float ARKitBlendShapes::eye_look_down_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_down_right) + return _internal_eye_look_down_right(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_down_right(float value) { + + _impl_.eye_look_down_right_ = value; +} +inline void ARKitBlendShapes::set_eye_look_down_right(float value) { + _internal_set_eye_look_down_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_down_right) +} + +// float eye_look_in_left = 13; +inline void ARKitBlendShapes::clear_eye_look_in_left() { + _impl_.eye_look_in_left_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_in_left() const { + return _impl_.eye_look_in_left_; +} +inline float ARKitBlendShapes::eye_look_in_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_in_left) + return _internal_eye_look_in_left(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_in_left(float value) { + + _impl_.eye_look_in_left_ = value; +} +inline void ARKitBlendShapes::set_eye_look_in_left(float value) { + _internal_set_eye_look_in_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_in_left) +} + +// float eye_look_in_right = 14; +inline void ARKitBlendShapes::clear_eye_look_in_right() { + _impl_.eye_look_in_right_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_in_right() const { + return _impl_.eye_look_in_right_; +} +inline float ARKitBlendShapes::eye_look_in_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_in_right) + return _internal_eye_look_in_right(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_in_right(float value) { + + _impl_.eye_look_in_right_ = value; +} +inline void ARKitBlendShapes::set_eye_look_in_right(float value) { + _internal_set_eye_look_in_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_in_right) +} + +// float eye_look_out_left = 15; +inline void ARKitBlendShapes::clear_eye_look_out_left() { + _impl_.eye_look_out_left_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_out_left() const { + return _impl_.eye_look_out_left_; +} +inline float ARKitBlendShapes::eye_look_out_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_out_left) + return _internal_eye_look_out_left(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_out_left(float value) { + + _impl_.eye_look_out_left_ = value; +} +inline void ARKitBlendShapes::set_eye_look_out_left(float value) { + _internal_set_eye_look_out_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_out_left) +} + +// float eye_look_out_right = 16; +inline void ARKitBlendShapes::clear_eye_look_out_right() { + _impl_.eye_look_out_right_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_out_right() const { + return _impl_.eye_look_out_right_; +} +inline float ARKitBlendShapes::eye_look_out_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_out_right) + return _internal_eye_look_out_right(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_out_right(float value) { + + _impl_.eye_look_out_right_ = value; +} +inline void ARKitBlendShapes::set_eye_look_out_right(float value) { + _internal_set_eye_look_out_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_out_right) +} + +// float eye_look_up_left = 17; +inline void ARKitBlendShapes::clear_eye_look_up_left() { + _impl_.eye_look_up_left_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_up_left() const { + return _impl_.eye_look_up_left_; +} +inline float ARKitBlendShapes::eye_look_up_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_up_left) + return _internal_eye_look_up_left(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_up_left(float value) { + + _impl_.eye_look_up_left_ = value; +} +inline void ARKitBlendShapes::set_eye_look_up_left(float value) { + _internal_set_eye_look_up_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_up_left) +} + +// float eye_look_up_right = 18; +inline void ARKitBlendShapes::clear_eye_look_up_right() { + _impl_.eye_look_up_right_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_look_up_right() const { + return _impl_.eye_look_up_right_; +} +inline float ARKitBlendShapes::eye_look_up_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_look_up_right) + return _internal_eye_look_up_right(); +} +inline void ARKitBlendShapes::_internal_set_eye_look_up_right(float value) { + + _impl_.eye_look_up_right_ = value; +} +inline void ARKitBlendShapes::set_eye_look_up_right(float value) { + _internal_set_eye_look_up_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_look_up_right) +} + +// float eye_squint_left = 19; +inline void ARKitBlendShapes::clear_eye_squint_left() { + _impl_.eye_squint_left_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_squint_left() const { + return _impl_.eye_squint_left_; +} +inline float ARKitBlendShapes::eye_squint_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_squint_left) + return _internal_eye_squint_left(); +} +inline void ARKitBlendShapes::_internal_set_eye_squint_left(float value) { + + _impl_.eye_squint_left_ = value; +} +inline void ARKitBlendShapes::set_eye_squint_left(float value) { + _internal_set_eye_squint_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_squint_left) +} + +// float eye_squint_right = 20; +inline void ARKitBlendShapes::clear_eye_squint_right() { + _impl_.eye_squint_right_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_squint_right() const { + return _impl_.eye_squint_right_; +} +inline float ARKitBlendShapes::eye_squint_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_squint_right) + return _internal_eye_squint_right(); +} +inline void ARKitBlendShapes::_internal_set_eye_squint_right(float value) { + + _impl_.eye_squint_right_ = value; +} +inline void ARKitBlendShapes::set_eye_squint_right(float value) { + _internal_set_eye_squint_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_squint_right) +} + +// float eye_wide_left = 21; +inline void ARKitBlendShapes::clear_eye_wide_left() { + _impl_.eye_wide_left_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_wide_left() const { + return _impl_.eye_wide_left_; +} +inline float ARKitBlendShapes::eye_wide_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_wide_left) + return _internal_eye_wide_left(); +} +inline void ARKitBlendShapes::_internal_set_eye_wide_left(float value) { + + _impl_.eye_wide_left_ = value; +} +inline void ARKitBlendShapes::set_eye_wide_left(float value) { + _internal_set_eye_wide_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_wide_left) +} + +// float eye_wide_right = 22; +inline void ARKitBlendShapes::clear_eye_wide_right() { + _impl_.eye_wide_right_ = 0; +} +inline float ARKitBlendShapes::_internal_eye_wide_right() const { + return _impl_.eye_wide_right_; +} +inline float ARKitBlendShapes::eye_wide_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.eye_wide_right) + return _internal_eye_wide_right(); +} +inline void ARKitBlendShapes::_internal_set_eye_wide_right(float value) { + + _impl_.eye_wide_right_ = value; +} +inline void ARKitBlendShapes::set_eye_wide_right(float value) { + _internal_set_eye_wide_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.eye_wide_right) +} + +// float jaw_forward = 23; +inline void ARKitBlendShapes::clear_jaw_forward() { + _impl_.jaw_forward_ = 0; +} +inline float ARKitBlendShapes::_internal_jaw_forward() const { + return _impl_.jaw_forward_; +} +inline float ARKitBlendShapes::jaw_forward() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.jaw_forward) + return _internal_jaw_forward(); +} +inline void ARKitBlendShapes::_internal_set_jaw_forward(float value) { + + _impl_.jaw_forward_ = value; +} +inline void ARKitBlendShapes::set_jaw_forward(float value) { + _internal_set_jaw_forward(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.jaw_forward) +} + +// float jaw_left = 24; +inline void ARKitBlendShapes::clear_jaw_left() { + _impl_.jaw_left_ = 0; +} +inline float ARKitBlendShapes::_internal_jaw_left() const { + return _impl_.jaw_left_; +} +inline float ARKitBlendShapes::jaw_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.jaw_left) + return _internal_jaw_left(); +} +inline void ARKitBlendShapes::_internal_set_jaw_left(float value) { + + _impl_.jaw_left_ = value; +} +inline void ARKitBlendShapes::set_jaw_left(float value) { + _internal_set_jaw_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.jaw_left) +} + +// float jaw_open = 25; +inline void ARKitBlendShapes::clear_jaw_open() { + _impl_.jaw_open_ = 0; +} +inline float ARKitBlendShapes::_internal_jaw_open() const { + return _impl_.jaw_open_; +} +inline float ARKitBlendShapes::jaw_open() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.jaw_open) + return _internal_jaw_open(); +} +inline void ARKitBlendShapes::_internal_set_jaw_open(float value) { + + _impl_.jaw_open_ = value; +} +inline void ARKitBlendShapes::set_jaw_open(float value) { + _internal_set_jaw_open(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.jaw_open) +} + +// float jaw_right = 26; +inline void ARKitBlendShapes::clear_jaw_right() { + _impl_.jaw_right_ = 0; +} +inline float ARKitBlendShapes::_internal_jaw_right() const { + return _impl_.jaw_right_; +} +inline float ARKitBlendShapes::jaw_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.jaw_right) + return _internal_jaw_right(); +} +inline void ARKitBlendShapes::_internal_set_jaw_right(float value) { + + _impl_.jaw_right_ = value; +} +inline void ARKitBlendShapes::set_jaw_right(float value) { + _internal_set_jaw_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.jaw_right) +} + +// float mouth_close = 27; +inline void ARKitBlendShapes::clear_mouth_close() { + _impl_.mouth_close_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_close() const { + return _impl_.mouth_close_; +} +inline float ARKitBlendShapes::mouth_close() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_close) + return _internal_mouth_close(); +} +inline void ARKitBlendShapes::_internal_set_mouth_close(float value) { + + _impl_.mouth_close_ = value; +} +inline void ARKitBlendShapes::set_mouth_close(float value) { + _internal_set_mouth_close(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_close) +} + +// float mouth_dimple_left = 28; +inline void ARKitBlendShapes::clear_mouth_dimple_left() { + _impl_.mouth_dimple_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_dimple_left() const { + return _impl_.mouth_dimple_left_; +} +inline float ARKitBlendShapes::mouth_dimple_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_dimple_left) + return _internal_mouth_dimple_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_dimple_left(float value) { + + _impl_.mouth_dimple_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_dimple_left(float value) { + _internal_set_mouth_dimple_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_dimple_left) +} + +// float mouth_dimple_right = 29; +inline void ARKitBlendShapes::clear_mouth_dimple_right() { + _impl_.mouth_dimple_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_dimple_right() const { + return _impl_.mouth_dimple_right_; +} +inline float ARKitBlendShapes::mouth_dimple_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_dimple_right) + return _internal_mouth_dimple_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_dimple_right(float value) { + + _impl_.mouth_dimple_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_dimple_right(float value) { + _internal_set_mouth_dimple_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_dimple_right) +} + +// float mouth_frown_left = 30; +inline void ARKitBlendShapes::clear_mouth_frown_left() { + _impl_.mouth_frown_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_frown_left() const { + return _impl_.mouth_frown_left_; +} +inline float ARKitBlendShapes::mouth_frown_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_frown_left) + return _internal_mouth_frown_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_frown_left(float value) { + + _impl_.mouth_frown_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_frown_left(float value) { + _internal_set_mouth_frown_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_frown_left) +} + +// float mouth_frown_right = 31; +inline void ARKitBlendShapes::clear_mouth_frown_right() { + _impl_.mouth_frown_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_frown_right() const { + return _impl_.mouth_frown_right_; +} +inline float ARKitBlendShapes::mouth_frown_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_frown_right) + return _internal_mouth_frown_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_frown_right(float value) { + + _impl_.mouth_frown_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_frown_right(float value) { + _internal_set_mouth_frown_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_frown_right) +} + +// float mouth_funnel = 32; +inline void ARKitBlendShapes::clear_mouth_funnel() { + _impl_.mouth_funnel_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_funnel() const { + return _impl_.mouth_funnel_; +} +inline float ARKitBlendShapes::mouth_funnel() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_funnel) + return _internal_mouth_funnel(); +} +inline void ARKitBlendShapes::_internal_set_mouth_funnel(float value) { + + _impl_.mouth_funnel_ = value; +} +inline void ARKitBlendShapes::set_mouth_funnel(float value) { + _internal_set_mouth_funnel(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_funnel) +} + +// float mouth_left = 33; +inline void ARKitBlendShapes::clear_mouth_left() { + _impl_.mouth_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_left() const { + return _impl_.mouth_left_; +} +inline float ARKitBlendShapes::mouth_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_left) + return _internal_mouth_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_left(float value) { + + _impl_.mouth_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_left(float value) { + _internal_set_mouth_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_left) +} + +// float mouth_lower_down_left = 34; +inline void ARKitBlendShapes::clear_mouth_lower_down_left() { + _impl_.mouth_lower_down_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_lower_down_left() const { + return _impl_.mouth_lower_down_left_; +} +inline float ARKitBlendShapes::mouth_lower_down_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_lower_down_left) + return _internal_mouth_lower_down_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_lower_down_left(float value) { + + _impl_.mouth_lower_down_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_lower_down_left(float value) { + _internal_set_mouth_lower_down_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_lower_down_left) +} + +// float mouth_lower_down_right = 35; +inline void ARKitBlendShapes::clear_mouth_lower_down_right() { + _impl_.mouth_lower_down_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_lower_down_right() const { + return _impl_.mouth_lower_down_right_; +} +inline float ARKitBlendShapes::mouth_lower_down_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_lower_down_right) + return _internal_mouth_lower_down_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_lower_down_right(float value) { + + _impl_.mouth_lower_down_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_lower_down_right(float value) { + _internal_set_mouth_lower_down_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_lower_down_right) +} + +// float mouth_press_left = 36; +inline void ARKitBlendShapes::clear_mouth_press_left() { + _impl_.mouth_press_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_press_left() const { + return _impl_.mouth_press_left_; +} +inline float ARKitBlendShapes::mouth_press_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_press_left) + return _internal_mouth_press_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_press_left(float value) { + + _impl_.mouth_press_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_press_left(float value) { + _internal_set_mouth_press_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_press_left) +} + +// float mouth_press_right = 37; +inline void ARKitBlendShapes::clear_mouth_press_right() { + _impl_.mouth_press_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_press_right() const { + return _impl_.mouth_press_right_; +} +inline float ARKitBlendShapes::mouth_press_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_press_right) + return _internal_mouth_press_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_press_right(float value) { + + _impl_.mouth_press_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_press_right(float value) { + _internal_set_mouth_press_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_press_right) +} + +// float mouth_pucker = 38; +inline void ARKitBlendShapes::clear_mouth_pucker() { + _impl_.mouth_pucker_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_pucker() const { + return _impl_.mouth_pucker_; +} +inline float ARKitBlendShapes::mouth_pucker() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_pucker) + return _internal_mouth_pucker(); +} +inline void ARKitBlendShapes::_internal_set_mouth_pucker(float value) { + + _impl_.mouth_pucker_ = value; +} +inline void ARKitBlendShapes::set_mouth_pucker(float value) { + _internal_set_mouth_pucker(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_pucker) +} + +// float mouth_right = 39; +inline void ARKitBlendShapes::clear_mouth_right() { + _impl_.mouth_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_right() const { + return _impl_.mouth_right_; +} +inline float ARKitBlendShapes::mouth_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_right) + return _internal_mouth_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_right(float value) { + + _impl_.mouth_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_right(float value) { + _internal_set_mouth_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_right) +} + +// float mouth_roll_lower = 40; +inline void ARKitBlendShapes::clear_mouth_roll_lower() { + _impl_.mouth_roll_lower_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_roll_lower() const { + return _impl_.mouth_roll_lower_; +} +inline float ARKitBlendShapes::mouth_roll_lower() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_roll_lower) + return _internal_mouth_roll_lower(); +} +inline void ARKitBlendShapes::_internal_set_mouth_roll_lower(float value) { + + _impl_.mouth_roll_lower_ = value; +} +inline void ARKitBlendShapes::set_mouth_roll_lower(float value) { + _internal_set_mouth_roll_lower(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_roll_lower) +} + +// float mouth_roll_upper = 41; +inline void ARKitBlendShapes::clear_mouth_roll_upper() { + _impl_.mouth_roll_upper_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_roll_upper() const { + return _impl_.mouth_roll_upper_; +} +inline float ARKitBlendShapes::mouth_roll_upper() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_roll_upper) + return _internal_mouth_roll_upper(); +} +inline void ARKitBlendShapes::_internal_set_mouth_roll_upper(float value) { + + _impl_.mouth_roll_upper_ = value; +} +inline void ARKitBlendShapes::set_mouth_roll_upper(float value) { + _internal_set_mouth_roll_upper(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_roll_upper) +} + +// float mouth_shrug_lower = 42; +inline void ARKitBlendShapes::clear_mouth_shrug_lower() { + _impl_.mouth_shrug_lower_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_shrug_lower() const { + return _impl_.mouth_shrug_lower_; +} +inline float ARKitBlendShapes::mouth_shrug_lower() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_shrug_lower) + return _internal_mouth_shrug_lower(); +} +inline void ARKitBlendShapes::_internal_set_mouth_shrug_lower(float value) { + + _impl_.mouth_shrug_lower_ = value; +} +inline void ARKitBlendShapes::set_mouth_shrug_lower(float value) { + _internal_set_mouth_shrug_lower(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_shrug_lower) +} + +// float mouth_shrug_upper = 43; +inline void ARKitBlendShapes::clear_mouth_shrug_upper() { + _impl_.mouth_shrug_upper_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_shrug_upper() const { + return _impl_.mouth_shrug_upper_; +} +inline float ARKitBlendShapes::mouth_shrug_upper() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_shrug_upper) + return _internal_mouth_shrug_upper(); +} +inline void ARKitBlendShapes::_internal_set_mouth_shrug_upper(float value) { + + _impl_.mouth_shrug_upper_ = value; +} +inline void ARKitBlendShapes::set_mouth_shrug_upper(float value) { + _internal_set_mouth_shrug_upper(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_shrug_upper) +} + +// float mouth_smile_left = 44; +inline void ARKitBlendShapes::clear_mouth_smile_left() { + _impl_.mouth_smile_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_smile_left() const { + return _impl_.mouth_smile_left_; +} +inline float ARKitBlendShapes::mouth_smile_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_smile_left) + return _internal_mouth_smile_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_smile_left(float value) { + + _impl_.mouth_smile_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_smile_left(float value) { + _internal_set_mouth_smile_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_smile_left) +} + +// float mouth_smile_right = 45; +inline void ARKitBlendShapes::clear_mouth_smile_right() { + _impl_.mouth_smile_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_smile_right() const { + return _impl_.mouth_smile_right_; +} +inline float ARKitBlendShapes::mouth_smile_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_smile_right) + return _internal_mouth_smile_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_smile_right(float value) { + + _impl_.mouth_smile_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_smile_right(float value) { + _internal_set_mouth_smile_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_smile_right) +} + +// float mouth_stretch_left = 46; +inline void ARKitBlendShapes::clear_mouth_stretch_left() { + _impl_.mouth_stretch_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_stretch_left() const { + return _impl_.mouth_stretch_left_; +} +inline float ARKitBlendShapes::mouth_stretch_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_stretch_left) + return _internal_mouth_stretch_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_stretch_left(float value) { + + _impl_.mouth_stretch_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_stretch_left(float value) { + _internal_set_mouth_stretch_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_stretch_left) +} + +// float mouth_stretch_right = 47; +inline void ARKitBlendShapes::clear_mouth_stretch_right() { + _impl_.mouth_stretch_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_stretch_right() const { + return _impl_.mouth_stretch_right_; +} +inline float ARKitBlendShapes::mouth_stretch_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_stretch_right) + return _internal_mouth_stretch_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_stretch_right(float value) { + + _impl_.mouth_stretch_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_stretch_right(float value) { + _internal_set_mouth_stretch_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_stretch_right) +} + +// float mouth_upper_up_left = 48; +inline void ARKitBlendShapes::clear_mouth_upper_up_left() { + _impl_.mouth_upper_up_left_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_upper_up_left() const { + return _impl_.mouth_upper_up_left_; +} +inline float ARKitBlendShapes::mouth_upper_up_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_upper_up_left) + return _internal_mouth_upper_up_left(); +} +inline void ARKitBlendShapes::_internal_set_mouth_upper_up_left(float value) { + + _impl_.mouth_upper_up_left_ = value; +} +inline void ARKitBlendShapes::set_mouth_upper_up_left(float value) { + _internal_set_mouth_upper_up_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_upper_up_left) +} + +// float mouth_upper_up_right = 49; +inline void ARKitBlendShapes::clear_mouth_upper_up_right() { + _impl_.mouth_upper_up_right_ = 0; +} +inline float ARKitBlendShapes::_internal_mouth_upper_up_right() const { + return _impl_.mouth_upper_up_right_; +} +inline float ARKitBlendShapes::mouth_upper_up_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.mouth_upper_up_right) + return _internal_mouth_upper_up_right(); +} +inline void ARKitBlendShapes::_internal_set_mouth_upper_up_right(float value) { + + _impl_.mouth_upper_up_right_ = value; +} +inline void ARKitBlendShapes::set_mouth_upper_up_right(float value) { + _internal_set_mouth_upper_up_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.mouth_upper_up_right) +} + +// float nose_sneer_left = 50; +inline void ARKitBlendShapes::clear_nose_sneer_left() { + _impl_.nose_sneer_left_ = 0; +} +inline float ARKitBlendShapes::_internal_nose_sneer_left() const { + return _impl_.nose_sneer_left_; +} +inline float ARKitBlendShapes::nose_sneer_left() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.nose_sneer_left) + return _internal_nose_sneer_left(); +} +inline void ARKitBlendShapes::_internal_set_nose_sneer_left(float value) { + + _impl_.nose_sneer_left_ = value; +} +inline void ARKitBlendShapes::set_nose_sneer_left(float value) { + _internal_set_nose_sneer_left(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.nose_sneer_left) +} + +// float nose_sneer_right = 51; +inline void ARKitBlendShapes::clear_nose_sneer_right() { + _impl_.nose_sneer_right_ = 0; +} +inline float ARKitBlendShapes::_internal_nose_sneer_right() const { + return _impl_.nose_sneer_right_; +} +inline float ARKitBlendShapes::nose_sneer_right() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.nose_sneer_right) + return _internal_nose_sneer_right(); +} +inline void ARKitBlendShapes::_internal_set_nose_sneer_right(float value) { + + _impl_.nose_sneer_right_ = value; +} +inline void ARKitBlendShapes::set_nose_sneer_right(float value) { + _internal_set_nose_sneer_right(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.nose_sneer_right) +} + +// float tongue_out = 52; +inline void ARKitBlendShapes::clear_tongue_out() { + _impl_.tongue_out_ = 0; +} +inline float ARKitBlendShapes::_internal_tongue_out() const { + return _impl_.tongue_out_; +} +inline float ARKitBlendShapes::tongue_out() const { + // @@protoc_insertion_point(field_get:service.ARKitBlendShapes.tongue_out) + return _internal_tongue_out(); +} +inline void ARKitBlendShapes::_internal_set_tongue_out(float value) { + + _impl_.tongue_out_ = value; +} +inline void ARKitBlendShapes::set_tongue_out(float value) { + _internal_set_tongue_out(value); + // @@protoc_insertion_point(field_set:service.ARKitBlendShapes.tongue_out) +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace service + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_arkit_5fblend_5fshapes_2eproto + +#endif diff --git a/ConvAI/Convai/Source/Convai/Private/Proto/service.grpc.pb.cc b/ConvAI/Convai/Source/Convai/Private/Proto/service.grpc.pb.cc new file mode 100644 index 0000000..2784a5e --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/Proto/service.grpc.pb.cc @@ -0,0 +1,552 @@ +#if defined(_WIN32) || defined(__ANDROID__) +#if defined(_MSC_VER) + #pragma warning (disable:4018) // 'expression' : signed/unsigned mismatch + #pragma warning (disable:4065) // switch statement contains 'default' but no 'case' labels + #pragma warning (disable:4146) // unary minus operator applied to unsigned type, result still unsigned + #pragma warning (disable:4244) // 'conversion' conversion from 'type1' to 'type2', possible loss of data + #pragma warning (disable:4251) // 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' + #pragma warning (disable:4267) // 'var' : conversion from 'size_t' to 'type', possible loss of data + #pragma warning (disable:4305) // 'identifier' : truncation from 'type1' to 'type2' + #pragma warning (disable:4307) // 'operator' : integral constant overflow + #pragma warning (disable:4309) // 'conversion' : truncation of constant value + #pragma warning (disable:4334) // 'operator' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) + #pragma warning (disable:4355) // 'this' : used in base member initializer list + #pragma warning (disable:4506) // no definition for inline function 'function' + #pragma warning (disable:4996) // The compiler encountered a deprecated declaration. + #pragma warning (disable:4125) // decimal digit terminates octal escape sequence + #pragma warning (disable:4800) // decimal digit terminates octal escape sequence + #endif + + // Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: service.proto + +#include "service.pb.h" +#include "service.grpc.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +namespace service { + +static const char* ConvaiService_method_names[] = { + "/service.ConvaiService/Hello", + "/service.ConvaiService/HelloStream", + "/service.ConvaiService/SpeechToText", + "/service.ConvaiService/GetResponse", + "/service.ConvaiService/GetResponseSingle", + "/service.ConvaiService/SubmitFeedback", +}; + +std::unique_ptr< ConvaiService::Stub> ConvaiService::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) { + (void)options; + std::unique_ptr< ConvaiService::Stub> stub(new ConvaiService::Stub(channel)); + return stub; +} + +ConvaiService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel) + : channel_(channel), rpcmethod_Hello_(ConvaiService_method_names[0], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_HelloStream_(ConvaiService_method_names[1], ::grpc::internal::RpcMethod::BIDI_STREAMING, channel) + , rpcmethod_SpeechToText_(ConvaiService_method_names[2], ::grpc::internal::RpcMethod::BIDI_STREAMING, channel) + , rpcmethod_GetResponse_(ConvaiService_method_names[3], ::grpc::internal::RpcMethod::BIDI_STREAMING, channel) + , rpcmethod_GetResponseSingle_(ConvaiService_method_names[4], ::grpc::internal::RpcMethod::SERVER_STREAMING, channel) + , rpcmethod_SubmitFeedback_(ConvaiService_method_names[5], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + {} + +::grpc::Status ConvaiService::Stub::Hello(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::service::HelloResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::service::HelloRequest, ::service::HelloResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Hello_, context, request, response); +} + +void ConvaiService::Stub::experimental_async::Hello(::grpc::ClientContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::service::HelloRequest, ::service::HelloResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Hello_, context, request, response, std::move(f)); +} + +void ConvaiService::Stub::experimental_async::Hello(::grpc::ClientContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Hello_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::service::HelloResponse>* ConvaiService::Stub::PrepareAsyncHelloRaw(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::service::HelloResponse, ::service::HelloRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Hello_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::service::HelloResponse>* ConvaiService::Stub::AsyncHelloRaw(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncHelloRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::ClientReaderWriter< ::service::HelloRequest, ::service::HelloResponse>* ConvaiService::Stub::HelloStreamRaw(::grpc::ClientContext* context) { + return ::grpc::internal::ClientReaderWriterFactory< ::service::HelloRequest, ::service::HelloResponse>::Create(channel_.get(), rpcmethod_HelloStream_, context); +} + +void ConvaiService::Stub::experimental_async::HelloStream(::grpc::ClientContext* context, ::grpc::experimental::ClientBidiReactor< ::service::HelloRequest,::service::HelloResponse>* reactor) { + ::grpc::internal::ClientCallbackReaderWriterFactory< ::service::HelloRequest,::service::HelloResponse>::Create(stub_->channel_.get(), stub_->rpcmethod_HelloStream_, context, reactor); +} + +::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>* ConvaiService::Stub::AsyncHelloStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return ::grpc::internal::ClientAsyncReaderWriterFactory< ::service::HelloRequest, ::service::HelloResponse>::Create(channel_.get(), cq, rpcmethod_HelloStream_, context, true, tag); +} + +::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>* ConvaiService::Stub::PrepareAsyncHelloStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncReaderWriterFactory< ::service::HelloRequest, ::service::HelloResponse>::Create(channel_.get(), cq, rpcmethod_HelloStream_, context, false, nullptr); +} + +::grpc::ClientReaderWriter< ::service::STTRequest, ::service::STTResponse>* ConvaiService::Stub::SpeechToTextRaw(::grpc::ClientContext* context) { + return ::grpc::internal::ClientReaderWriterFactory< ::service::STTRequest, ::service::STTResponse>::Create(channel_.get(), rpcmethod_SpeechToText_, context); +} + +void ConvaiService::Stub::experimental_async::SpeechToText(::grpc::ClientContext* context, ::grpc::experimental::ClientBidiReactor< ::service::STTRequest,::service::STTResponse>* reactor) { + ::grpc::internal::ClientCallbackReaderWriterFactory< ::service::STTRequest,::service::STTResponse>::Create(stub_->channel_.get(), stub_->rpcmethod_SpeechToText_, context, reactor); +} + +::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>* ConvaiService::Stub::AsyncSpeechToTextRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return ::grpc::internal::ClientAsyncReaderWriterFactory< ::service::STTRequest, ::service::STTResponse>::Create(channel_.get(), cq, rpcmethod_SpeechToText_, context, true, tag); +} + +::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>* ConvaiService::Stub::PrepareAsyncSpeechToTextRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncReaderWriterFactory< ::service::STTRequest, ::service::STTResponse>::Create(channel_.get(), cq, rpcmethod_SpeechToText_, context, false, nullptr); +} + +::grpc::ClientReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>* ConvaiService::Stub::GetResponseRaw(::grpc::ClientContext* context) { + return ::grpc::internal::ClientReaderWriterFactory< ::service::GetResponseRequest, ::service::GetResponseResponse>::Create(channel_.get(), rpcmethod_GetResponse_, context); +} + +void ConvaiService::Stub::experimental_async::GetResponse(::grpc::ClientContext* context, ::grpc::experimental::ClientBidiReactor< ::service::GetResponseRequest,::service::GetResponseResponse>* reactor) { + ::grpc::internal::ClientCallbackReaderWriterFactory< ::service::GetResponseRequest,::service::GetResponseResponse>::Create(stub_->channel_.get(), stub_->rpcmethod_GetResponse_, context, reactor); +} + +::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>* ConvaiService::Stub::AsyncGetResponseRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return ::grpc::internal::ClientAsyncReaderWriterFactory< ::service::GetResponseRequest, ::service::GetResponseResponse>::Create(channel_.get(), cq, rpcmethod_GetResponse_, context, true, tag); +} + +::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>* ConvaiService::Stub::PrepareAsyncGetResponseRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncReaderWriterFactory< ::service::GetResponseRequest, ::service::GetResponseResponse>::Create(channel_.get(), cq, rpcmethod_GetResponse_, context, false, nullptr); +} + +::grpc::ClientReader< ::service::GetResponseResponse>* ConvaiService::Stub::GetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request) { + return ::grpc::internal::ClientReaderFactory< ::service::GetResponseResponse>::Create(channel_.get(), rpcmethod_GetResponseSingle_, context, request); +} + +void ConvaiService::Stub::experimental_async::GetResponseSingle(::grpc::ClientContext* context, ::service::GetResponseRequestSingle* request, ::grpc::experimental::ClientReadReactor< ::service::GetResponseResponse>* reactor) { + ::grpc::internal::ClientCallbackReaderFactory< ::service::GetResponseResponse>::Create(stub_->channel_.get(), stub_->rpcmethod_GetResponseSingle_, context, request, reactor); +} + +::grpc::ClientAsyncReader< ::service::GetResponseResponse>* ConvaiService::Stub::AsyncGetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq, void* tag) { + return ::grpc::internal::ClientAsyncReaderFactory< ::service::GetResponseResponse>::Create(channel_.get(), cq, rpcmethod_GetResponseSingle_, context, request, true, tag); +} + +::grpc::ClientAsyncReader< ::service::GetResponseResponse>* ConvaiService::Stub::PrepareAsyncGetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncReaderFactory< ::service::GetResponseResponse>::Create(channel_.get(), cq, rpcmethod_GetResponseSingle_, context, request, false, nullptr); +} + +::grpc::Status ConvaiService::Stub::SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::service::FeedbackResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::service::FeedbackRequest, ::service::FeedbackResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SubmitFeedback_, context, request, response); +} + +void ConvaiService::Stub::experimental_async::SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::service::FeedbackRequest, ::service::FeedbackResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SubmitFeedback_, context, request, response, std::move(f)); +} + +void ConvaiService::Stub::experimental_async::SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SubmitFeedback_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>* ConvaiService::Stub::PrepareAsyncSubmitFeedbackRaw(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::service::FeedbackResponse, ::service::FeedbackRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SubmitFeedback_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>* ConvaiService::Stub::AsyncSubmitFeedbackRaw(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncSubmitFeedbackRaw(context, request, cq); + result->StartCall(); + return result; +} + +ConvaiService::Service::Service() { + AddMethod(new ::grpc::internal::RpcServiceMethod( + ConvaiService_method_names[0], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< ConvaiService::Service, ::service::HelloRequest, ::service::HelloResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](ConvaiService::Service* service, + ::grpc::ServerContext* ctx, + const ::service::HelloRequest* req, + ::service::HelloResponse* resp) { + return service->Hello(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + ConvaiService_method_names[1], + ::grpc::internal::RpcMethod::BIDI_STREAMING, + new ::grpc::internal::BidiStreamingHandler< ConvaiService::Service, ::service::HelloRequest, ::service::HelloResponse>( + [](ConvaiService::Service* service, + ::grpc::ServerContext* ctx, + ::grpc::ServerReaderWriter<::service::HelloResponse, + ::service::HelloRequest>* stream) { + return service->HelloStream(ctx, stream); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + ConvaiService_method_names[2], + ::grpc::internal::RpcMethod::BIDI_STREAMING, + new ::grpc::internal::BidiStreamingHandler< ConvaiService::Service, ::service::STTRequest, ::service::STTResponse>( + [](ConvaiService::Service* service, + ::grpc::ServerContext* ctx, + ::grpc::ServerReaderWriter<::service::STTResponse, + ::service::STTRequest>* stream) { + return service->SpeechToText(ctx, stream); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + ConvaiService_method_names[3], + ::grpc::internal::RpcMethod::BIDI_STREAMING, + new ::grpc::internal::BidiStreamingHandler< ConvaiService::Service, ::service::GetResponseRequest, ::service::GetResponseResponse>( + [](ConvaiService::Service* service, + ::grpc::ServerContext* ctx, + ::grpc::ServerReaderWriter<::service::GetResponseResponse, + ::service::GetResponseRequest>* stream) { + return service->GetResponse(ctx, stream); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + ConvaiService_method_names[4], + ::grpc::internal::RpcMethod::SERVER_STREAMING, + new ::grpc::internal::ServerStreamingHandler< ConvaiService::Service, ::service::GetResponseRequestSingle, ::service::GetResponseResponse>( + [](ConvaiService::Service* service, + ::grpc::ServerContext* ctx, + const ::service::GetResponseRequestSingle* req, + ::grpc::ServerWriter<::service::GetResponseResponse>* writer) { + return service->GetResponseSingle(ctx, req, writer); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + ConvaiService_method_names[5], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< ConvaiService::Service, ::service::FeedbackRequest, ::service::FeedbackResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](ConvaiService::Service* service, + ::grpc::ServerContext* ctx, + const ::service::FeedbackRequest* req, + ::service::FeedbackResponse* resp) { + return service->SubmitFeedback(ctx, req, resp); + }, this))); +} + +ConvaiService::Service::~Service() { +} + +::grpc::Status ConvaiService::Service::Hello(::grpc::ServerContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status ConvaiService::Service::HelloStream(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* stream) { + (void) context; + (void) stream; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status ConvaiService::Service::SpeechToText(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service::STTResponse, ::service::STTRequest>* stream) { + (void) context; + (void) stream; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status ConvaiService::Service::GetResponse(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* stream) { + (void) context; + (void) stream; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status ConvaiService::Service::GetResponseSingle(::grpc::ServerContext* context, const ::service::GetResponseRequestSingle* request, ::grpc::ServerWriter< ::service::GetResponseResponse>* writer) { + (void) context; + (void) request; + (void) writer; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status ConvaiService::Service::SubmitFeedback(::grpc::ServerContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + + +} // namespace service + +#else +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: service.proto + +#include "service.pb.h" +#include "service.grpc.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +namespace service { + +static const char* ConvaiService_method_names[] = { + "/service.ConvaiService/Hello", + "/service.ConvaiService/HelloStream", + "/service.ConvaiService/SpeechToText", + "/service.ConvaiService/GetResponse", + "/service.ConvaiService/GetResponseSingle", + "/service.ConvaiService/SubmitFeedback", +}; + +std::unique_ptr< ConvaiService::Stub> ConvaiService::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) { + (void)options; + std::unique_ptr< ConvaiService::Stub> stub(new ConvaiService::Stub(channel, options)); + return stub; +} + +ConvaiService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) + : channel_(channel), rpcmethod_Hello_(ConvaiService_method_names[0], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_HelloStream_(ConvaiService_method_names[1], options.suffix_for_stats(),::grpc::internal::RpcMethod::BIDI_STREAMING, channel) + , rpcmethod_SpeechToText_(ConvaiService_method_names[2], options.suffix_for_stats(),::grpc::internal::RpcMethod::BIDI_STREAMING, channel) + , rpcmethod_GetResponse_(ConvaiService_method_names[3], options.suffix_for_stats(),::grpc::internal::RpcMethod::BIDI_STREAMING, channel) + , rpcmethod_GetResponseSingle_(ConvaiService_method_names[4], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel) + , rpcmethod_SubmitFeedback_(ConvaiService_method_names[5], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + {} + +::grpc::Status ConvaiService::Stub::Hello(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::service::HelloResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::service::HelloRequest, ::service::HelloResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Hello_, context, request, response); +} + +void ConvaiService::Stub::async::Hello(::grpc::ClientContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::service::HelloRequest, ::service::HelloResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Hello_, context, request, response, std::move(f)); +} + +void ConvaiService::Stub::async::Hello(::grpc::ClientContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Hello_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::service::HelloResponse>* ConvaiService::Stub::PrepareAsyncHelloRaw(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::service::HelloResponse, ::service::HelloRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Hello_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::service::HelloResponse>* ConvaiService::Stub::AsyncHelloRaw(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncHelloRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::ClientReaderWriter< ::service::HelloRequest, ::service::HelloResponse>* ConvaiService::Stub::HelloStreamRaw(::grpc::ClientContext* context) { + return ::grpc::internal::ClientReaderWriterFactory< ::service::HelloRequest, ::service::HelloResponse>::Create(channel_.get(), rpcmethod_HelloStream_, context); +} + +void ConvaiService::Stub::async::HelloStream(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service::HelloRequest,::service::HelloResponse>* reactor) { + ::grpc::internal::ClientCallbackReaderWriterFactory< ::service::HelloRequest,::service::HelloResponse>::Create(stub_->channel_.get(), stub_->rpcmethod_HelloStream_, context, reactor); +} + +::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>* ConvaiService::Stub::AsyncHelloStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return ::grpc::internal::ClientAsyncReaderWriterFactory< ::service::HelloRequest, ::service::HelloResponse>::Create(channel_.get(), cq, rpcmethod_HelloStream_, context, true, tag); +} + +::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>* ConvaiService::Stub::PrepareAsyncHelloStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncReaderWriterFactory< ::service::HelloRequest, ::service::HelloResponse>::Create(channel_.get(), cq, rpcmethod_HelloStream_, context, false, nullptr); +} + +::grpc::ClientReaderWriter< ::service::STTRequest, ::service::STTResponse>* ConvaiService::Stub::SpeechToTextRaw(::grpc::ClientContext* context) { + return ::grpc::internal::ClientReaderWriterFactory< ::service::STTRequest, ::service::STTResponse>::Create(channel_.get(), rpcmethod_SpeechToText_, context); +} + +void ConvaiService::Stub::async::SpeechToText(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service::STTRequest,::service::STTResponse>* reactor) { + ::grpc::internal::ClientCallbackReaderWriterFactory< ::service::STTRequest,::service::STTResponse>::Create(stub_->channel_.get(), stub_->rpcmethod_SpeechToText_, context, reactor); +} + +::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>* ConvaiService::Stub::AsyncSpeechToTextRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return ::grpc::internal::ClientAsyncReaderWriterFactory< ::service::STTRequest, ::service::STTResponse>::Create(channel_.get(), cq, rpcmethod_SpeechToText_, context, true, tag); +} + +::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>* ConvaiService::Stub::PrepareAsyncSpeechToTextRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncReaderWriterFactory< ::service::STTRequest, ::service::STTResponse>::Create(channel_.get(), cq, rpcmethod_SpeechToText_, context, false, nullptr); +} + +::grpc::ClientReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>* ConvaiService::Stub::GetResponseRaw(::grpc::ClientContext* context) { + return ::grpc::internal::ClientReaderWriterFactory< ::service::GetResponseRequest, ::service::GetResponseResponse>::Create(channel_.get(), rpcmethod_GetResponse_, context); +} + +void ConvaiService::Stub::async::GetResponse(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service::GetResponseRequest,::service::GetResponseResponse>* reactor) { + ::grpc::internal::ClientCallbackReaderWriterFactory< ::service::GetResponseRequest,::service::GetResponseResponse>::Create(stub_->channel_.get(), stub_->rpcmethod_GetResponse_, context, reactor); +} + +::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>* ConvaiService::Stub::AsyncGetResponseRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return ::grpc::internal::ClientAsyncReaderWriterFactory< ::service::GetResponseRequest, ::service::GetResponseResponse>::Create(channel_.get(), cq, rpcmethod_GetResponse_, context, true, tag); +} + +::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>* ConvaiService::Stub::PrepareAsyncGetResponseRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncReaderWriterFactory< ::service::GetResponseRequest, ::service::GetResponseResponse>::Create(channel_.get(), cq, rpcmethod_GetResponse_, context, false, nullptr); +} + +::grpc::ClientReader< ::service::GetResponseResponse>* ConvaiService::Stub::GetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request) { + return ::grpc::internal::ClientReaderFactory< ::service::GetResponseResponse>::Create(channel_.get(), rpcmethod_GetResponseSingle_, context, request); +} + +void ConvaiService::Stub::async::GetResponseSingle(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle* request, ::grpc::ClientReadReactor< ::service::GetResponseResponse>* reactor) { + ::grpc::internal::ClientCallbackReaderFactory< ::service::GetResponseResponse>::Create(stub_->channel_.get(), stub_->rpcmethod_GetResponseSingle_, context, request, reactor); +} + +::grpc::ClientAsyncReader< ::service::GetResponseResponse>* ConvaiService::Stub::AsyncGetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq, void* tag) { + return ::grpc::internal::ClientAsyncReaderFactory< ::service::GetResponseResponse>::Create(channel_.get(), cq, rpcmethod_GetResponseSingle_, context, request, true, tag); +} + +::grpc::ClientAsyncReader< ::service::GetResponseResponse>* ConvaiService::Stub::PrepareAsyncGetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncReaderFactory< ::service::GetResponseResponse>::Create(channel_.get(), cq, rpcmethod_GetResponseSingle_, context, request, false, nullptr); +} + +::grpc::Status ConvaiService::Stub::SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::service::FeedbackResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::service::FeedbackRequest, ::service::FeedbackResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SubmitFeedback_, context, request, response); +} + +void ConvaiService::Stub::async::SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::service::FeedbackRequest, ::service::FeedbackResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SubmitFeedback_, context, request, response, std::move(f)); +} + +void ConvaiService::Stub::async::SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SubmitFeedback_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>* ConvaiService::Stub::PrepareAsyncSubmitFeedbackRaw(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::service::FeedbackResponse, ::service::FeedbackRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SubmitFeedback_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>* ConvaiService::Stub::AsyncSubmitFeedbackRaw(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncSubmitFeedbackRaw(context, request, cq); + result->StartCall(); + return result; +} + +ConvaiService::Service::Service() { + AddMethod(new ::grpc::internal::RpcServiceMethod( + ConvaiService_method_names[0], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< ConvaiService::Service, ::service::HelloRequest, ::service::HelloResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](ConvaiService::Service* service, + ::grpc::ServerContext* ctx, + const ::service::HelloRequest* req, + ::service::HelloResponse* resp) { + return service->Hello(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + ConvaiService_method_names[1], + ::grpc::internal::RpcMethod::BIDI_STREAMING, + new ::grpc::internal::BidiStreamingHandler< ConvaiService::Service, ::service::HelloRequest, ::service::HelloResponse>( + [](ConvaiService::Service* service, + ::grpc::ServerContext* ctx, + ::grpc::ServerReaderWriter<::service::HelloResponse, + ::service::HelloRequest>* stream) { + return service->HelloStream(ctx, stream); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + ConvaiService_method_names[2], + ::grpc::internal::RpcMethod::BIDI_STREAMING, + new ::grpc::internal::BidiStreamingHandler< ConvaiService::Service, ::service::STTRequest, ::service::STTResponse>( + [](ConvaiService::Service* service, + ::grpc::ServerContext* ctx, + ::grpc::ServerReaderWriter<::service::STTResponse, + ::service::STTRequest>* stream) { + return service->SpeechToText(ctx, stream); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + ConvaiService_method_names[3], + ::grpc::internal::RpcMethod::BIDI_STREAMING, + new ::grpc::internal::BidiStreamingHandler< ConvaiService::Service, ::service::GetResponseRequest, ::service::GetResponseResponse>( + [](ConvaiService::Service* service, + ::grpc::ServerContext* ctx, + ::grpc::ServerReaderWriter<::service::GetResponseResponse, + ::service::GetResponseRequest>* stream) { + return service->GetResponse(ctx, stream); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + ConvaiService_method_names[4], + ::grpc::internal::RpcMethod::SERVER_STREAMING, + new ::grpc::internal::ServerStreamingHandler< ConvaiService::Service, ::service::GetResponseRequestSingle, ::service::GetResponseResponse>( + [](ConvaiService::Service* service, + ::grpc::ServerContext* ctx, + const ::service::GetResponseRequestSingle* req, + ::grpc::ServerWriter<::service::GetResponseResponse>* writer) { + return service->GetResponseSingle(ctx, req, writer); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + ConvaiService_method_names[5], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< ConvaiService::Service, ::service::FeedbackRequest, ::service::FeedbackResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](ConvaiService::Service* service, + ::grpc::ServerContext* ctx, + const ::service::FeedbackRequest* req, + ::service::FeedbackResponse* resp) { + return service->SubmitFeedback(ctx, req, resp); + }, this))); +} + +ConvaiService::Service::~Service() { +} + +::grpc::Status ConvaiService::Service::Hello(::grpc::ServerContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status ConvaiService::Service::HelloStream(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* stream) { + (void) context; + (void) stream; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status ConvaiService::Service::SpeechToText(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service::STTResponse, ::service::STTRequest>* stream) { + (void) context; + (void) stream; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status ConvaiService::Service::GetResponse(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* stream) { + (void) context; + (void) stream; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status ConvaiService::Service::GetResponseSingle(::grpc::ServerContext* context, const ::service::GetResponseRequestSingle* request, ::grpc::ServerWriter< ::service::GetResponseResponse>* writer) { + (void) context; + (void) request; + (void) writer; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status ConvaiService::Service::SubmitFeedback(::grpc::ServerContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + + +} // namespace service + + +#endif diff --git a/ConvAI/Convai/Source/Convai/Private/Proto/service.grpc.pb.h b/ConvAI/Convai/Source/Convai/Private/Proto/service.grpc.pb.h new file mode 100644 index 0000000..3cfcfd6 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/Proto/service.grpc.pb.h @@ -0,0 +1,2168 @@ +#if defined(_WIN32) || defined(__ANDROID__) +#if defined(_MSC_VER) + #pragma warning (disable:4018) // 'expression' : signed/unsigned mismatch + #pragma warning (disable:4065) // switch statement contains 'default' but no 'case' labels + #pragma warning (disable:4146) // unary minus operator applied to unsigned type, result still unsigned + #pragma warning (disable:4244) // 'conversion' conversion from 'type1' to 'type2', possible loss of data + #pragma warning (disable:4251) // 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' + #pragma warning (disable:4267) // 'var' : conversion from 'size_t' to 'type', possible loss of data + #pragma warning (disable:4305) // 'identifier' : truncation from 'type1' to 'type2' + #pragma warning (disable:4307) // 'operator' : integral constant overflow + #pragma warning (disable:4309) // 'conversion' : truncation of constant value + #pragma warning (disable:4334) // 'operator' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) + #pragma warning (disable:4355) // 'this' : used in base member initializer list + #pragma warning (disable:4506) // no definition for inline function 'function' + #pragma warning (disable:4996) // The compiler encountered a deprecated declaration. + #pragma warning (disable:4125) // decimal digit terminates octal escape sequence + #pragma warning (disable:4800) // decimal digit terminates octal escape sequence + #endif + + // Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: service.proto +// Original file comments: +// service.proto +#ifndef GRPC_service_2eproto__INCLUDED +#define GRPC_service_2eproto__INCLUDED + +#include "service.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace service { + +class ConvaiService final { + public: + static constexpr char const* service_full_name() { + return "service.ConvaiService"; + } + class StubInterface { + public: + virtual ~StubInterface() {} + virtual ::grpc::Status Hello(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::service::HelloResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::HelloResponse>> AsyncHello(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::HelloResponse>>(AsyncHelloRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::HelloResponse>> PrepareAsyncHello(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::HelloResponse>>(PrepareAsyncHelloRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>> HelloStream(::grpc::ClientContext* context) { + return std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>>(HelloStreamRaw(context)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>> AsyncHelloStream(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>>(AsyncHelloStreamRaw(context, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>> PrepareAsyncHelloStream(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>>(PrepareAsyncHelloStreamRaw(context, cq)); + } + std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>> SpeechToText(::grpc::ClientContext* context) { + return std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>>(SpeechToTextRaw(context)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>> AsyncSpeechToText(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>>(AsyncSpeechToTextRaw(context, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>> PrepareAsyncSpeechToText(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>>(PrepareAsyncSpeechToTextRaw(context, cq)); + } + std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>> GetResponse(::grpc::ClientContext* context) { + return std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>>(GetResponseRaw(context)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>> AsyncGetResponse(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>>(AsyncGetResponseRaw(context, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>> PrepareAsyncGetResponse(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>>(PrepareAsyncGetResponseRaw(context, cq)); + } + std::unique_ptr< ::grpc::ClientReaderInterface< ::service::GetResponseResponse>> GetResponseSingle(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request) { + return std::unique_ptr< ::grpc::ClientReaderInterface< ::service::GetResponseResponse>>(GetResponseSingleRaw(context, request)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::service::GetResponseResponse>> AsyncGetResponseSingle(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::service::GetResponseResponse>>(AsyncGetResponseSingleRaw(context, request, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::service::GetResponseResponse>> PrepareAsyncGetResponseSingle(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::service::GetResponseResponse>>(PrepareAsyncGetResponseSingleRaw(context, request, cq)); + } + virtual ::grpc::Status SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::service::FeedbackResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::FeedbackResponse>> AsyncSubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::FeedbackResponse>>(AsyncSubmitFeedbackRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::FeedbackResponse>> PrepareAsyncSubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::FeedbackResponse>>(PrepareAsyncSubmitFeedbackRaw(context, request, cq)); + } + class experimental_async_interface { + public: + virtual ~experimental_async_interface() {} + virtual void Hello(::grpc::ClientContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response, std::function) = 0; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual void Hello(::grpc::ClientContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + #else + virtual void Hello(::grpc::ClientContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + #endif + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual void HelloStream(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service::HelloRequest,::service::HelloResponse>* reactor) = 0; + #else + virtual void HelloStream(::grpc::ClientContext* context, ::grpc::experimental::ClientBidiReactor< ::service::HelloRequest,::service::HelloResponse>* reactor) = 0; + #endif + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual void SpeechToText(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service::STTRequest,::service::STTResponse>* reactor) = 0; + #else + virtual void SpeechToText(::grpc::ClientContext* context, ::grpc::experimental::ClientBidiReactor< ::service::STTRequest,::service::STTResponse>* reactor) = 0; + #endif + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual void GetResponse(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service::GetResponseRequest,::service::GetResponseResponse>* reactor) = 0; + #else + virtual void GetResponse(::grpc::ClientContext* context, ::grpc::experimental::ClientBidiReactor< ::service::GetResponseRequest,::service::GetResponseResponse>* reactor) = 0; + #endif + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual void GetResponseSingle(::grpc::ClientContext* context, ::service::GetResponseRequestSingle* request, ::grpc::ClientReadReactor< ::service::GetResponseResponse>* reactor) = 0; + #else + virtual void GetResponseSingle(::grpc::ClientContext* context, ::service::GetResponseRequestSingle* request, ::grpc::experimental::ClientReadReactor< ::service::GetResponseResponse>* reactor) = 0; + #endif + virtual void SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response, std::function) = 0; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual void SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + #else + virtual void SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + #endif + }; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + typedef class experimental_async_interface async_interface; + #endif + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + async_interface* async() { return experimental_async(); } + #endif + virtual class experimental_async_interface* experimental_async() { return nullptr; } + private: + virtual ::grpc::ClientAsyncResponseReaderInterface< ::service::HelloResponse>* AsyncHelloRaw(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::service::HelloResponse>* PrepareAsyncHelloRaw(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>* HelloStreamRaw(::grpc::ClientContext* context) = 0; + virtual ::grpc::ClientAsyncReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>* AsyncHelloStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) = 0; + virtual ::grpc::ClientAsyncReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>* PrepareAsyncHelloStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>* SpeechToTextRaw(::grpc::ClientContext* context) = 0; + virtual ::grpc::ClientAsyncReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>* AsyncSpeechToTextRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) = 0; + virtual ::grpc::ClientAsyncReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>* PrepareAsyncSpeechToTextRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>* GetResponseRaw(::grpc::ClientContext* context) = 0; + virtual ::grpc::ClientAsyncReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>* AsyncGetResponseRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) = 0; + virtual ::grpc::ClientAsyncReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>* PrepareAsyncGetResponseRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientReaderInterface< ::service::GetResponseResponse>* GetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request) = 0; + virtual ::grpc::ClientAsyncReaderInterface< ::service::GetResponseResponse>* AsyncGetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq, void* tag) = 0; + virtual ::grpc::ClientAsyncReaderInterface< ::service::GetResponseResponse>* PrepareAsyncGetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::service::FeedbackResponse>* AsyncSubmitFeedbackRaw(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::service::FeedbackResponse>* PrepareAsyncSubmitFeedbackRaw(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) = 0; + }; + class Stub final : public StubInterface { + public: + Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel); + ::grpc::Status Hello(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::service::HelloResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::HelloResponse>> AsyncHello(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::HelloResponse>>(AsyncHelloRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::HelloResponse>> PrepareAsyncHello(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::HelloResponse>>(PrepareAsyncHelloRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientReaderWriter< ::service::HelloRequest, ::service::HelloResponse>> HelloStream(::grpc::ClientContext* context) { + return std::unique_ptr< ::grpc::ClientReaderWriter< ::service::HelloRequest, ::service::HelloResponse>>(HelloStreamRaw(context)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>> AsyncHelloStream(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>>(AsyncHelloStreamRaw(context, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>> PrepareAsyncHelloStream(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>>(PrepareAsyncHelloStreamRaw(context, cq)); + } + std::unique_ptr< ::grpc::ClientReaderWriter< ::service::STTRequest, ::service::STTResponse>> SpeechToText(::grpc::ClientContext* context) { + return std::unique_ptr< ::grpc::ClientReaderWriter< ::service::STTRequest, ::service::STTResponse>>(SpeechToTextRaw(context)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>> AsyncSpeechToText(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>>(AsyncSpeechToTextRaw(context, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>> PrepareAsyncSpeechToText(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>>(PrepareAsyncSpeechToTextRaw(context, cq)); + } + std::unique_ptr< ::grpc::ClientReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>> GetResponse(::grpc::ClientContext* context) { + return std::unique_ptr< ::grpc::ClientReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>>(GetResponseRaw(context)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>> AsyncGetResponse(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>>(AsyncGetResponseRaw(context, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>> PrepareAsyncGetResponse(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>>(PrepareAsyncGetResponseRaw(context, cq)); + } + std::unique_ptr< ::grpc::ClientReader< ::service::GetResponseResponse>> GetResponseSingle(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request) { + return std::unique_ptr< ::grpc::ClientReader< ::service::GetResponseResponse>>(GetResponseSingleRaw(context, request)); + } + std::unique_ptr< ::grpc::ClientAsyncReader< ::service::GetResponseResponse>> AsyncGetResponseSingle(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReader< ::service::GetResponseResponse>>(AsyncGetResponseSingleRaw(context, request, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReader< ::service::GetResponseResponse>> PrepareAsyncGetResponseSingle(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReader< ::service::GetResponseResponse>>(PrepareAsyncGetResponseSingleRaw(context, request, cq)); + } + ::grpc::Status SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::service::FeedbackResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>> AsyncSubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>>(AsyncSubmitFeedbackRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>> PrepareAsyncSubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>>(PrepareAsyncSubmitFeedbackRaw(context, request, cq)); + } + class experimental_async final : + public StubInterface::experimental_async_interface { + public: + void Hello(::grpc::ClientContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response, std::function) override; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + void Hello(::grpc::ClientContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + #else + void Hello(::grpc::ClientContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + #endif + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + void HelloStream(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service::HelloRequest,::service::HelloResponse>* reactor) override; + #else + void HelloStream(::grpc::ClientContext* context, ::grpc::experimental::ClientBidiReactor< ::service::HelloRequest,::service::HelloResponse>* reactor) override; + #endif + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + void SpeechToText(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service::STTRequest,::service::STTResponse>* reactor) override; + #else + void SpeechToText(::grpc::ClientContext* context, ::grpc::experimental::ClientBidiReactor< ::service::STTRequest,::service::STTResponse>* reactor) override; + #endif + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + void GetResponse(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service::GetResponseRequest,::service::GetResponseResponse>* reactor) override; + #else + void GetResponse(::grpc::ClientContext* context, ::grpc::experimental::ClientBidiReactor< ::service::GetResponseRequest,::service::GetResponseResponse>* reactor) override; + #endif + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + void GetResponseSingle(::grpc::ClientContext* context, ::service::GetResponseRequestSingle* request, ::grpc::ClientReadReactor< ::service::GetResponseResponse>* reactor) override; + #else + void GetResponseSingle(::grpc::ClientContext* context, ::service::GetResponseRequestSingle* request, ::grpc::experimental::ClientReadReactor< ::service::GetResponseResponse>* reactor) override; + #endif + void SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response, std::function) override; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + void SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + #else + void SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + #endif + private: + friend class Stub; + explicit experimental_async(Stub* stub): stub_(stub) { } + Stub* stub() { return stub_; } + Stub* stub_; + }; + class experimental_async_interface* experimental_async() override { return &async_stub_; } + + private: + std::shared_ptr< ::grpc::ChannelInterface> channel_; + class experimental_async async_stub_{this}; + ::grpc::ClientAsyncResponseReader< ::service::HelloResponse>* AsyncHelloRaw(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::service::HelloResponse>* PrepareAsyncHelloRaw(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientReaderWriter< ::service::HelloRequest, ::service::HelloResponse>* HelloStreamRaw(::grpc::ClientContext* context) override; + ::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>* AsyncHelloStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) override; + ::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>* PrepareAsyncHelloStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientReaderWriter< ::service::STTRequest, ::service::STTResponse>* SpeechToTextRaw(::grpc::ClientContext* context) override; + ::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>* AsyncSpeechToTextRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) override; + ::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>* PrepareAsyncSpeechToTextRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>* GetResponseRaw(::grpc::ClientContext* context) override; + ::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>* AsyncGetResponseRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) override; + ::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>* PrepareAsyncGetResponseRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientReader< ::service::GetResponseResponse>* GetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request) override; + ::grpc::ClientAsyncReader< ::service::GetResponseResponse>* AsyncGetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq, void* tag) override; + ::grpc::ClientAsyncReader< ::service::GetResponseResponse>* PrepareAsyncGetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>* AsyncSubmitFeedbackRaw(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>* PrepareAsyncSubmitFeedbackRaw(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) override; + const ::grpc::internal::RpcMethod rpcmethod_Hello_; + const ::grpc::internal::RpcMethod rpcmethod_HelloStream_; + const ::grpc::internal::RpcMethod rpcmethod_SpeechToText_; + const ::grpc::internal::RpcMethod rpcmethod_GetResponse_; + const ::grpc::internal::RpcMethod rpcmethod_GetResponseSingle_; + const ::grpc::internal::RpcMethod rpcmethod_SubmitFeedback_; + }; + static std::unique_ptr NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); + + class Service : public ::grpc::Service { + public: + Service(); + virtual ~Service(); + virtual ::grpc::Status Hello(::grpc::ServerContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response); + virtual ::grpc::Status HelloStream(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* stream); + virtual ::grpc::Status SpeechToText(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service::STTResponse, ::service::STTRequest>* stream); + virtual ::grpc::Status GetResponse(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* stream); + virtual ::grpc::Status GetResponseSingle(::grpc::ServerContext* context, const ::service::GetResponseRequestSingle* request, ::grpc::ServerWriter< ::service::GetResponseResponse>* writer); + virtual ::grpc::Status SubmitFeedback(::grpc::ServerContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response); + }; + template + class WithAsyncMethod_Hello : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_Hello() { + ::grpc::Service::MarkMethodAsync(0); + } + ~WithAsyncMethod_Hello() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Hello(::grpc::ServerContext* /*context*/, const ::service::HelloRequest* /*request*/, ::service::HelloResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestHello(::grpc::ServerContext* context, ::service::HelloRequest* request, ::grpc::ServerAsyncResponseWriter< ::service::HelloResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_HelloStream : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_HelloStream() { + ::grpc::Service::MarkMethodAsync(1); + } + ~WithAsyncMethod_HelloStream() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HelloStream(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestHelloStream(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncBidiStreaming(1, context, stream, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_SpeechToText : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_SpeechToText() { + ::grpc::Service::MarkMethodAsync(2); + } + ~WithAsyncMethod_SpeechToText() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SpeechToText(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::STTResponse, ::service::STTRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSpeechToText(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::service::STTResponse, ::service::STTRequest>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncBidiStreaming(2, context, stream, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_GetResponse : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_GetResponse() { + ::grpc::Service::MarkMethodAsync(3); + } + ~WithAsyncMethod_GetResponse() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponse(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestGetResponse(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncBidiStreaming(3, context, stream, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_GetResponseSingle : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_GetResponseSingle() { + ::grpc::Service::MarkMethodAsync(4); + } + ~WithAsyncMethod_GetResponseSingle() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponseSingle(::grpc::ServerContext* /*context*/, const ::service::GetResponseRequestSingle* /*request*/, ::grpc::ServerWriter< ::service::GetResponseResponse>* /*writer*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestGetResponseSingle(::grpc::ServerContext* context, ::service::GetResponseRequestSingle* request, ::grpc::ServerAsyncWriter< ::service::GetResponseResponse>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncServerStreaming(4, context, request, writer, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_SubmitFeedback : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_SubmitFeedback() { + ::grpc::Service::MarkMethodAsync(5); + } + ~WithAsyncMethod_SubmitFeedback() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SubmitFeedback(::grpc::ServerContext* /*context*/, const ::service::FeedbackRequest* /*request*/, ::service::FeedbackResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSubmitFeedback(::grpc::ServerContext* context, ::service::FeedbackRequest* request, ::grpc::ServerAsyncResponseWriter< ::service::FeedbackResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(5, context, request, response, new_call_cq, notification_cq, tag); + } + }; + typedef WithAsyncMethod_Hello > > > > > AsyncService; + template + class ExperimentalWithCallbackMethod_Hello : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithCallbackMethod_Hello() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::service::HelloRequest, ::service::HelloResponse>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::service::HelloRequest* request, ::service::HelloResponse* response) { return this->Hello(context, request, response); }));} + void SetMessageAllocatorFor_Hello( + ::grpc::experimental::MessageAllocator< ::service::HelloRequest, ::service::HelloResponse>* allocator) { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(0); + #else + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(0); + #endif + static_cast<::grpc::internal::CallbackUnaryHandler< ::service::HelloRequest, ::service::HelloResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~ExperimentalWithCallbackMethod_Hello() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Hello(::grpc::ServerContext* /*context*/, const ::service::HelloRequest* /*request*/, ::service::HelloResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* Hello( + ::grpc::CallbackServerContext* /*context*/, const ::service::HelloRequest* /*request*/, ::service::HelloResponse* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* Hello( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::service::HelloRequest* /*request*/, ::service::HelloResponse* /*response*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithCallbackMethod_HelloStream : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithCallbackMethod_HelloStream() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodCallback(1, + new ::grpc::internal::CallbackBidiHandler< ::service::HelloRequest, ::service::HelloResponse>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context) { return this->HelloStream(context); })); + } + ~ExperimentalWithCallbackMethod_HelloStream() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HelloStream(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerBidiReactor< ::service::HelloRequest, ::service::HelloResponse>* HelloStream( + ::grpc::CallbackServerContext* /*context*/) + #else + virtual ::grpc::experimental::ServerBidiReactor< ::service::HelloRequest, ::service::HelloResponse>* HelloStream( + ::grpc::experimental::CallbackServerContext* /*context*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithCallbackMethod_SpeechToText : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithCallbackMethod_SpeechToText() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodCallback(2, + new ::grpc::internal::CallbackBidiHandler< ::service::STTRequest, ::service::STTResponse>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context) { return this->SpeechToText(context); })); + } + ~ExperimentalWithCallbackMethod_SpeechToText() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SpeechToText(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::STTResponse, ::service::STTRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerBidiReactor< ::service::STTRequest, ::service::STTResponse>* SpeechToText( + ::grpc::CallbackServerContext* /*context*/) + #else + virtual ::grpc::experimental::ServerBidiReactor< ::service::STTRequest, ::service::STTResponse>* SpeechToText( + ::grpc::experimental::CallbackServerContext* /*context*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithCallbackMethod_GetResponse : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithCallbackMethod_GetResponse() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodCallback(3, + new ::grpc::internal::CallbackBidiHandler< ::service::GetResponseRequest, ::service::GetResponseResponse>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context) { return this->GetResponse(context); })); + } + ~ExperimentalWithCallbackMethod_GetResponse() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponse(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerBidiReactor< ::service::GetResponseRequest, ::service::GetResponseResponse>* GetResponse( + ::grpc::CallbackServerContext* /*context*/) + #else + virtual ::grpc::experimental::ServerBidiReactor< ::service::GetResponseRequest, ::service::GetResponseResponse>* GetResponse( + ::grpc::experimental::CallbackServerContext* /*context*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithCallbackMethod_GetResponseSingle : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithCallbackMethod_GetResponseSingle() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodCallback(4, + new ::grpc::internal::CallbackServerStreamingHandler< ::service::GetResponseRequestSingle, ::service::GetResponseResponse>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::service::GetResponseRequestSingle* request) { return this->GetResponseSingle(context, request); })); + } + ~ExperimentalWithCallbackMethod_GetResponseSingle() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponseSingle(::grpc::ServerContext* /*context*/, const ::service::GetResponseRequestSingle* /*request*/, ::grpc::ServerWriter< ::service::GetResponseResponse>* /*writer*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerWriteReactor< ::service::GetResponseResponse>* GetResponseSingle( + ::grpc::CallbackServerContext* /*context*/, const ::service::GetResponseRequestSingle* /*request*/) + #else + virtual ::grpc::experimental::ServerWriteReactor< ::service::GetResponseResponse>* GetResponseSingle( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::service::GetResponseRequestSingle* /*request*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithCallbackMethod_SubmitFeedback : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithCallbackMethod_SubmitFeedback() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodCallback(5, + new ::grpc::internal::CallbackUnaryHandler< ::service::FeedbackRequest, ::service::FeedbackResponse>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response) { return this->SubmitFeedback(context, request, response); }));} + void SetMessageAllocatorFor_SubmitFeedback( + ::grpc::experimental::MessageAllocator< ::service::FeedbackRequest, ::service::FeedbackResponse>* allocator) { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(5); + #else + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(5); + #endif + static_cast<::grpc::internal::CallbackUnaryHandler< ::service::FeedbackRequest, ::service::FeedbackResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~ExperimentalWithCallbackMethod_SubmitFeedback() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SubmitFeedback(::grpc::ServerContext* /*context*/, const ::service::FeedbackRequest* /*request*/, ::service::FeedbackResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* SubmitFeedback( + ::grpc::CallbackServerContext* /*context*/, const ::service::FeedbackRequest* /*request*/, ::service::FeedbackResponse* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* SubmitFeedback( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::service::FeedbackRequest* /*request*/, ::service::FeedbackResponse* /*response*/) + #endif + { return nullptr; } + }; + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + typedef ExperimentalWithCallbackMethod_Hello > > > > > CallbackService; + #endif + + typedef ExperimentalWithCallbackMethod_Hello > > > > > ExperimentalCallbackService; + template + class WithGenericMethod_Hello : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_Hello() { + ::grpc::Service::MarkMethodGeneric(0); + } + ~WithGenericMethod_Hello() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Hello(::grpc::ServerContext* /*context*/, const ::service::HelloRequest* /*request*/, ::service::HelloResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_HelloStream : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_HelloStream() { + ::grpc::Service::MarkMethodGeneric(1); + } + ~WithGenericMethod_HelloStream() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HelloStream(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_SpeechToText : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_SpeechToText() { + ::grpc::Service::MarkMethodGeneric(2); + } + ~WithGenericMethod_SpeechToText() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SpeechToText(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::STTResponse, ::service::STTRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_GetResponse : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_GetResponse() { + ::grpc::Service::MarkMethodGeneric(3); + } + ~WithGenericMethod_GetResponse() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponse(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_GetResponseSingle : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_GetResponseSingle() { + ::grpc::Service::MarkMethodGeneric(4); + } + ~WithGenericMethod_GetResponseSingle() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponseSingle(::grpc::ServerContext* /*context*/, const ::service::GetResponseRequestSingle* /*request*/, ::grpc::ServerWriter< ::service::GetResponseResponse>* /*writer*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_SubmitFeedback : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_SubmitFeedback() { + ::grpc::Service::MarkMethodGeneric(5); + } + ~WithGenericMethod_SubmitFeedback() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SubmitFeedback(::grpc::ServerContext* /*context*/, const ::service::FeedbackRequest* /*request*/, ::service::FeedbackResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithRawMethod_Hello : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_Hello() { + ::grpc::Service::MarkMethodRaw(0); + } + ~WithRawMethod_Hello() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Hello(::grpc::ServerContext* /*context*/, const ::service::HelloRequest* /*request*/, ::service::HelloResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestHello(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_HelloStream : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_HelloStream() { + ::grpc::Service::MarkMethodRaw(1); + } + ~WithRawMethod_HelloStream() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HelloStream(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestHelloStream(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncBidiStreaming(1, context, stream, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_SpeechToText : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_SpeechToText() { + ::grpc::Service::MarkMethodRaw(2); + } + ~WithRawMethod_SpeechToText() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SpeechToText(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::STTResponse, ::service::STTRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSpeechToText(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncBidiStreaming(2, context, stream, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_GetResponse : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_GetResponse() { + ::grpc::Service::MarkMethodRaw(3); + } + ~WithRawMethod_GetResponse() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponse(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestGetResponse(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncBidiStreaming(3, context, stream, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_GetResponseSingle : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_GetResponseSingle() { + ::grpc::Service::MarkMethodRaw(4); + } + ~WithRawMethod_GetResponseSingle() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponseSingle(::grpc::ServerContext* /*context*/, const ::service::GetResponseRequestSingle* /*request*/, ::grpc::ServerWriter< ::service::GetResponseResponse>* /*writer*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestGetResponseSingle(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncWriter< ::grpc::ByteBuffer>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncServerStreaming(4, context, request, writer, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_SubmitFeedback : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_SubmitFeedback() { + ::grpc::Service::MarkMethodRaw(5); + } + ~WithRawMethod_SubmitFeedback() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SubmitFeedback(::grpc::ServerContext* /*context*/, const ::service::FeedbackRequest* /*request*/, ::service::FeedbackResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSubmitFeedback(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(5, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class ExperimentalWithRawCallbackMethod_Hello : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_Hello() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodRawCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Hello(context, request, response); })); + } + ~ExperimentalWithRawCallbackMethod_Hello() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Hello(::grpc::ServerContext* /*context*/, const ::service::HelloRequest* /*request*/, ::service::HelloResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* Hello( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* Hello( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithRawCallbackMethod_HelloStream : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_HelloStream() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodRawCallback(1, + new ::grpc::internal::CallbackBidiHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context) { return this->HelloStream(context); })); + } + ~ExperimentalWithRawCallbackMethod_HelloStream() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HelloStream(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerBidiReactor< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* HelloStream( + ::grpc::CallbackServerContext* /*context*/) + #else + virtual ::grpc::experimental::ServerBidiReactor< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* HelloStream( + ::grpc::experimental::CallbackServerContext* /*context*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithRawCallbackMethod_SpeechToText : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_SpeechToText() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodRawCallback(2, + new ::grpc::internal::CallbackBidiHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context) { return this->SpeechToText(context); })); + } + ~ExperimentalWithRawCallbackMethod_SpeechToText() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SpeechToText(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::STTResponse, ::service::STTRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerBidiReactor< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* SpeechToText( + ::grpc::CallbackServerContext* /*context*/) + #else + virtual ::grpc::experimental::ServerBidiReactor< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* SpeechToText( + ::grpc::experimental::CallbackServerContext* /*context*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithRawCallbackMethod_GetResponse : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_GetResponse() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodRawCallback(3, + new ::grpc::internal::CallbackBidiHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context) { return this->GetResponse(context); })); + } + ~ExperimentalWithRawCallbackMethod_GetResponse() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponse(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerBidiReactor< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* GetResponse( + ::grpc::CallbackServerContext* /*context*/) + #else + virtual ::grpc::experimental::ServerBidiReactor< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* GetResponse( + ::grpc::experimental::CallbackServerContext* /*context*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithRawCallbackMethod_GetResponseSingle : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_GetResponseSingle() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodRawCallback(4, + new ::grpc::internal::CallbackServerStreamingHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const::grpc::ByteBuffer* request) { return this->GetResponseSingle(context, request); })); + } + ~ExperimentalWithRawCallbackMethod_GetResponseSingle() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponseSingle(::grpc::ServerContext* /*context*/, const ::service::GetResponseRequestSingle* /*request*/, ::grpc::ServerWriter< ::service::GetResponseResponse>* /*writer*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerWriteReactor< ::grpc::ByteBuffer>* GetResponseSingle( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/) + #else + virtual ::grpc::experimental::ServerWriteReactor< ::grpc::ByteBuffer>* GetResponseSingle( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/) + #endif + { return nullptr; } + }; + template + class ExperimentalWithRawCallbackMethod_SubmitFeedback : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + ExperimentalWithRawCallbackMethod_SubmitFeedback() { + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::Service:: + #else + ::grpc::Service::experimental(). + #endif + MarkMethodRawCallback(5, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + ::grpc::CallbackServerContext* + #else + ::grpc::experimental::CallbackServerContext* + #endif + context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->SubmitFeedback(context, request, response); })); + } + ~ExperimentalWithRawCallbackMethod_SubmitFeedback() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SubmitFeedback(::grpc::ServerContext* /*context*/, const ::service::FeedbackRequest* /*request*/, ::service::FeedbackResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL + virtual ::grpc::ServerUnaryReactor* SubmitFeedback( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #else + virtual ::grpc::experimental::ServerUnaryReactor* SubmitFeedback( + ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) + #endif + { return nullptr; } + }; + template + class WithStreamedUnaryMethod_Hello : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_Hello() { + ::grpc::Service::MarkMethodStreamed(0, + new ::grpc::internal::StreamedUnaryHandler< + ::service::HelloRequest, ::service::HelloResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::service::HelloRequest, ::service::HelloResponse>* streamer) { + return this->StreamedHello(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_Hello() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status Hello(::grpc::ServerContext* /*context*/, const ::service::HelloRequest* /*request*/, ::service::HelloResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedHello(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::service::HelloRequest,::service::HelloResponse>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_SubmitFeedback : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_SubmitFeedback() { + ::grpc::Service::MarkMethodStreamed(5, + new ::grpc::internal::StreamedUnaryHandler< + ::service::FeedbackRequest, ::service::FeedbackResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::service::FeedbackRequest, ::service::FeedbackResponse>* streamer) { + return this->StreamedSubmitFeedback(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_SubmitFeedback() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status SubmitFeedback(::grpc::ServerContext* /*context*/, const ::service::FeedbackRequest* /*request*/, ::service::FeedbackResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedSubmitFeedback(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::service::FeedbackRequest,::service::FeedbackResponse>* server_unary_streamer) = 0; + }; + typedef WithStreamedUnaryMethod_Hello > StreamedUnaryService; + template + class WithSplitStreamingMethod_GetResponseSingle : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithSplitStreamingMethod_GetResponseSingle() { + ::grpc::Service::MarkMethodStreamed(4, + new ::grpc::internal::SplitServerStreamingHandler< + ::service::GetResponseRequestSingle, ::service::GetResponseResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerSplitStreamer< + ::service::GetResponseRequestSingle, ::service::GetResponseResponse>* streamer) { + return this->StreamedGetResponseSingle(context, + streamer); + })); + } + ~WithSplitStreamingMethod_GetResponseSingle() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status GetResponseSingle(::grpc::ServerContext* /*context*/, const ::service::GetResponseRequestSingle* /*request*/, ::grpc::ServerWriter< ::service::GetResponseResponse>* /*writer*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with split streamed + virtual ::grpc::Status StreamedGetResponseSingle(::grpc::ServerContext* context, ::grpc::ServerSplitStreamer< ::service::GetResponseRequestSingle,::service::GetResponseResponse>* server_split_streamer) = 0; + }; + typedef WithSplitStreamingMethod_GetResponseSingle SplitStreamedService; + typedef WithStreamedUnaryMethod_Hello > > StreamedService; +}; + +} // namespace service + + +#endif // GRPC_service_2eproto__INCLUDED +#else +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: service.proto +// Original file comments: +// service.proto +#ifndef GRPC_service_2eproto__INCLUDED +#define GRPC_service_2eproto__INCLUDED + +#include "service.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace service { + +class ConvaiService final { + public: + static constexpr char const* service_full_name() { + return "service.ConvaiService"; + } + class StubInterface { + public: + virtual ~StubInterface() {} + virtual ::grpc::Status Hello(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::service::HelloResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::HelloResponse>> AsyncHello(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::HelloResponse>>(AsyncHelloRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::HelloResponse>> PrepareAsyncHello(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::HelloResponse>>(PrepareAsyncHelloRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>> HelloStream(::grpc::ClientContext* context) { + return std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>>(HelloStreamRaw(context)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>> AsyncHelloStream(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>>(AsyncHelloStreamRaw(context, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>> PrepareAsyncHelloStream(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>>(PrepareAsyncHelloStreamRaw(context, cq)); + } + std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>> SpeechToText(::grpc::ClientContext* context) { + return std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>>(SpeechToTextRaw(context)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>> AsyncSpeechToText(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>>(AsyncSpeechToTextRaw(context, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>> PrepareAsyncSpeechToText(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>>(PrepareAsyncSpeechToTextRaw(context, cq)); + } + std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>> GetResponse(::grpc::ClientContext* context) { + return std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>>(GetResponseRaw(context)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>> AsyncGetResponse(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>>(AsyncGetResponseRaw(context, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>> PrepareAsyncGetResponse(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>>(PrepareAsyncGetResponseRaw(context, cq)); + } + std::unique_ptr< ::grpc::ClientReaderInterface< ::service::GetResponseResponse>> GetResponseSingle(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request) { + return std::unique_ptr< ::grpc::ClientReaderInterface< ::service::GetResponseResponse>>(GetResponseSingleRaw(context, request)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::service::GetResponseResponse>> AsyncGetResponseSingle(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::service::GetResponseResponse>>(AsyncGetResponseSingleRaw(context, request, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::service::GetResponseResponse>> PrepareAsyncGetResponseSingle(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::service::GetResponseResponse>>(PrepareAsyncGetResponseSingleRaw(context, request, cq)); + } + virtual ::grpc::Status SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::service::FeedbackResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::FeedbackResponse>> AsyncSubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::FeedbackResponse>>(AsyncSubmitFeedbackRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::FeedbackResponse>> PrepareAsyncSubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::service::FeedbackResponse>>(PrepareAsyncSubmitFeedbackRaw(context, request, cq)); + } + class async_interface { + public: + virtual ~async_interface() {} + virtual void Hello(::grpc::ClientContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response, std::function) = 0; + virtual void Hello(::grpc::ClientContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void HelloStream(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service::HelloRequest,::service::HelloResponse>* reactor) = 0; + virtual void SpeechToText(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service::STTRequest,::service::STTResponse>* reactor) = 0; + virtual void GetResponse(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service::GetResponseRequest,::service::GetResponseResponse>* reactor) = 0; + virtual void GetResponseSingle(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle* request, ::grpc::ClientReadReactor< ::service::GetResponseResponse>* reactor) = 0; + virtual void SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response, std::function) = 0; + virtual void SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + }; + typedef class async_interface experimental_async_interface; + virtual class async_interface* async() { return nullptr; } + class async_interface* experimental_async() { return async(); } + private: + virtual ::grpc::ClientAsyncResponseReaderInterface< ::service::HelloResponse>* AsyncHelloRaw(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::service::HelloResponse>* PrepareAsyncHelloRaw(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>* HelloStreamRaw(::grpc::ClientContext* context) = 0; + virtual ::grpc::ClientAsyncReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>* AsyncHelloStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) = 0; + virtual ::grpc::ClientAsyncReaderWriterInterface< ::service::HelloRequest, ::service::HelloResponse>* PrepareAsyncHelloStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>* SpeechToTextRaw(::grpc::ClientContext* context) = 0; + virtual ::grpc::ClientAsyncReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>* AsyncSpeechToTextRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) = 0; + virtual ::grpc::ClientAsyncReaderWriterInterface< ::service::STTRequest, ::service::STTResponse>* PrepareAsyncSpeechToTextRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>* GetResponseRaw(::grpc::ClientContext* context) = 0; + virtual ::grpc::ClientAsyncReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>* AsyncGetResponseRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) = 0; + virtual ::grpc::ClientAsyncReaderWriterInterface< ::service::GetResponseRequest, ::service::GetResponseResponse>* PrepareAsyncGetResponseRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientReaderInterface< ::service::GetResponseResponse>* GetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request) = 0; + virtual ::grpc::ClientAsyncReaderInterface< ::service::GetResponseResponse>* AsyncGetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq, void* tag) = 0; + virtual ::grpc::ClientAsyncReaderInterface< ::service::GetResponseResponse>* PrepareAsyncGetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::service::FeedbackResponse>* AsyncSubmitFeedbackRaw(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::service::FeedbackResponse>* PrepareAsyncSubmitFeedbackRaw(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) = 0; + }; + class Stub final : public StubInterface { + public: + Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); + ::grpc::Status Hello(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::service::HelloResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::HelloResponse>> AsyncHello(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::HelloResponse>>(AsyncHelloRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::HelloResponse>> PrepareAsyncHello(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::HelloResponse>>(PrepareAsyncHelloRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientReaderWriter< ::service::HelloRequest, ::service::HelloResponse>> HelloStream(::grpc::ClientContext* context) { + return std::unique_ptr< ::grpc::ClientReaderWriter< ::service::HelloRequest, ::service::HelloResponse>>(HelloStreamRaw(context)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>> AsyncHelloStream(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>>(AsyncHelloStreamRaw(context, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>> PrepareAsyncHelloStream(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>>(PrepareAsyncHelloStreamRaw(context, cq)); + } + std::unique_ptr< ::grpc::ClientReaderWriter< ::service::STTRequest, ::service::STTResponse>> SpeechToText(::grpc::ClientContext* context) { + return std::unique_ptr< ::grpc::ClientReaderWriter< ::service::STTRequest, ::service::STTResponse>>(SpeechToTextRaw(context)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>> AsyncSpeechToText(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>>(AsyncSpeechToTextRaw(context, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>> PrepareAsyncSpeechToText(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>>(PrepareAsyncSpeechToTextRaw(context, cq)); + } + std::unique_ptr< ::grpc::ClientReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>> GetResponse(::grpc::ClientContext* context) { + return std::unique_ptr< ::grpc::ClientReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>>(GetResponseRaw(context)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>> AsyncGetResponse(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>>(AsyncGetResponseRaw(context, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>> PrepareAsyncGetResponse(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>>(PrepareAsyncGetResponseRaw(context, cq)); + } + std::unique_ptr< ::grpc::ClientReader< ::service::GetResponseResponse>> GetResponseSingle(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request) { + return std::unique_ptr< ::grpc::ClientReader< ::service::GetResponseResponse>>(GetResponseSingleRaw(context, request)); + } + std::unique_ptr< ::grpc::ClientAsyncReader< ::service::GetResponseResponse>> AsyncGetResponseSingle(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReader< ::service::GetResponseResponse>>(AsyncGetResponseSingleRaw(context, request, cq, tag)); + } + std::unique_ptr< ::grpc::ClientAsyncReader< ::service::GetResponseResponse>> PrepareAsyncGetResponseSingle(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReader< ::service::GetResponseResponse>>(PrepareAsyncGetResponseSingleRaw(context, request, cq)); + } + ::grpc::Status SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::service::FeedbackResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>> AsyncSubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>>(AsyncSubmitFeedbackRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>> PrepareAsyncSubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>>(PrepareAsyncSubmitFeedbackRaw(context, request, cq)); + } + class async final : + public StubInterface::async_interface { + public: + void Hello(::grpc::ClientContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response, std::function) override; + void Hello(::grpc::ClientContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + void HelloStream(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service::HelloRequest,::service::HelloResponse>* reactor) override; + void SpeechToText(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service::STTRequest,::service::STTResponse>* reactor) override; + void GetResponse(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::service::GetResponseRequest,::service::GetResponseResponse>* reactor) override; + void GetResponseSingle(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle* request, ::grpc::ClientReadReactor< ::service::GetResponseResponse>* reactor) override; + void SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response, std::function) override; + void SubmitFeedback(::grpc::ClientContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + private: + friend class Stub; + explicit async(Stub* stub): stub_(stub) { } + Stub* stub() { return stub_; } + Stub* stub_; + }; + class async* async() override { return &async_stub_; } + + private: + std::shared_ptr< ::grpc::ChannelInterface> channel_; + class async async_stub_{this}; + ::grpc::ClientAsyncResponseReader< ::service::HelloResponse>* AsyncHelloRaw(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::service::HelloResponse>* PrepareAsyncHelloRaw(::grpc::ClientContext* context, const ::service::HelloRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientReaderWriter< ::service::HelloRequest, ::service::HelloResponse>* HelloStreamRaw(::grpc::ClientContext* context) override; + ::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>* AsyncHelloStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) override; + ::grpc::ClientAsyncReaderWriter< ::service::HelloRequest, ::service::HelloResponse>* PrepareAsyncHelloStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientReaderWriter< ::service::STTRequest, ::service::STTResponse>* SpeechToTextRaw(::grpc::ClientContext* context) override; + ::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>* AsyncSpeechToTextRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) override; + ::grpc::ClientAsyncReaderWriter< ::service::STTRequest, ::service::STTResponse>* PrepareAsyncSpeechToTextRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>* GetResponseRaw(::grpc::ClientContext* context) override; + ::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>* AsyncGetResponseRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) override; + ::grpc::ClientAsyncReaderWriter< ::service::GetResponseRequest, ::service::GetResponseResponse>* PrepareAsyncGetResponseRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientReader< ::service::GetResponseResponse>* GetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request) override; + ::grpc::ClientAsyncReader< ::service::GetResponseResponse>* AsyncGetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq, void* tag) override; + ::grpc::ClientAsyncReader< ::service::GetResponseResponse>* PrepareAsyncGetResponseSingleRaw(::grpc::ClientContext* context, const ::service::GetResponseRequestSingle& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>* AsyncSubmitFeedbackRaw(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::service::FeedbackResponse>* PrepareAsyncSubmitFeedbackRaw(::grpc::ClientContext* context, const ::service::FeedbackRequest& request, ::grpc::CompletionQueue* cq) override; + const ::grpc::internal::RpcMethod rpcmethod_Hello_; + const ::grpc::internal::RpcMethod rpcmethod_HelloStream_; + const ::grpc::internal::RpcMethod rpcmethod_SpeechToText_; + const ::grpc::internal::RpcMethod rpcmethod_GetResponse_; + const ::grpc::internal::RpcMethod rpcmethod_GetResponseSingle_; + const ::grpc::internal::RpcMethod rpcmethod_SubmitFeedback_; + }; + static std::unique_ptr NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); + + class Service : public ::grpc::Service { + public: + Service(); + virtual ~Service(); + virtual ::grpc::Status Hello(::grpc::ServerContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response); + virtual ::grpc::Status HelloStream(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* stream); + virtual ::grpc::Status SpeechToText(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service::STTResponse, ::service::STTRequest>* stream); + virtual ::grpc::Status GetResponse(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* stream); + virtual ::grpc::Status GetResponseSingle(::grpc::ServerContext* context, const ::service::GetResponseRequestSingle* request, ::grpc::ServerWriter< ::service::GetResponseResponse>* writer); + virtual ::grpc::Status SubmitFeedback(::grpc::ServerContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response); + }; + template + class WithAsyncMethod_Hello : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_Hello() { + ::grpc::Service::MarkMethodAsync(0); + } + ~WithAsyncMethod_Hello() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Hello(::grpc::ServerContext* /*context*/, const ::service::HelloRequest* /*request*/, ::service::HelloResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestHello(::grpc::ServerContext* context, ::service::HelloRequest* request, ::grpc::ServerAsyncResponseWriter< ::service::HelloResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_HelloStream : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_HelloStream() { + ::grpc::Service::MarkMethodAsync(1); + } + ~WithAsyncMethod_HelloStream() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HelloStream(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestHelloStream(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncBidiStreaming(1, context, stream, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_SpeechToText : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_SpeechToText() { + ::grpc::Service::MarkMethodAsync(2); + } + ~WithAsyncMethod_SpeechToText() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SpeechToText(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::STTResponse, ::service::STTRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSpeechToText(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::service::STTResponse, ::service::STTRequest>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncBidiStreaming(2, context, stream, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_GetResponse : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_GetResponse() { + ::grpc::Service::MarkMethodAsync(3); + } + ~WithAsyncMethod_GetResponse() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponse(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestGetResponse(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncBidiStreaming(3, context, stream, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_GetResponseSingle : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_GetResponseSingle() { + ::grpc::Service::MarkMethodAsync(4); + } + ~WithAsyncMethod_GetResponseSingle() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponseSingle(::grpc::ServerContext* /*context*/, const ::service::GetResponseRequestSingle* /*request*/, ::grpc::ServerWriter< ::service::GetResponseResponse>* /*writer*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestGetResponseSingle(::grpc::ServerContext* context, ::service::GetResponseRequestSingle* request, ::grpc::ServerAsyncWriter< ::service::GetResponseResponse>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncServerStreaming(4, context, request, writer, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_SubmitFeedback : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_SubmitFeedback() { + ::grpc::Service::MarkMethodAsync(5); + } + ~WithAsyncMethod_SubmitFeedback() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SubmitFeedback(::grpc::ServerContext* /*context*/, const ::service::FeedbackRequest* /*request*/, ::service::FeedbackResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSubmitFeedback(::grpc::ServerContext* context, ::service::FeedbackRequest* request, ::grpc::ServerAsyncResponseWriter< ::service::FeedbackResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(5, context, request, response, new_call_cq, notification_cq, tag); + } + }; + typedef WithAsyncMethod_Hello > > > > > AsyncService; + template + class WithCallbackMethod_Hello : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_Hello() { + ::grpc::Service::MarkMethodCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::service::HelloRequest, ::service::HelloResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::service::HelloRequest* request, ::service::HelloResponse* response) { return this->Hello(context, request, response); }));} + void SetMessageAllocatorFor_Hello( + ::grpc::MessageAllocator< ::service::HelloRequest, ::service::HelloResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(0); + static_cast<::grpc::internal::CallbackUnaryHandler< ::service::HelloRequest, ::service::HelloResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_Hello() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Hello(::grpc::ServerContext* /*context*/, const ::service::HelloRequest* /*request*/, ::service::HelloResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* Hello( + ::grpc::CallbackServerContext* /*context*/, const ::service::HelloRequest* /*request*/, ::service::HelloResponse* /*response*/) { return nullptr; } + }; + template + class WithCallbackMethod_HelloStream : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_HelloStream() { + ::grpc::Service::MarkMethodCallback(1, + new ::grpc::internal::CallbackBidiHandler< ::service::HelloRequest, ::service::HelloResponse>( + [this]( + ::grpc::CallbackServerContext* context) { return this->HelloStream(context); })); + } + ~WithCallbackMethod_HelloStream() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HelloStream(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerBidiReactor< ::service::HelloRequest, ::service::HelloResponse>* HelloStream( + ::grpc::CallbackServerContext* /*context*/) + { return nullptr; } + }; + template + class WithCallbackMethod_SpeechToText : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_SpeechToText() { + ::grpc::Service::MarkMethodCallback(2, + new ::grpc::internal::CallbackBidiHandler< ::service::STTRequest, ::service::STTResponse>( + [this]( + ::grpc::CallbackServerContext* context) { return this->SpeechToText(context); })); + } + ~WithCallbackMethod_SpeechToText() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SpeechToText(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::STTResponse, ::service::STTRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerBidiReactor< ::service::STTRequest, ::service::STTResponse>* SpeechToText( + ::grpc::CallbackServerContext* /*context*/) + { return nullptr; } + }; + template + class WithCallbackMethod_GetResponse : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_GetResponse() { + ::grpc::Service::MarkMethodCallback(3, + new ::grpc::internal::CallbackBidiHandler< ::service::GetResponseRequest, ::service::GetResponseResponse>( + [this]( + ::grpc::CallbackServerContext* context) { return this->GetResponse(context); })); + } + ~WithCallbackMethod_GetResponse() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponse(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerBidiReactor< ::service::GetResponseRequest, ::service::GetResponseResponse>* GetResponse( + ::grpc::CallbackServerContext* /*context*/) + { return nullptr; } + }; + template + class WithCallbackMethod_GetResponseSingle : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_GetResponseSingle() { + ::grpc::Service::MarkMethodCallback(4, + new ::grpc::internal::CallbackServerStreamingHandler< ::service::GetResponseRequestSingle, ::service::GetResponseResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::service::GetResponseRequestSingle* request) { return this->GetResponseSingle(context, request); })); + } + ~WithCallbackMethod_GetResponseSingle() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponseSingle(::grpc::ServerContext* /*context*/, const ::service::GetResponseRequestSingle* /*request*/, ::grpc::ServerWriter< ::service::GetResponseResponse>* /*writer*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerWriteReactor< ::service::GetResponseResponse>* GetResponseSingle( + ::grpc::CallbackServerContext* /*context*/, const ::service::GetResponseRequestSingle* /*request*/) { return nullptr; } + }; + template + class WithCallbackMethod_SubmitFeedback : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_SubmitFeedback() { + ::grpc::Service::MarkMethodCallback(5, + new ::grpc::internal::CallbackUnaryHandler< ::service::FeedbackRequest, ::service::FeedbackResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::service::FeedbackRequest* request, ::service::FeedbackResponse* response) { return this->SubmitFeedback(context, request, response); }));} + void SetMessageAllocatorFor_SubmitFeedback( + ::grpc::MessageAllocator< ::service::FeedbackRequest, ::service::FeedbackResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(5); + static_cast<::grpc::internal::CallbackUnaryHandler< ::service::FeedbackRequest, ::service::FeedbackResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_SubmitFeedback() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SubmitFeedback(::grpc::ServerContext* /*context*/, const ::service::FeedbackRequest* /*request*/, ::service::FeedbackResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* SubmitFeedback( + ::grpc::CallbackServerContext* /*context*/, const ::service::FeedbackRequest* /*request*/, ::service::FeedbackResponse* /*response*/) { return nullptr; } + }; + typedef WithCallbackMethod_Hello > > > > > CallbackService; + typedef CallbackService ExperimentalCallbackService; + template + class WithGenericMethod_Hello : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_Hello() { + ::grpc::Service::MarkMethodGeneric(0); + } + ~WithGenericMethod_Hello() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Hello(::grpc::ServerContext* /*context*/, const ::service::HelloRequest* /*request*/, ::service::HelloResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_HelloStream : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_HelloStream() { + ::grpc::Service::MarkMethodGeneric(1); + } + ~WithGenericMethod_HelloStream() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HelloStream(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_SpeechToText : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_SpeechToText() { + ::grpc::Service::MarkMethodGeneric(2); + } + ~WithGenericMethod_SpeechToText() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SpeechToText(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::STTResponse, ::service::STTRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_GetResponse : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_GetResponse() { + ::grpc::Service::MarkMethodGeneric(3); + } + ~WithGenericMethod_GetResponse() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponse(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_GetResponseSingle : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_GetResponseSingle() { + ::grpc::Service::MarkMethodGeneric(4); + } + ~WithGenericMethod_GetResponseSingle() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponseSingle(::grpc::ServerContext* /*context*/, const ::service::GetResponseRequestSingle* /*request*/, ::grpc::ServerWriter< ::service::GetResponseResponse>* /*writer*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_SubmitFeedback : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_SubmitFeedback() { + ::grpc::Service::MarkMethodGeneric(5); + } + ~WithGenericMethod_SubmitFeedback() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SubmitFeedback(::grpc::ServerContext* /*context*/, const ::service::FeedbackRequest* /*request*/, ::service::FeedbackResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithRawMethod_Hello : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_Hello() { + ::grpc::Service::MarkMethodRaw(0); + } + ~WithRawMethod_Hello() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Hello(::grpc::ServerContext* /*context*/, const ::service::HelloRequest* /*request*/, ::service::HelloResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestHello(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_HelloStream : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_HelloStream() { + ::grpc::Service::MarkMethodRaw(1); + } + ~WithRawMethod_HelloStream() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HelloStream(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestHelloStream(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncBidiStreaming(1, context, stream, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_SpeechToText : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_SpeechToText() { + ::grpc::Service::MarkMethodRaw(2); + } + ~WithRawMethod_SpeechToText() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SpeechToText(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::STTResponse, ::service::STTRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSpeechToText(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncBidiStreaming(2, context, stream, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_GetResponse : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_GetResponse() { + ::grpc::Service::MarkMethodRaw(3); + } + ~WithRawMethod_GetResponse() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponse(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestGetResponse(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncBidiStreaming(3, context, stream, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_GetResponseSingle : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_GetResponseSingle() { + ::grpc::Service::MarkMethodRaw(4); + } + ~WithRawMethod_GetResponseSingle() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponseSingle(::grpc::ServerContext* /*context*/, const ::service::GetResponseRequestSingle* /*request*/, ::grpc::ServerWriter< ::service::GetResponseResponse>* /*writer*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestGetResponseSingle(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncWriter< ::grpc::ByteBuffer>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncServerStreaming(4, context, request, writer, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_SubmitFeedback : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_SubmitFeedback() { + ::grpc::Service::MarkMethodRaw(5); + } + ~WithRawMethod_SubmitFeedback() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SubmitFeedback(::grpc::ServerContext* /*context*/, const ::service::FeedbackRequest* /*request*/, ::service::FeedbackResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSubmitFeedback(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(5, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawCallbackMethod_Hello : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_Hello() { + ::grpc::Service::MarkMethodRawCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Hello(context, request, response); })); + } + ~WithRawCallbackMethod_Hello() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Hello(::grpc::ServerContext* /*context*/, const ::service::HelloRequest* /*request*/, ::service::HelloResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* Hello( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithRawCallbackMethod_HelloStream : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_HelloStream() { + ::grpc::Service::MarkMethodRawCallback(1, + new ::grpc::internal::CallbackBidiHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context) { return this->HelloStream(context); })); + } + ~WithRawCallbackMethod_HelloStream() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status HelloStream(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::HelloResponse, ::service::HelloRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerBidiReactor< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* HelloStream( + ::grpc::CallbackServerContext* /*context*/) + { return nullptr; } + }; + template + class WithRawCallbackMethod_SpeechToText : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_SpeechToText() { + ::grpc::Service::MarkMethodRawCallback(2, + new ::grpc::internal::CallbackBidiHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context) { return this->SpeechToText(context); })); + } + ~WithRawCallbackMethod_SpeechToText() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SpeechToText(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::STTResponse, ::service::STTRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerBidiReactor< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* SpeechToText( + ::grpc::CallbackServerContext* /*context*/) + { return nullptr; } + }; + template + class WithRawCallbackMethod_GetResponse : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_GetResponse() { + ::grpc::Service::MarkMethodRawCallback(3, + new ::grpc::internal::CallbackBidiHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context) { return this->GetResponse(context); })); + } + ~WithRawCallbackMethod_GetResponse() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponse(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::service::GetResponseResponse, ::service::GetResponseRequest>* /*stream*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerBidiReactor< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* GetResponse( + ::grpc::CallbackServerContext* /*context*/) + { return nullptr; } + }; + template + class WithRawCallbackMethod_GetResponseSingle : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_GetResponseSingle() { + ::grpc::Service::MarkMethodRawCallback(4, + new ::grpc::internal::CallbackServerStreamingHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const::grpc::ByteBuffer* request) { return this->GetResponseSingle(context, request); })); + } + ~WithRawCallbackMethod_GetResponseSingle() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status GetResponseSingle(::grpc::ServerContext* /*context*/, const ::service::GetResponseRequestSingle* /*request*/, ::grpc::ServerWriter< ::service::GetResponseResponse>* /*writer*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerWriteReactor< ::grpc::ByteBuffer>* GetResponseSingle( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/) { return nullptr; } + }; + template + class WithRawCallbackMethod_SubmitFeedback : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_SubmitFeedback() { + ::grpc::Service::MarkMethodRawCallback(5, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->SubmitFeedback(context, request, response); })); + } + ~WithRawCallbackMethod_SubmitFeedback() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SubmitFeedback(::grpc::ServerContext* /*context*/, const ::service::FeedbackRequest* /*request*/, ::service::FeedbackResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* SubmitFeedback( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithStreamedUnaryMethod_Hello : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_Hello() { + ::grpc::Service::MarkMethodStreamed(0, + new ::grpc::internal::StreamedUnaryHandler< + ::service::HelloRequest, ::service::HelloResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::service::HelloRequest, ::service::HelloResponse>* streamer) { + return this->StreamedHello(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_Hello() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status Hello(::grpc::ServerContext* /*context*/, const ::service::HelloRequest* /*request*/, ::service::HelloResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedHello(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::service::HelloRequest,::service::HelloResponse>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_SubmitFeedback : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_SubmitFeedback() { + ::grpc::Service::MarkMethodStreamed(5, + new ::grpc::internal::StreamedUnaryHandler< + ::service::FeedbackRequest, ::service::FeedbackResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::service::FeedbackRequest, ::service::FeedbackResponse>* streamer) { + return this->StreamedSubmitFeedback(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_SubmitFeedback() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status SubmitFeedback(::grpc::ServerContext* /*context*/, const ::service::FeedbackRequest* /*request*/, ::service::FeedbackResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedSubmitFeedback(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::service::FeedbackRequest,::service::FeedbackResponse>* server_unary_streamer) = 0; + }; + typedef WithStreamedUnaryMethod_Hello > StreamedUnaryService; + template + class WithSplitStreamingMethod_GetResponseSingle : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithSplitStreamingMethod_GetResponseSingle() { + ::grpc::Service::MarkMethodStreamed(4, + new ::grpc::internal::SplitServerStreamingHandler< + ::service::GetResponseRequestSingle, ::service::GetResponseResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerSplitStreamer< + ::service::GetResponseRequestSingle, ::service::GetResponseResponse>* streamer) { + return this->StreamedGetResponseSingle(context, + streamer); + })); + } + ~WithSplitStreamingMethod_GetResponseSingle() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status GetResponseSingle(::grpc::ServerContext* /*context*/, const ::service::GetResponseRequestSingle* /*request*/, ::grpc::ServerWriter< ::service::GetResponseResponse>* /*writer*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with split streamed + virtual ::grpc::Status StreamedGetResponseSingle(::grpc::ServerContext* context, ::grpc::ServerSplitStreamer< ::service::GetResponseRequestSingle,::service::GetResponseResponse>* server_split_streamer) = 0; + }; + typedef WithSplitStreamingMethod_GetResponseSingle SplitStreamedService; + typedef WithStreamedUnaryMethod_Hello > > StreamedService; +}; + +} // namespace service + + +#endif // GRPC_service_2eproto__INCLUDED + +#endif diff --git a/ConvAI/Convai/Source/Convai/Private/Proto/service.pb.cc b/ConvAI/Convai/Source/Convai/Private/Proto/service.pb.cc new file mode 100644 index 0000000..4a57f63 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/Proto/service.pb.cc @@ -0,0 +1,20534 @@ +#if defined(_WIN32) || defined(__ANDROID__) +#if defined(_MSC_VER) + #pragma warning (disable:4018) // 'expression' : signed/unsigned mismatch + #pragma warning (disable:4065) // switch statement contains 'default' but no 'case' labels + #pragma warning (disable:4146) // unary minus operator applied to unsigned type, result still unsigned + #pragma warning (disable:4244) // 'conversion' conversion from 'type1' to 'type2', possible loss of data + #pragma warning (disable:4251) // 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' + #pragma warning (disable:4267) // 'var' : conversion from 'size_t' to 'type', possible loss of data + #pragma warning (disable:4305) // 'identifier' : truncation from 'type1' to 'type2' + #pragma warning (disable:4307) // 'operator' : integral constant overflow + #pragma warning (disable:4309) // 'conversion' : truncation of constant value + #pragma warning (disable:4334) // 'operator' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) + #pragma warning (disable:4355) // 'this' : used in base member initializer list + #pragma warning (disable:4506) // no definition for inline function 'function' + #pragma warning (disable:4996) // The compiler encountered a deprecated declaration. + #pragma warning (disable:4125) // decimal digit terminates octal escape sequence + #pragma warning (disable:4800) // decimal digit terminates octal escape sequence + #endif + + // Generated by the protocol buffer compiler. DO NOT EDIT! +// source: service.proto + +#include "service.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) +#include +extern PROTOBUF_INTERNAL_EXPORT_arkit_5fblend_5fshapes_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_ARKitBlendShapesData_arkit_5fblend_5fshapes_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_ActionConfig_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ActionConfig_Character_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ActionConfig_Object_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_AudioConfig_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_BlendShapesData_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DynamicInfoConfig_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_EmotionResponse_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_FeedbackRequest_Feedback_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_GetResponseRequest_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<5> scc_info_GetResponseRequest_GetResponseConfig_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_GetResponseRequest_GetResponseData_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_GetResponseResponse_ActionResponse_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<5> scc_info_GetResponseResponse_AudioResponse_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_GetResponseResponse_BehaviorTreeResponse_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_GetResponseResponse_UserTranscript_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_TriggerConfig_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Viseme_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_VisemesData_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_VisionInput_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_VisionInput_ImageData_service_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_service_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_VisionInput_VideoData_service_2eproto; +namespace service { +class AudioConfigDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _AudioConfig_default_instance_; +class TriggerConfigDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _TriggerConfig_default_instance_; +class ActionConfig_CharacterDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _ActionConfig_Character_default_instance_; +class ActionConfig_ObjectDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _ActionConfig_Object_default_instance_; +class ActionConfigDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _ActionConfig_default_instance_; +class STTRequestDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _STTRequest_default_instance_; +class STTResponseDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _STTResponse_default_instance_; +class DynamicInfoConfigDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _DynamicInfoConfig_default_instance_; +class VisionInput_ImageDataDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _VisionInput_ImageData_default_instance_; +class VisionInput_VideoDataDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _VisionInput_VideoData_default_instance_; +class VisionInputDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _VisionInput_default_instance_; +class GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUseDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse_default_instance_; +class GetResponseRequest_GetResponseConfigDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _GetResponseRequest_GetResponseConfig_default_instance_; +class GetResponseRequest_GetResponseDataDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _GetResponseRequest_GetResponseData_default_instance_; +class GetResponseRequestDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _GetResponseRequest_default_instance_; +class GetResponseRequestSingleDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _GetResponseRequestSingle_default_instance_; +class GetResponseResponse_AudioResponseDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _GetResponseResponse_AudioResponse_default_instance_; +class GetResponseResponse_ActionResponseDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _GetResponseResponse_ActionResponse_default_instance_; +class GetResponseResponse_BehaviorTreeResponseDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _GetResponseResponse_BehaviorTreeResponse_default_instance_; +class GetResponseResponse_UserTranscriptDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _GetResponseResponse_UserTranscript_default_instance_; +class GetResponseResponseDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _GetResponseResponse_default_instance_; +class VisemesDataDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _VisemesData_default_instance_; +class EmotionResponseDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _EmotionResponse_default_instance_; +class VisemeDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _Viseme_default_instance_; +class BlendShapesDataDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _BlendShapesData_default_instance_; +class HelloRequestDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _HelloRequest_default_instance_; +class HelloResponseDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _HelloResponse_default_instance_; +class FeedbackRequest_FeedbackDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _FeedbackRequest_Feedback_default_instance_; +class FeedbackRequestDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _FeedbackRequest_default_instance_; +class FeedbackResponseDefaultTypeInternal { + public: + ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance; +} _FeedbackResponse_default_instance_; +} // namespace service +static void InitDefaultsscc_info_ActionConfig_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_ActionConfig_default_instance_; + new (ptr) ::service::ActionConfig(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_ActionConfig_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, 0, InitDefaultsscc_info_ActionConfig_service_2eproto}, { + &scc_info_ActionConfig_Character_service_2eproto.base, + &scc_info_ActionConfig_Object_service_2eproto.base,}}; + +static void InitDefaultsscc_info_ActionConfig_Character_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_ActionConfig_Character_default_instance_; + new (ptr) ::service::ActionConfig_Character(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ActionConfig_Character_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_ActionConfig_Character_service_2eproto}, {}}; + +static void InitDefaultsscc_info_ActionConfig_Object_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_ActionConfig_Object_default_instance_; + new (ptr) ::service::ActionConfig_Object(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ActionConfig_Object_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_ActionConfig_Object_service_2eproto}, {}}; + +static void InitDefaultsscc_info_AudioConfig_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_AudioConfig_default_instance_; + new (ptr) ::service::AudioConfig(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_AudioConfig_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_AudioConfig_service_2eproto}, {}}; + +static void InitDefaultsscc_info_BlendShapesData_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_BlendShapesData_default_instance_; + new (ptr) ::service::BlendShapesData(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_BlendShapesData_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_BlendShapesData_service_2eproto}, {}}; + +static void InitDefaultsscc_info_DynamicInfoConfig_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_DynamicInfoConfig_default_instance_; + new (ptr) ::service::DynamicInfoConfig(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DynamicInfoConfig_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_DynamicInfoConfig_service_2eproto}, {}}; + +static void InitDefaultsscc_info_EmotionResponse_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_EmotionResponse_default_instance_; + new (ptr) ::service::EmotionResponse(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_EmotionResponse_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_EmotionResponse_service_2eproto}, {}}; + +static void InitDefaultsscc_info_FeedbackRequest_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_FeedbackRequest_default_instance_; + new (ptr) ::service::FeedbackRequest(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_FeedbackRequest_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_FeedbackRequest_service_2eproto}, { + &scc_info_FeedbackRequest_Feedback_service_2eproto.base,}}; + +static void InitDefaultsscc_info_FeedbackRequest_Feedback_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_FeedbackRequest_Feedback_default_instance_; + new (ptr) ::service::FeedbackRequest_Feedback(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_FeedbackRequest_Feedback_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_FeedbackRequest_Feedback_service_2eproto}, {}}; + +static void InitDefaultsscc_info_FeedbackResponse_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_FeedbackResponse_default_instance_; + new (ptr) ::service::FeedbackResponse(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_FeedbackResponse_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_FeedbackResponse_service_2eproto}, {}}; + +static void InitDefaultsscc_info_GetResponseRequest_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_GetResponseRequest_default_instance_; + new (ptr) ::service::GetResponseRequest(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_GetResponseRequest_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, 0, InitDefaultsscc_info_GetResponseRequest_service_2eproto}, { + &scc_info_GetResponseRequest_GetResponseConfig_service_2eproto.base, + &scc_info_GetResponseRequest_GetResponseData_service_2eproto.base,}}; + +static void InitDefaultsscc_info_GetResponseRequest_GetResponseConfig_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_GetResponseRequest_GetResponseConfig_default_instance_; + new (ptr) ::service::GetResponseRequest_GetResponseConfig(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<5> scc_info_GetResponseRequest_GetResponseConfig_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 5, 0, InitDefaultsscc_info_GetResponseRequest_GetResponseConfig_service_2eproto}, { + &scc_info_AudioConfig_service_2eproto.base, + &scc_info_ActionConfig_service_2eproto.base, + &scc_info_GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse_service_2eproto.base, + &scc_info_DynamicInfoConfig_service_2eproto.base, + &scc_info_VisionInput_service_2eproto.base,}}; + +static void InitDefaultsscc_info_GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse_default_instance_; + new (ptr) ::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse(); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse_service_2eproto}, {}}; + +static void InitDefaultsscc_info_GetResponseRequest_GetResponseData_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_GetResponseRequest_GetResponseData_default_instance_; + new (ptr) ::service::GetResponseRequest_GetResponseData(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_GetResponseRequest_GetResponseData_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_GetResponseRequest_GetResponseData_service_2eproto}, { + &scc_info_TriggerConfig_service_2eproto.base,}}; + +static void InitDefaultsscc_info_GetResponseRequestSingle_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_GetResponseRequestSingle_default_instance_; + new (ptr) ::service::GetResponseRequestSingle(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_GetResponseRequestSingle_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_GetResponseRequestSingle_service_2eproto}, { + &scc_info_GetResponseRequest_service_2eproto.base,}}; + +static void InitDefaultsscc_info_GetResponseResponse_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_GetResponseResponse_default_instance_; + new (ptr) ::service::GetResponseResponse(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<4> scc_info_GetResponseResponse_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 4, 0, InitDefaultsscc_info_GetResponseResponse_service_2eproto}, { + &scc_info_GetResponseResponse_ActionResponse_service_2eproto.base, + &scc_info_GetResponseResponse_AudioResponse_service_2eproto.base, + &scc_info_GetResponseResponse_UserTranscript_service_2eproto.base, + &scc_info_GetResponseResponse_BehaviorTreeResponse_service_2eproto.base,}}; + +static void InitDefaultsscc_info_GetResponseResponse_ActionResponse_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_GetResponseResponse_ActionResponse_default_instance_; + new (ptr) ::service::GetResponseResponse_ActionResponse(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_GetResponseResponse_ActionResponse_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_GetResponseResponse_ActionResponse_service_2eproto}, {}}; + +static void InitDefaultsscc_info_GetResponseResponse_AudioResponse_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_GetResponseResponse_AudioResponse_default_instance_; + new (ptr) ::service::GetResponseResponse_AudioResponse(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<5> scc_info_GetResponseResponse_AudioResponse_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 5, 0, InitDefaultsscc_info_GetResponseResponse_AudioResponse_service_2eproto}, { + &scc_info_AudioConfig_service_2eproto.base, + &scc_info_VisemesData_service_2eproto.base, + &scc_info_BlendShapesData_service_2eproto.base, + &scc_info_ARKitBlendShapesData_arkit_5fblend_5fshapes_2eproto.base, + &scc_info_EmotionResponse_service_2eproto.base,}}; + +static void InitDefaultsscc_info_GetResponseResponse_BehaviorTreeResponse_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_GetResponseResponse_BehaviorTreeResponse_default_instance_; + new (ptr) ::service::GetResponseResponse_BehaviorTreeResponse(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_GetResponseResponse_BehaviorTreeResponse_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_GetResponseResponse_BehaviorTreeResponse_service_2eproto}, {}}; + +static void InitDefaultsscc_info_GetResponseResponse_UserTranscript_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_GetResponseResponse_UserTranscript_default_instance_; + new (ptr) ::service::GetResponseResponse_UserTranscript(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_GetResponseResponse_UserTranscript_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_GetResponseResponse_UserTranscript_service_2eproto}, {}}; + +static void InitDefaultsscc_info_HelloRequest_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_HelloRequest_default_instance_; + new (ptr) ::service::HelloRequest(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_HelloRequest_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_HelloRequest_service_2eproto}, {}}; + +static void InitDefaultsscc_info_HelloResponse_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_HelloResponse_default_instance_; + new (ptr) ::service::HelloResponse(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_HelloResponse_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_HelloResponse_service_2eproto}, {}}; + +static void InitDefaultsscc_info_STTRequest_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_STTRequest_default_instance_; + new (ptr) ::service::STTRequest(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_STTRequest_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_STTRequest_service_2eproto}, { + &scc_info_AudioConfig_service_2eproto.base,}}; + +static void InitDefaultsscc_info_STTResponse_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_STTResponse_default_instance_; + new (ptr) ::service::STTResponse(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_STTResponse_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_STTResponse_service_2eproto}, {}}; + +static void InitDefaultsscc_info_TriggerConfig_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_TriggerConfig_default_instance_; + new (ptr) ::service::TriggerConfig(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_TriggerConfig_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_TriggerConfig_service_2eproto}, {}}; + +static void InitDefaultsscc_info_Viseme_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_Viseme_default_instance_; + new (ptr) ::service::Viseme(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Viseme_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Viseme_service_2eproto}, {}}; + +static void InitDefaultsscc_info_VisemesData_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_VisemesData_default_instance_; + new (ptr) ::service::VisemesData(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_VisemesData_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_VisemesData_service_2eproto}, { + &scc_info_Viseme_service_2eproto.base,}}; + +static void InitDefaultsscc_info_VisionInput_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_VisionInput_default_instance_; + new (ptr) ::service::VisionInput(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_VisionInput_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, 0, InitDefaultsscc_info_VisionInput_service_2eproto}, { + &scc_info_VisionInput_ImageData_service_2eproto.base, + &scc_info_VisionInput_VideoData_service_2eproto.base,}}; + +static void InitDefaultsscc_info_VisionInput_ImageData_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_VisionInput_ImageData_default_instance_; + new (ptr) ::service::VisionInput_ImageData(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_VisionInput_ImageData_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_VisionInput_ImageData_service_2eproto}, {}}; + +static void InitDefaultsscc_info_VisionInput_VideoData_service_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::service::_VisionInput_VideoData_default_instance_; + new (ptr) ::service::VisionInput_VideoData(); + ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr); + } +} + +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_VisionInput_VideoData_service_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_VisionInput_VideoData_service_2eproto}, {}}; + +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_service_2eproto[30]; +static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_service_2eproto[1]; +static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_service_2eproto = nullptr; + +const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_service_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::AudioConfig, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::AudioConfig, sample_rate_hertz_), + PROTOBUF_FIELD_OFFSET(::service::AudioConfig, disable_audio_), + PROTOBUF_FIELD_OFFSET(::service::AudioConfig, enable_facial_data_), + PROTOBUF_FIELD_OFFSET(::service::AudioConfig, face_model_), + PROTOBUF_FIELD_OFFSET(::service::AudioConfig, enable_facial_emotion_data_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::TriggerConfig, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::TriggerConfig, trigger_name_), + PROTOBUF_FIELD_OFFSET(::service::TriggerConfig, trigger_message_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::ActionConfig_Character, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::ActionConfig_Character, name_), + PROTOBUF_FIELD_OFFSET(::service::ActionConfig_Character, bio_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::ActionConfig_Object, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::ActionConfig_Object, name_), + PROTOBUF_FIELD_OFFSET(::service::ActionConfig_Object, description_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::ActionConfig, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::ActionConfig, actions_), + PROTOBUF_FIELD_OFFSET(::service::ActionConfig, characters_), + PROTOBUF_FIELD_OFFSET(::service::ActionConfig, objects_), + PROTOBUF_FIELD_OFFSET(::service::ActionConfig, classification_), + PROTOBUF_FIELD_OFFSET(::service::ActionConfig, context_level_), + PROTOBUF_FIELD_OFFSET(::service::ActionConfig, current_attention_object_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::STTRequest, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service::STTRequest, _oneof_case_[0]), + ~0u, // no _weak_field_map_ + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service::STTRequest, request_type_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::STTResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::STTResponse, text_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::DynamicInfoConfig, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::DynamicInfoConfig, text_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::VisionInput_ImageData, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::VisionInput_ImageData, width_), + PROTOBUF_FIELD_OFFSET(::service::VisionInput_ImageData, height_), + PROTOBUF_FIELD_OFFSET(::service::VisionInput_ImageData, data_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::VisionInput_VideoData, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::VisionInput_VideoData, fps_), + PROTOBUF_FIELD_OFFSET(::service::VisionInput_VideoData, width_), + PROTOBUF_FIELD_OFFSET(::service::VisionInput_VideoData, height_), + PROTOBUF_FIELD_OFFSET(::service::VisionInput_VideoData, data_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::VisionInput, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service::VisionInput, _oneof_case_[0]), + ~0u, // no _weak_field_map_ + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service::VisionInput, vision_data_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse, key_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse, value_), + 0, + 1, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, character_id_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, api_key_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, session_id_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, audio_config_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, action_config_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, speaker_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, language_code_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, speaker_id_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, api_auth_token_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, narrative_template_keys_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, dynamic_info_config_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, vision_input_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseData, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseData, _oneof_case_[0]), + ~0u, // no _weak_field_map_ + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseData, input_type_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest, _oneof_case_[0]), + ~0u, // no _weak_field_map_ + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest, request_type_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequestSingle, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequestSingle, response_config_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequestSingle, response_data_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, _oneof_case_[0]), + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, audio_data_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, audio_config_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, text_data_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, end_of_response_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, face_data_), + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, face_emotion_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, emotion_response_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, face_data_type_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_ActionResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_ActionResponse, action_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_BehaviorTreeResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_BehaviorTreeResponse, bt_code_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_BehaviorTreeResponse, bt_constants_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_BehaviorTreeResponse, narrative_section_id_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_UserTranscript, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_UserTranscript, text_data_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_UserTranscript, is_final_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_UserTranscript, end_of_response_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse, _oneof_case_[0]), + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse, session_id_), + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse, response_type_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::VisemesData, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::VisemesData, visemes_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::EmotionResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::EmotionResponse, emotion_), + PROTOBUF_FIELD_OFFSET(::service::EmotionResponse, scale_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::Viseme, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::Viseme, sil_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, pp_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, ff_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, th_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, dd_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, kk_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, ch_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, ss_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, nn_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, rr_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, aa_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, e_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, ih_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, oh_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, ou_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::BlendShapesData, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::BlendShapesData, blendshape_data_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::HelloRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::HelloRequest, name_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::HelloResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::HelloResponse, message_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest_Feedback, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest_Feedback, thumbs_up_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest_Feedback, feedback_text_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest_Feedback, tags_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest_Feedback, is_test_case_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest, interaction_id_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest, character_id_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest, session_id_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest, text_feedback_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest, user_query_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest, response_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::FeedbackResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::service::FeedbackResponse, feedback_response_), +}; +static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + { 0, -1, sizeof(::service::AudioConfig)}, + { 10, -1, sizeof(::service::TriggerConfig)}, + { 17, -1, sizeof(::service::ActionConfig_Character)}, + { 24, -1, sizeof(::service::ActionConfig_Object)}, + { 31, -1, sizeof(::service::ActionConfig)}, + { 42, -1, sizeof(::service::STTRequest)}, + { 50, -1, sizeof(::service::STTResponse)}, + { 56, -1, sizeof(::service::DynamicInfoConfig)}, + { 62, -1, sizeof(::service::VisionInput_ImageData)}, + { 70, -1, sizeof(::service::VisionInput_VideoData)}, + { 79, -1, sizeof(::service::VisionInput)}, + { 87, 94, sizeof(::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse)}, + { 96, -1, sizeof(::service::GetResponseRequest_GetResponseConfig)}, + { 113, -1, sizeof(::service::GetResponseRequest_GetResponseData)}, + { 122, -1, sizeof(::service::GetResponseRequest)}, + { 130, -1, sizeof(::service::GetResponseRequestSingle)}, + { 137, -1, sizeof(::service::GetResponseResponse_AudioResponse)}, + { 152, -1, sizeof(::service::GetResponseResponse_ActionResponse)}, + { 158, -1, sizeof(::service::GetResponseResponse_BehaviorTreeResponse)}, + { 166, -1, sizeof(::service::GetResponseResponse_UserTranscript)}, + { 174, -1, sizeof(::service::GetResponseResponse)}, + { 188, -1, sizeof(::service::VisemesData)}, + { 194, -1, sizeof(::service::EmotionResponse)}, + { 201, -1, sizeof(::service::Viseme)}, + { 221, -1, sizeof(::service::BlendShapesData)}, + { 227, -1, sizeof(::service::HelloRequest)}, + { 233, -1, sizeof(::service::HelloResponse)}, + { 239, -1, sizeof(::service::FeedbackRequest_Feedback)}, + { 248, -1, sizeof(::service::FeedbackRequest)}, + { 259, -1, sizeof(::service::FeedbackResponse)}, +}; + +static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { + reinterpret_cast(&::service::_AudioConfig_default_instance_), + reinterpret_cast(&::service::_TriggerConfig_default_instance_), + reinterpret_cast(&::service::_ActionConfig_Character_default_instance_), + reinterpret_cast(&::service::_ActionConfig_Object_default_instance_), + reinterpret_cast(&::service::_ActionConfig_default_instance_), + reinterpret_cast(&::service::_STTRequest_default_instance_), + reinterpret_cast(&::service::_STTResponse_default_instance_), + reinterpret_cast(&::service::_DynamicInfoConfig_default_instance_), + reinterpret_cast(&::service::_VisionInput_ImageData_default_instance_), + reinterpret_cast(&::service::_VisionInput_VideoData_default_instance_), + reinterpret_cast(&::service::_VisionInput_default_instance_), + reinterpret_cast(&::service::_GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse_default_instance_), + reinterpret_cast(&::service::_GetResponseRequest_GetResponseConfig_default_instance_), + reinterpret_cast(&::service::_GetResponseRequest_GetResponseData_default_instance_), + reinterpret_cast(&::service::_GetResponseRequest_default_instance_), + reinterpret_cast(&::service::_GetResponseRequestSingle_default_instance_), + reinterpret_cast(&::service::_GetResponseResponse_AudioResponse_default_instance_), + reinterpret_cast(&::service::_GetResponseResponse_ActionResponse_default_instance_), + reinterpret_cast(&::service::_GetResponseResponse_BehaviorTreeResponse_default_instance_), + reinterpret_cast(&::service::_GetResponseResponse_UserTranscript_default_instance_), + reinterpret_cast(&::service::_GetResponseResponse_default_instance_), + reinterpret_cast(&::service::_VisemesData_default_instance_), + reinterpret_cast(&::service::_EmotionResponse_default_instance_), + reinterpret_cast(&::service::_Viseme_default_instance_), + reinterpret_cast(&::service::_BlendShapesData_default_instance_), + reinterpret_cast(&::service::_HelloRequest_default_instance_), + reinterpret_cast(&::service::_HelloResponse_default_instance_), + reinterpret_cast(&::service::_FeedbackRequest_Feedback_default_instance_), + reinterpret_cast(&::service::_FeedbackRequest_default_instance_), + reinterpret_cast(&::service::_FeedbackResponse_default_instance_), +}; + +const char descriptor_table_protodef_service_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = + "\n\rservice.proto\022\007service\032\030arkit_blend_sh" + "apes.proto\"\247\001\n\013AudioConfig\022\031\n\021sample_rat" + "e_hertz\030\001 \001(\005\022\025\n\rdisable_audio\030\002 \001(\010\022\032\n\022" + "enable_facial_data\030\003 \001(\010\022&\n\nface_model\030\004" + " \001(\0162\022.service.FaceModel\022\"\n\032enable_facia" + "l_emotion_data\030\005 \001(\010\">\n\rTriggerConfig\022\024\n" + "\014trigger_name\030\001 \001(\t\022\027\n\017trigger_message\030\002" + " \001(\t\"\251\002\n\014ActionConfig\022\017\n\007actions\030\001 \003(\t\0223" + "\n\ncharacters\030\002 \003(\0132\037.service.ActionConfi" + "g.Character\022-\n\007objects\030\003 \003(\0132\034.service.A" + "ctionConfig.Object\022\026\n\016classification\030\004 \001" + "(\t\022\025\n\rcontext_level\030\005 \001(\005\022 \n\030current_att" + "ention_object\030\006 \001(\t\032&\n\tCharacter\022\014\n\004name" + "\030\001 \001(\t\022\013\n\003bio\030\002 \001(\t\032+\n\006Object\022\014\n\004name\030\001 " + "\001(\t\022\023\n\013description\030\002 \001(\t\"a\n\nSTTRequest\022," + "\n\014audio_config\030\001 \001(\0132\024.service.AudioConf" + "igH\000\022\025\n\013audio_chunk\030\002 \001(\014H\000B\016\n\014request_t" + "ype\"\033\n\013STTResponse\022\014\n\004text\030\001 \001(\t\"!\n\021Dyna" + "micInfoConfig\022\014\n\004text\030\001 \001(\t\"\211\002\n\013VisionIn" + "put\0224\n\nimage_data\030\001 \001(\0132\036.service.Vision" + "Input.ImageDataH\000\0224\n\nvideo_data\030\002 \001(\0132\036." + "service.VisionInput.VideoDataH\000\0328\n\tImage" + "Data\022\r\n\005width\030\001 \001(\005\022\016\n\006height\030\002 \001(\005\022\014\n\004d" + "ata\030\003 \001(\014\032E\n\tVideoData\022\013\n\003fps\030\001 \001(\005\022\r\n\005w" + "idth\030\002 \001(\005\022\016\n\006height\030\003 \001(\005\022\014\n\004data\030\004 \001(\014" + "B\r\n\013vision_data\"\305\006\n\022GetResponseRequest\022L" + "\n\023get_response_config\030\001 \001(\0132-.service.Ge" + "tResponseRequest.GetResponseConfigH\000\022H\n\021" + "get_response_data\030\002 \001(\0132+.service.GetRes" + "ponseRequest.GetResponseDataH\000\032\212\004\n\021GetRe" + "sponseConfig\022\024\n\014character_id\030\002 \001(\t\022\017\n\007ap" + "i_key\030\003 \001(\t\022\022\n\nsession_id\030\004 \001(\t\022*\n\014audio" + "_config\030\005 \001(\0132\024.service.AudioConfig\022,\n\ra" + "ction_config\030\006 \001(\0132\025.service.ActionConfi" + "g\022\017\n\007speaker\030\007 \001(\t\022\025\n\rlanguage_code\030\010 \001(" + "\t\022\022\n\nspeaker_id\030\t \001(\t\022\026\n\016api_auth_token\030" + "\n \001(\t\022i\n\027narrative_template_keys\030\013 \003(\0132H" + ".service.GetResponseRequest.GetResponseC" + "onfig.NarrativeTemplateKeysEntry\0227\n\023dyna" + "mic_info_config\030\014 \001(\0132\032.service.DynamicI" + "nfoConfig\022*\n\014vision_input\030\r \001(\0132\024.servic" + "e.VisionInput\032<\n\032NarrativeTemplateKeysEn" + "try\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\032z\n\017G" + "etResponseData\022\024\n\naudio_data\030\001 \001(\014H\000\022\023\n\t" + "text_data\030\002 \001(\tH\000\022.\n\014trigger_data\030\003 \001(\0132" + "\026.service.TriggerConfigH\000B\014\n\ninput_typeB" + "\016\n\014request_type\"\204\001\n\030GetResponseRequestSi" + "ngle\0224\n\017response_config\030\001 \001(\0132\033.service." + "GetResponseRequest\0222\n\rresponse_data\030\002 \001(" + "\0132\033.service.GetResponseRequest\"\337\007\n\023GetRe" + "sponseResponse\022\022\n\nsession_id\030\001 \001(\t\022F\n\017ac" + "tion_response\030\002 \001(\0132+.service.GetRespons" + "eResponse.ActionResponseH\000\022D\n\016audio_resp" + "onse\030\003 \001(\0132*.service.GetResponseResponse" + ".AudioResponseH\000\022\023\n\tdebug_log\030\004 \001(\tH\000\022A\n" + "\nuser_query\030\005 \001(\0132+.service.GetResponseR" + "esponse.UserTranscriptH\000\022H\n\013bt_response\030" + "\006 \001(\01321.service.GetResponseResponse.Beha" + "viorTreeResponseH\000\022\032\n\020emotion_response\030\007" + " \001(\tH\000\022\030\n\016interaction_id\030\010 \001(\tH\000\032\355\002\n\rAud" + "ioResponse\022\022\n\naudio_data\030\001 \001(\014\022*\n\014audio_" + "config\030\002 \001(\0132\024.service.AudioConfig\022\021\n\tte" + "xt_data\030\003 \001(\t\022\027\n\017end_of_response\030\004 \001(\010\022\021" + "\n\tface_data\030\005 \001(\t\022,\n\014visemes_data\030\006 \001(\0132" + "\024.service.VisemesDataH\000\0224\n\020blendshapes_d" + "ata\030\007 \001(\0132\030.service.BlendShapesDataH\000\0223\n" + "\014face_emotion\030\010 \001(\0132\035.service.ARKitBlend" + "ShapesData\0222\n\020emotion_response\030\t \001(\0132\030.s" + "ervice.EmotionResponseB\020\n\016face_data_type" + "\032 \n\016ActionResponse\022\016\n\006action\030\001 \001(\t\032[\n\024Be" + "haviorTreeResponse\022\017\n\007bt_code\030\001 \001(\t\022\024\n\014b" + "t_constants\030\002 \001(\t\022\034\n\024narrative_section_i" + "d\030\003 \001(\t\032N\n\016UserTranscript\022\021\n\ttext_data\030\001" + " \001(\t\022\020\n\010is_final\030\002 \001(\010\022\027\n\017end_of_respons" + "e\030\003 \001(\010B\017\n\rresponse_type\"/\n\013VisemesData\022" + " \n\007visemes\030\001 \001(\0132\017.service.Viseme\"1\n\017Emo" + "tionResponse\022\017\n\007emotion\030\001 \001(\t\022\r\n\005scale\030\002" + " \001(\t\"\274\001\n\006Viseme\022\013\n\003sil\030\001 \001(\002\022\n\n\002pp\030\002 \001(\002" + "\022\n\n\002ff\030\003 \001(\002\022\n\n\002th\030\004 \001(\002\022\n\n\002dd\030\005 \001(\002\022\n\n\002" + "kk\030\006 \001(\002\022\n\n\002ch\030\007 \001(\002\022\n\n\002ss\030\010 \001(\002\022\n\n\002nn\030\t" + " \001(\002\022\n\n\002rr\030\n \001(\002\022\n\n\002aa\030\013 \001(\002\022\t\n\001e\030\014 \001(\002\022" + "\n\n\002ih\030\r \001(\002\022\n\n\002oh\030\016 \001(\002\022\n\n\002ou\030\017 \001(\002\"*\n\017B" + "lendShapesData\022\027\n\017blendshape_data\030\001 \001(\t\"" + "\034\n\014HelloRequest\022\014\n\004name\030\001 \001(\t\" \n\rHelloRe" + "sponse\022\017\n\007message\030\001 \001(\t\"\215\002\n\017FeedbackRequ" + "est\022\026\n\016interaction_id\030\001 \001(\t\022\024\n\014character" + "_id\030\002 \001(\t\022\022\n\nsession_id\030\003 \001(\t\0228\n\rtext_fe" + "edback\030\005 \001(\0132!.service.FeedbackRequest.F" + "eedback\022\022\n\nuser_query\030\006 \001(\t\022\020\n\010response\030" + "\007 \001(\t\032X\n\010Feedback\022\021\n\tthumbs_up\030\001 \001(\010\022\025\n\r" + "feedback_text\030\002 \001(\t\022\014\n\004tags\030\003 \003(\t\022\024\n\014is_" + "test_case\030\004 \001(\010\"-\n\020FeedbackResponse\022\031\n\021f" + "eedback_response\030\001 \001(\t*\212\001\n\tFaceModel\022\032\n\026" + "FACE_MODEL_UNSPECIFIED\020\000\022\036\n\032FACE_MODEL_A" + "_2F_MODEL_NAME\020\001\022\"\n\036FACE_MODEL_PHONEMES_" + "MODEL_NAME\020\002\022\035\n\031FACE_MODEL_OVR_MODEL_NAM" + "E\020\0032\301\003\n\rConvaiService\0228\n\005Hello\022\025.service" + ".HelloRequest\032\026.service.HelloResponse\"\000\022" + "B\n\013HelloStream\022\025.service.HelloRequest\032\026." + "service.HelloResponse\"\000(\0010\001\022\?\n\014SpeechToT" + "ext\022\023.service.STTRequest\032\024.service.STTRe" + "sponse\"\000(\0010\001\022N\n\013GetResponse\022\033.service.Ge" + "tResponseRequest\032\034.service.GetResponseRe" + "sponse\"\000(\0010\001\022X\n\021GetResponseSingle\022!.serv" + "ice.GetResponseRequestSingle\032\034.service.G" + "etResponseResponse\"\0000\001\022G\n\016SubmitFeedback" + "\022\030.service.FeedbackRequest\032\031.service.Fee" + "dbackResponse\"\000B\017Z\rproto/serviceb\006proto3" + ; +static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_service_2eproto_deps[1] = { + &::descriptor_table_arkit_5fblend_5fshapes_2eproto, +}; +static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_service_2eproto_sccs[30] = { + &scc_info_ActionConfig_service_2eproto.base, + &scc_info_ActionConfig_Character_service_2eproto.base, + &scc_info_ActionConfig_Object_service_2eproto.base, + &scc_info_AudioConfig_service_2eproto.base, + &scc_info_BlendShapesData_service_2eproto.base, + &scc_info_DynamicInfoConfig_service_2eproto.base, + &scc_info_EmotionResponse_service_2eproto.base, + &scc_info_FeedbackRequest_service_2eproto.base, + &scc_info_FeedbackRequest_Feedback_service_2eproto.base, + &scc_info_FeedbackResponse_service_2eproto.base, + &scc_info_GetResponseRequest_service_2eproto.base, + &scc_info_GetResponseRequest_GetResponseConfig_service_2eproto.base, + &scc_info_GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse_service_2eproto.base, + &scc_info_GetResponseRequest_GetResponseData_service_2eproto.base, + &scc_info_GetResponseRequestSingle_service_2eproto.base, + &scc_info_GetResponseResponse_service_2eproto.base, + &scc_info_GetResponseResponse_ActionResponse_service_2eproto.base, + &scc_info_GetResponseResponse_AudioResponse_service_2eproto.base, + &scc_info_GetResponseResponse_BehaviorTreeResponse_service_2eproto.base, + &scc_info_GetResponseResponse_UserTranscript_service_2eproto.base, + &scc_info_HelloRequest_service_2eproto.base, + &scc_info_HelloResponse_service_2eproto.base, + &scc_info_STTRequest_service_2eproto.base, + &scc_info_STTResponse_service_2eproto.base, + &scc_info_TriggerConfig_service_2eproto.base, + &scc_info_Viseme_service_2eproto.base, + &scc_info_VisemesData_service_2eproto.base, + &scc_info_VisionInput_service_2eproto.base, + &scc_info_VisionInput_ImageData_service_2eproto.base, + &scc_info_VisionInput_VideoData_service_2eproto.base, +}; +static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_service_2eproto_once; +const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_service_2eproto = { + false, false, descriptor_table_protodef_service_2eproto, "service.proto", 4320, + &descriptor_table_service_2eproto_once, descriptor_table_service_2eproto_sccs, descriptor_table_service_2eproto_deps, 30, 1, + schemas, file_default_instances, TableStruct_service_2eproto::offsets, + file_level_metadata_service_2eproto, 30, file_level_enum_descriptors_service_2eproto, file_level_service_descriptors_service_2eproto, +}; + +// Force running AddDescriptors() at dynamic initialization time. +static bool dynamic_init_dummy_service_2eproto = (static_cast(::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_service_2eproto)), true); +namespace service { +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FaceModel_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_service_2eproto); + return file_level_enum_descriptors_service_2eproto[0]; +} +bool FaceModel_IsValid(int value) { + switch (value) { + case 0: + case 1: + case 2: + case 3: + return true; + default: + return false; + } +} + + +// =================================================================== + +class AudioConfig::_Internal { + public: +}; + +AudioConfig::AudioConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.AudioConfig) +} +AudioConfig::AudioConfig(const AudioConfig& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::memcpy(&sample_rate_hertz_, &from.sample_rate_hertz_, + static_cast(reinterpret_cast(&face_model_) - + reinterpret_cast(&sample_rate_hertz_)) + sizeof(face_model_)); + // @@protoc_insertion_point(copy_constructor:service.AudioConfig) +} + +void AudioConfig::SharedCtor() { + ::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&sample_rate_hertz_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&face_model_) - + reinterpret_cast(&sample_rate_hertz_)) + sizeof(face_model_)); +} + +AudioConfig::~AudioConfig() { + // @@protoc_insertion_point(destructor:service.AudioConfig) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void AudioConfig::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); +} + +void AudioConfig::ArenaDtor(void* object) { + AudioConfig* _this = reinterpret_cast< AudioConfig* >(object); + (void)_this; +} +void AudioConfig::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void AudioConfig::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const AudioConfig& AudioConfig::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_AudioConfig_service_2eproto.base); + return *internal_default_instance(); +} + + +void AudioConfig::Clear() { +// @@protoc_insertion_point(message_clear_start:service.AudioConfig) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::memset(&sample_rate_hertz_, 0, static_cast( + reinterpret_cast(&face_model_) - + reinterpret_cast(&sample_rate_hertz_)) + sizeof(face_model_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* AudioConfig::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // int32 sample_rate_hertz = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { + sample_rate_hertz_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bool disable_audio = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { + disable_audio_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bool enable_facial_data = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { + enable_facial_data_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.FaceModel face_model = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) { + ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_face_model(static_cast<::service::FaceModel>(val)); + } else goto handle_unusual; + continue; + // bool enable_facial_emotion_data = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) { + enable_facial_emotion_data_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* AudioConfig::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.AudioConfig) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // int32 sample_rate_hertz = 1; + if (this->sample_rate_hertz() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_sample_rate_hertz(), target); + } + + // bool disable_audio = 2; + if (this->disable_audio() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_disable_audio(), target); + } + + // bool enable_facial_data = 3; + if (this->enable_facial_data() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_enable_facial_data(), target); + } + + // .service.FaceModel face_model = 4; + if (this->face_model() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( + 4, this->_internal_face_model(), target); + } + + // bool enable_facial_emotion_data = 5; + if (this->enable_facial_emotion_data() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_enable_facial_emotion_data(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.AudioConfig) + return target; +} + +size_t AudioConfig::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.AudioConfig) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // int32 sample_rate_hertz = 1; + if (this->sample_rate_hertz() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_sample_rate_hertz()); + } + + // bool disable_audio = 2; + if (this->disable_audio() != 0) { + total_size += 1 + 1; + } + + // bool enable_facial_data = 3; + if (this->enable_facial_data() != 0) { + total_size += 1 + 1; + } + + // bool enable_facial_emotion_data = 5; + if (this->enable_facial_emotion_data() != 0) { + total_size += 1 + 1; + } + + // .service.FaceModel face_model = 4; + if (this->face_model() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_face_model()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void AudioConfig::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.AudioConfig) + GOOGLE_DCHECK_NE(&from, this); + const AudioConfig* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.AudioConfig) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.AudioConfig) + MergeFrom(*source); + } +} + +void AudioConfig::MergeFrom(const AudioConfig& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.AudioConfig) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.sample_rate_hertz() != 0) { + _internal_set_sample_rate_hertz(from._internal_sample_rate_hertz()); + } + if (from.disable_audio() != 0) { + _internal_set_disable_audio(from._internal_disable_audio()); + } + if (from.enable_facial_data() != 0) { + _internal_set_enable_facial_data(from._internal_enable_facial_data()); + } + if (from.enable_facial_emotion_data() != 0) { + _internal_set_enable_facial_emotion_data(from._internal_enable_facial_emotion_data()); + } + if (from.face_model() != 0) { + _internal_set_face_model(from._internal_face_model()); + } +} + +void AudioConfig::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.AudioConfig) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void AudioConfig::CopyFrom(const AudioConfig& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.AudioConfig) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool AudioConfig::IsInitialized() const { + return true; +} + +void AudioConfig::InternalSwap(AudioConfig* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(AudioConfig, face_model_) + + sizeof(AudioConfig::face_model_) + - PROTOBUF_FIELD_OFFSET(AudioConfig, sample_rate_hertz_)>( + reinterpret_cast(&sample_rate_hertz_), + reinterpret_cast(&other->sample_rate_hertz_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata AudioConfig::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class TriggerConfig::_Internal { + public: +}; + +TriggerConfig::TriggerConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.TriggerConfig) +} +TriggerConfig::TriggerConfig(const TriggerConfig& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + trigger_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_trigger_name().empty()) { + trigger_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_trigger_name(), + GetArena()); + } + trigger_message_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_trigger_message().empty()) { + trigger_message_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_trigger_message(), + GetArena()); + } + // @@protoc_insertion_point(copy_constructor:service.TriggerConfig) +} + +void TriggerConfig::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_TriggerConfig_service_2eproto.base); + trigger_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + trigger_message_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +TriggerConfig::~TriggerConfig() { + // @@protoc_insertion_point(destructor:service.TriggerConfig) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void TriggerConfig::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + trigger_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + trigger_message_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void TriggerConfig::ArenaDtor(void* object) { + TriggerConfig* _this = reinterpret_cast< TriggerConfig* >(object); + (void)_this; +} +void TriggerConfig::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void TriggerConfig::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const TriggerConfig& TriggerConfig::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_TriggerConfig_service_2eproto.base); + return *internal_default_instance(); +} + + +void TriggerConfig::Clear() { +// @@protoc_insertion_point(message_clear_start:service.TriggerConfig) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + trigger_name_.ClearToEmpty(); + trigger_message_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* TriggerConfig::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string trigger_name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_trigger_name(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.TriggerConfig.trigger_name")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string trigger_message = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_trigger_message(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.TriggerConfig.trigger_message")); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* TriggerConfig::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.TriggerConfig) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string trigger_name = 1; + if (this->trigger_name().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_trigger_name().data(), static_cast(this->_internal_trigger_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.TriggerConfig.trigger_name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_trigger_name(), target); + } + + // string trigger_message = 2; + if (this->trigger_message().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_trigger_message().data(), static_cast(this->_internal_trigger_message().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.TriggerConfig.trigger_message"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_trigger_message(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.TriggerConfig) + return target; +} + +size_t TriggerConfig::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.TriggerConfig) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string trigger_name = 1; + if (this->trigger_name().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_trigger_name()); + } + + // string trigger_message = 2; + if (this->trigger_message().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_trigger_message()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void TriggerConfig::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.TriggerConfig) + GOOGLE_DCHECK_NE(&from, this); + const TriggerConfig* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.TriggerConfig) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.TriggerConfig) + MergeFrom(*source); + } +} + +void TriggerConfig::MergeFrom(const TriggerConfig& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.TriggerConfig) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.trigger_name().size() > 0) { + _internal_set_trigger_name(from._internal_trigger_name()); + } + if (from.trigger_message().size() > 0) { + _internal_set_trigger_message(from._internal_trigger_message()); + } +} + +void TriggerConfig::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.TriggerConfig) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void TriggerConfig::CopyFrom(const TriggerConfig& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.TriggerConfig) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool TriggerConfig::IsInitialized() const { + return true; +} + +void TriggerConfig::InternalSwap(TriggerConfig* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + trigger_name_.Swap(&other->trigger_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + trigger_message_.Swap(&other->trigger_message_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} + +::PROTOBUF_NAMESPACE_ID::Metadata TriggerConfig::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class ActionConfig_Character::_Internal { + public: +}; + +ActionConfig_Character::ActionConfig_Character(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.ActionConfig.Character) +} +ActionConfig_Character::ActionConfig_Character(const ActionConfig_Character& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_name().empty()) { + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(), + GetArena()); + } + bio_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_bio().empty()) { + bio_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_bio(), + GetArena()); + } + // @@protoc_insertion_point(copy_constructor:service.ActionConfig.Character) +} + +void ActionConfig_Character::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ActionConfig_Character_service_2eproto.base); + name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + bio_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +ActionConfig_Character::~ActionConfig_Character() { + // @@protoc_insertion_point(destructor:service.ActionConfig.Character) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void ActionConfig_Character::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + bio_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void ActionConfig_Character::ArenaDtor(void* object) { + ActionConfig_Character* _this = reinterpret_cast< ActionConfig_Character* >(object); + (void)_this; +} +void ActionConfig_Character::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void ActionConfig_Character::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const ActionConfig_Character& ActionConfig_Character::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ActionConfig_Character_service_2eproto.base); + return *internal_default_instance(); +} + + +void ActionConfig_Character::Clear() { +// @@protoc_insertion_point(message_clear_start:service.ActionConfig.Character) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + name_.ClearToEmpty(); + bio_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ActionConfig_Character::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_name(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.ActionConfig.Character.name")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string bio = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_bio(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.ActionConfig.Character.bio")); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* ActionConfig_Character::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.ActionConfig.Character) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string name = 1; + if (this->name().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_name().data(), static_cast(this->_internal_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.ActionConfig.Character.name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_name(), target); + } + + // string bio = 2; + if (this->bio().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_bio().data(), static_cast(this->_internal_bio().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.ActionConfig.Character.bio"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_bio(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.ActionConfig.Character) + return target; +} + +size_t ActionConfig_Character::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.ActionConfig.Character) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string name = 1; + if (this->name().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + // string bio = 2; + if (this->bio().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_bio()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void ActionConfig_Character::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.ActionConfig.Character) + GOOGLE_DCHECK_NE(&from, this); + const ActionConfig_Character* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.ActionConfig.Character) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.ActionConfig.Character) + MergeFrom(*source); + } +} + +void ActionConfig_Character::MergeFrom(const ActionConfig_Character& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.ActionConfig.Character) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.name().size() > 0) { + _internal_set_name(from._internal_name()); + } + if (from.bio().size() > 0) { + _internal_set_bio(from._internal_bio()); + } +} + +void ActionConfig_Character::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.ActionConfig.Character) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void ActionConfig_Character::CopyFrom(const ActionConfig_Character& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.ActionConfig.Character) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ActionConfig_Character::IsInitialized() const { + return true; +} + +void ActionConfig_Character::InternalSwap(ActionConfig_Character* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + bio_.Swap(&other->bio_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ActionConfig_Character::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class ActionConfig_Object::_Internal { + public: +}; + +ActionConfig_Object::ActionConfig_Object(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.ActionConfig.Object) +} +ActionConfig_Object::ActionConfig_Object(const ActionConfig_Object& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_name().empty()) { + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(), + GetArena()); + } + description_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_description().empty()) { + description_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_description(), + GetArena()); + } + // @@protoc_insertion_point(copy_constructor:service.ActionConfig.Object) +} + +void ActionConfig_Object::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ActionConfig_Object_service_2eproto.base); + name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + description_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +ActionConfig_Object::~ActionConfig_Object() { + // @@protoc_insertion_point(destructor:service.ActionConfig.Object) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void ActionConfig_Object::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + description_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void ActionConfig_Object::ArenaDtor(void* object) { + ActionConfig_Object* _this = reinterpret_cast< ActionConfig_Object* >(object); + (void)_this; +} +void ActionConfig_Object::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void ActionConfig_Object::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const ActionConfig_Object& ActionConfig_Object::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ActionConfig_Object_service_2eproto.base); + return *internal_default_instance(); +} + + +void ActionConfig_Object::Clear() { +// @@protoc_insertion_point(message_clear_start:service.ActionConfig.Object) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + name_.ClearToEmpty(); + description_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ActionConfig_Object::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_name(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.ActionConfig.Object.name")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string description = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_description(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.ActionConfig.Object.description")); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* ActionConfig_Object::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.ActionConfig.Object) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string name = 1; + if (this->name().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_name().data(), static_cast(this->_internal_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.ActionConfig.Object.name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_name(), target); + } + + // string description = 2; + if (this->description().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_description().data(), static_cast(this->_internal_description().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.ActionConfig.Object.description"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_description(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.ActionConfig.Object) + return target; +} + +size_t ActionConfig_Object::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.ActionConfig.Object) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string name = 1; + if (this->name().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + // string description = 2; + if (this->description().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_description()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void ActionConfig_Object::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.ActionConfig.Object) + GOOGLE_DCHECK_NE(&from, this); + const ActionConfig_Object* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.ActionConfig.Object) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.ActionConfig.Object) + MergeFrom(*source); + } +} + +void ActionConfig_Object::MergeFrom(const ActionConfig_Object& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.ActionConfig.Object) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.name().size() > 0) { + _internal_set_name(from._internal_name()); + } + if (from.description().size() > 0) { + _internal_set_description(from._internal_description()); + } +} + +void ActionConfig_Object::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.ActionConfig.Object) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void ActionConfig_Object::CopyFrom(const ActionConfig_Object& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.ActionConfig.Object) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ActionConfig_Object::IsInitialized() const { + return true; +} + +void ActionConfig_Object::InternalSwap(ActionConfig_Object* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + description_.Swap(&other->description_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ActionConfig_Object::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class ActionConfig::_Internal { + public: +}; + +ActionConfig::ActionConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena), + actions_(arena), + characters_(arena), + objects_(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.ActionConfig) +} +ActionConfig::ActionConfig(const ActionConfig& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + actions_(from.actions_), + characters_(from.characters_), + objects_(from.objects_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + classification_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_classification().empty()) { + classification_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_classification(), + GetArena()); + } + current_attention_object_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_current_attention_object().empty()) { + current_attention_object_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_current_attention_object(), + GetArena()); + } + context_level_ = from.context_level_; + // @@protoc_insertion_point(copy_constructor:service.ActionConfig) +} + +void ActionConfig::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ActionConfig_service_2eproto.base); + classification_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + current_attention_object_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + context_level_ = 0; +} + +ActionConfig::~ActionConfig() { + // @@protoc_insertion_point(destructor:service.ActionConfig) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void ActionConfig::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + classification_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + current_attention_object_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void ActionConfig::ArenaDtor(void* object) { + ActionConfig* _this = reinterpret_cast< ActionConfig* >(object); + (void)_this; +} +void ActionConfig::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void ActionConfig::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const ActionConfig& ActionConfig::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ActionConfig_service_2eproto.base); + return *internal_default_instance(); +} + + +void ActionConfig::Clear() { +// @@protoc_insertion_point(message_clear_start:service.ActionConfig) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + actions_.Clear(); + characters_.Clear(); + objects_.Clear(); + classification_.ClearToEmpty(); + current_attention_object_.ClearToEmpty(); + context_level_ = 0; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ActionConfig::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // repeated string actions = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr -= 1; + do { + ptr += 1; + auto str = _internal_add_actions(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.ActionConfig.actions")); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); + } else goto handle_unusual; + continue; + // repeated .service.ActionConfig.Character characters = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_characters(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr)); + } else goto handle_unusual; + continue; + // repeated .service.ActionConfig.Object objects = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_objects(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr)); + } else goto handle_unusual; + continue; + // string classification = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + auto str = _internal_mutable_classification(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.ActionConfig.classification")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 context_level = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) { + context_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string current_attention_object = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) { + auto str = _internal_mutable_current_attention_object(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.ActionConfig.current_attention_object")); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* ActionConfig::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.ActionConfig) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // repeated string actions = 1; + for (int i = 0, n = this->_internal_actions_size(); i < n; i++) { + const auto& s = this->_internal_actions(i); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.ActionConfig.actions"); + target = stream->WriteString(1, s, target); + } + + // repeated .service.ActionConfig.Character characters = 2; + for (unsigned int i = 0, + n = static_cast(this->_internal_characters_size()); i < n; i++) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, this->_internal_characters(i), target, stream); + } + + // repeated .service.ActionConfig.Object objects = 3; + for (unsigned int i = 0, + n = static_cast(this->_internal_objects_size()); i < n; i++) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, this->_internal_objects(i), target, stream); + } + + // string classification = 4; + if (this->classification().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_classification().data(), static_cast(this->_internal_classification().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.ActionConfig.classification"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_classification(), target); + } + + // int32 context_level = 5; + if (this->context_level() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_context_level(), target); + } + + // string current_attention_object = 6; + if (this->current_attention_object().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_current_attention_object().data(), static_cast(this->_internal_current_attention_object().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.ActionConfig.current_attention_object"); + target = stream->WriteStringMaybeAliased( + 6, this->_internal_current_attention_object(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.ActionConfig) + return target; +} + +size_t ActionConfig::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.ActionConfig) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated string actions = 1; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(actions_.size()); + for (int i = 0, n = actions_.size(); i < n; i++) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + actions_.Get(i)); + } + + // repeated .service.ActionConfig.Character characters = 2; + total_size += 1UL * this->_internal_characters_size(); + for (const auto& msg : this->characters_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // repeated .service.ActionConfig.Object objects = 3; + total_size += 1UL * this->_internal_objects_size(); + for (const auto& msg : this->objects_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // string classification = 4; + if (this->classification().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_classification()); + } + + // string current_attention_object = 6; + if (this->current_attention_object().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_current_attention_object()); + } + + // int32 context_level = 5; + if (this->context_level() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_context_level()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void ActionConfig::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.ActionConfig) + GOOGLE_DCHECK_NE(&from, this); + const ActionConfig* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.ActionConfig) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.ActionConfig) + MergeFrom(*source); + } +} + +void ActionConfig::MergeFrom(const ActionConfig& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.ActionConfig) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + actions_.MergeFrom(from.actions_); + characters_.MergeFrom(from.characters_); + objects_.MergeFrom(from.objects_); + if (from.classification().size() > 0) { + _internal_set_classification(from._internal_classification()); + } + if (from.current_attention_object().size() > 0) { + _internal_set_current_attention_object(from._internal_current_attention_object()); + } + if (from.context_level() != 0) { + _internal_set_context_level(from._internal_context_level()); + } +} + +void ActionConfig::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.ActionConfig) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void ActionConfig::CopyFrom(const ActionConfig& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.ActionConfig) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ActionConfig::IsInitialized() const { + return true; +} + +void ActionConfig::InternalSwap(ActionConfig* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + actions_.InternalSwap(&other->actions_); + characters_.InternalSwap(&other->characters_); + objects_.InternalSwap(&other->objects_); + classification_.Swap(&other->classification_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + current_attention_object_.Swap(&other->current_attention_object_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + swap(context_level_, other->context_level_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ActionConfig::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class STTRequest::_Internal { + public: + static const ::service::AudioConfig& audio_config(const STTRequest* msg); +}; + +const ::service::AudioConfig& +STTRequest::_Internal::audio_config(const STTRequest* msg) { + return *msg->request_type_.audio_config_; +} +void STTRequest::set_allocated_audio_config(::service::AudioConfig* audio_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + clear_request_type(); + if (audio_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(audio_config); + if (message_arena != submessage_arena) { + audio_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, audio_config, submessage_arena); + } + set_has_audio_config(); + request_type_.audio_config_ = audio_config; + } + // @@protoc_insertion_point(field_set_allocated:service.STTRequest.audio_config) +} +STTRequest::STTRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.STTRequest) +} +STTRequest::STTRequest(const STTRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + clear_has_request_type(); + switch (from.request_type_case()) { + case kAudioConfig: { + _internal_mutable_audio_config()->::service::AudioConfig::MergeFrom(from._internal_audio_config()); + break; + } + case kAudioChunk: { + _internal_set_audio_chunk(from._internal_audio_chunk()); + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service.STTRequest) +} + +void STTRequest::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_STTRequest_service_2eproto.base); + clear_has_request_type(); +} + +STTRequest::~STTRequest() { + // @@protoc_insertion_point(destructor:service.STTRequest) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void STTRequest::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + if (has_request_type()) { + clear_request_type(); + } +} + +void STTRequest::ArenaDtor(void* object) { + STTRequest* _this = reinterpret_cast< STTRequest* >(object); + (void)_this; +} +void STTRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void STTRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const STTRequest& STTRequest::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_STTRequest_service_2eproto.base); + return *internal_default_instance(); +} + + +void STTRequest::clear_request_type() { +// @@protoc_insertion_point(one_of_clear_start:service.STTRequest) + switch (request_type_case()) { + case kAudioConfig: { + if (GetArena() == nullptr) { + delete request_type_.audio_config_; + } + break; + } + case kAudioChunk: { + request_type_.audio_chunk_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } + _oneof_case_[0] = REQUEST_TYPE_NOT_SET; +} + + +void STTRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:service.STTRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_request_type(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* STTRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // .service.AudioConfig audio_config = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_audio_config(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bytes audio_chunk = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_audio_chunk(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* STTRequest::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.STTRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .service.AudioConfig audio_config = 1; + if (_internal_has_audio_config()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::audio_config(this), target, stream); + } + + // bytes audio_chunk = 2; + if (_internal_has_audio_chunk()) { + target = stream->WriteBytesMaybeAliased( + 2, this->_internal_audio_chunk(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.STTRequest) + return target; +} + +size_t STTRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.STTRequest) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + switch (request_type_case()) { + // .service.AudioConfig audio_config = 1; + case kAudioConfig: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *request_type_.audio_config_); + break; + } + // bytes audio_chunk = 2; + case kAudioChunk: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->_internal_audio_chunk()); + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void STTRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.STTRequest) + GOOGLE_DCHECK_NE(&from, this); + const STTRequest* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.STTRequest) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.STTRequest) + MergeFrom(*source); + } +} + +void STTRequest::MergeFrom(const STTRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.STTRequest) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + switch (from.request_type_case()) { + case kAudioConfig: { + _internal_mutable_audio_config()->::service::AudioConfig::MergeFrom(from._internal_audio_config()); + break; + } + case kAudioChunk: { + _internal_set_audio_chunk(from._internal_audio_chunk()); + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } +} + +void STTRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.STTRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void STTRequest::CopyFrom(const STTRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.STTRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool STTRequest::IsInitialized() const { + return true; +} + +void STTRequest::InternalSwap(STTRequest* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + swap(request_type_, other->request_type_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata STTRequest::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class STTResponse::_Internal { + public: +}; + +STTResponse::STTResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.STTResponse) +} +STTResponse::STTResponse(const STTResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + text_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_text().empty()) { + text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_text(), + GetArena()); + } + // @@protoc_insertion_point(copy_constructor:service.STTResponse) +} + +void STTResponse::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_STTResponse_service_2eproto.base); + text_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +STTResponse::~STTResponse() { + // @@protoc_insertion_point(destructor:service.STTResponse) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void STTResponse::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + text_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void STTResponse::ArenaDtor(void* object) { + STTResponse* _this = reinterpret_cast< STTResponse* >(object); + (void)_this; +} +void STTResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void STTResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const STTResponse& STTResponse::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_STTResponse_service_2eproto.base); + return *internal_default_instance(); +} + + +void STTResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.STTResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + text_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* STTResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string text = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_text(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.STTResponse.text")); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* STTResponse::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.STTResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string text = 1; + if (this->text().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_text().data(), static_cast(this->_internal_text().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.STTResponse.text"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_text(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.STTResponse) + return target; +} + +size_t STTResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.STTResponse) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string text = 1; + if (this->text().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_text()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void STTResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.STTResponse) + GOOGLE_DCHECK_NE(&from, this); + const STTResponse* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.STTResponse) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.STTResponse) + MergeFrom(*source); + } +} + +void STTResponse::MergeFrom(const STTResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.STTResponse) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.text().size() > 0) { + _internal_set_text(from._internal_text()); + } +} + +void STTResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.STTResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void STTResponse::CopyFrom(const STTResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.STTResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool STTResponse::IsInitialized() const { + return true; +} + +void STTResponse::InternalSwap(STTResponse* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + text_.Swap(&other->text_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} + +::PROTOBUF_NAMESPACE_ID::Metadata STTResponse::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class DynamicInfoConfig::_Internal { + public: +}; + +DynamicInfoConfig::DynamicInfoConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.DynamicInfoConfig) +} +DynamicInfoConfig::DynamicInfoConfig(const DynamicInfoConfig& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + text_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_text().empty()) { + text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_text(), + GetArena()); + } + // @@protoc_insertion_point(copy_constructor:service.DynamicInfoConfig) +} + +void DynamicInfoConfig::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_DynamicInfoConfig_service_2eproto.base); + text_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +DynamicInfoConfig::~DynamicInfoConfig() { + // @@protoc_insertion_point(destructor:service.DynamicInfoConfig) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void DynamicInfoConfig::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + text_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void DynamicInfoConfig::ArenaDtor(void* object) { + DynamicInfoConfig* _this = reinterpret_cast< DynamicInfoConfig* >(object); + (void)_this; +} +void DynamicInfoConfig::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void DynamicInfoConfig::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const DynamicInfoConfig& DynamicInfoConfig::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_DynamicInfoConfig_service_2eproto.base); + return *internal_default_instance(); +} + + +void DynamicInfoConfig::Clear() { +// @@protoc_insertion_point(message_clear_start:service.DynamicInfoConfig) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + text_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* DynamicInfoConfig::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string text = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_text(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.DynamicInfoConfig.text")); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* DynamicInfoConfig::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.DynamicInfoConfig) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string text = 1; + if (this->text().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_text().data(), static_cast(this->_internal_text().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.DynamicInfoConfig.text"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_text(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.DynamicInfoConfig) + return target; +} + +size_t DynamicInfoConfig::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.DynamicInfoConfig) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string text = 1; + if (this->text().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_text()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void DynamicInfoConfig::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.DynamicInfoConfig) + GOOGLE_DCHECK_NE(&from, this); + const DynamicInfoConfig* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.DynamicInfoConfig) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.DynamicInfoConfig) + MergeFrom(*source); + } +} + +void DynamicInfoConfig::MergeFrom(const DynamicInfoConfig& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.DynamicInfoConfig) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.text().size() > 0) { + _internal_set_text(from._internal_text()); + } +} + +void DynamicInfoConfig::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.DynamicInfoConfig) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void DynamicInfoConfig::CopyFrom(const DynamicInfoConfig& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.DynamicInfoConfig) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool DynamicInfoConfig::IsInitialized() const { + return true; +} + +void DynamicInfoConfig::InternalSwap(DynamicInfoConfig* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + text_.Swap(&other->text_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} + +::PROTOBUF_NAMESPACE_ID::Metadata DynamicInfoConfig::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class VisionInput_ImageData::_Internal { + public: +}; + +VisionInput_ImageData::VisionInput_ImageData(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.VisionInput.ImageData) +} +VisionInput_ImageData::VisionInput_ImageData(const VisionInput_ImageData& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_data().empty()) { + data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_data(), + GetArena()); + } + ::memcpy(&width_, &from.width_, + static_cast(reinterpret_cast(&height_) - + reinterpret_cast(&width_)) + sizeof(height_)); + // @@protoc_insertion_point(copy_constructor:service.VisionInput.ImageData) +} + +void VisionInput_ImageData::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_VisionInput_ImageData_service_2eproto.base); + data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + ::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&width_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&height_) - + reinterpret_cast(&width_)) + sizeof(height_)); +} + +VisionInput_ImageData::~VisionInput_ImageData() { + // @@protoc_insertion_point(destructor:service.VisionInput.ImageData) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void VisionInput_ImageData::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + data_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void VisionInput_ImageData::ArenaDtor(void* object) { + VisionInput_ImageData* _this = reinterpret_cast< VisionInput_ImageData* >(object); + (void)_this; +} +void VisionInput_ImageData::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void VisionInput_ImageData::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const VisionInput_ImageData& VisionInput_ImageData::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_VisionInput_ImageData_service_2eproto.base); + return *internal_default_instance(); +} + + +void VisionInput_ImageData::Clear() { +// @@protoc_insertion_point(message_clear_start:service.VisionInput.ImageData) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + data_.ClearToEmpty(); + ::memset(&width_, 0, static_cast( + reinterpret_cast(&height_) - + reinterpret_cast(&width_)) + sizeof(height_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* VisionInput_ImageData::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // int32 width = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { + width_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 height = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { + height_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bytes data = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + auto str = _internal_mutable_data(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* VisionInput_ImageData::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.VisionInput.ImageData) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // int32 width = 1; + if (this->width() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_width(), target); + } + + // int32 height = 2; + if (this->height() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_height(), target); + } + + // bytes data = 3; + if (this->data().size() > 0) { + target = stream->WriteBytesMaybeAliased( + 3, this->_internal_data(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.VisionInput.ImageData) + return target; +} + +size_t VisionInput_ImageData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.VisionInput.ImageData) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // bytes data = 3; + if (this->data().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->_internal_data()); + } + + // int32 width = 1; + if (this->width() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_width()); + } + + // int32 height = 2; + if (this->height() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_height()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void VisionInput_ImageData::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.VisionInput.ImageData) + GOOGLE_DCHECK_NE(&from, this); + const VisionInput_ImageData* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.VisionInput.ImageData) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.VisionInput.ImageData) + MergeFrom(*source); + } +} + +void VisionInput_ImageData::MergeFrom(const VisionInput_ImageData& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.VisionInput.ImageData) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.data().size() > 0) { + _internal_set_data(from._internal_data()); + } + if (from.width() != 0) { + _internal_set_width(from._internal_width()); + } + if (from.height() != 0) { + _internal_set_height(from._internal_height()); + } +} + +void VisionInput_ImageData::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.VisionInput.ImageData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void VisionInput_ImageData::CopyFrom(const VisionInput_ImageData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.VisionInput.ImageData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool VisionInput_ImageData::IsInitialized() const { + return true; +} + +void VisionInput_ImageData::InternalSwap(VisionInput_ImageData* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + data_.Swap(&other->data_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(VisionInput_ImageData, height_) + + sizeof(VisionInput_ImageData::height_) + - PROTOBUF_FIELD_OFFSET(VisionInput_ImageData, width_)>( + reinterpret_cast(&width_), + reinterpret_cast(&other->width_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata VisionInput_ImageData::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class VisionInput_VideoData::_Internal { + public: +}; + +VisionInput_VideoData::VisionInput_VideoData(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.VisionInput.VideoData) +} +VisionInput_VideoData::VisionInput_VideoData(const VisionInput_VideoData& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_data().empty()) { + data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_data(), + GetArena()); + } + ::memcpy(&fps_, &from.fps_, + static_cast(reinterpret_cast(&height_) - + reinterpret_cast(&fps_)) + sizeof(height_)); + // @@protoc_insertion_point(copy_constructor:service.VisionInput.VideoData) +} + +void VisionInput_VideoData::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_VisionInput_VideoData_service_2eproto.base); + data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + ::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&fps_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&height_) - + reinterpret_cast(&fps_)) + sizeof(height_)); +} + +VisionInput_VideoData::~VisionInput_VideoData() { + // @@protoc_insertion_point(destructor:service.VisionInput.VideoData) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void VisionInput_VideoData::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + data_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void VisionInput_VideoData::ArenaDtor(void* object) { + VisionInput_VideoData* _this = reinterpret_cast< VisionInput_VideoData* >(object); + (void)_this; +} +void VisionInput_VideoData::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void VisionInput_VideoData::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const VisionInput_VideoData& VisionInput_VideoData::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_VisionInput_VideoData_service_2eproto.base); + return *internal_default_instance(); +} + + +void VisionInput_VideoData::Clear() { +// @@protoc_insertion_point(message_clear_start:service.VisionInput.VideoData) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + data_.ClearToEmpty(); + ::memset(&fps_, 0, static_cast( + reinterpret_cast(&height_) - + reinterpret_cast(&fps_)) + sizeof(height_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* VisionInput_VideoData::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // int32 fps = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { + fps_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 width = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { + width_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // int32 height = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { + height_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bytes data = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + auto str = _internal_mutable_data(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* VisionInput_VideoData::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.VisionInput.VideoData) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // int32 fps = 1; + if (this->fps() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_fps(), target); + } + + // int32 width = 2; + if (this->width() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_width(), target); + } + + // int32 height = 3; + if (this->height() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_height(), target); + } + + // bytes data = 4; + if (this->data().size() > 0) { + target = stream->WriteBytesMaybeAliased( + 4, this->_internal_data(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.VisionInput.VideoData) + return target; +} + +size_t VisionInput_VideoData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.VisionInput.VideoData) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // bytes data = 4; + if (this->data().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->_internal_data()); + } + + // int32 fps = 1; + if (this->fps() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_fps()); + } + + // int32 width = 2; + if (this->width() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_width()); + } + + // int32 height = 3; + if (this->height() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_height()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void VisionInput_VideoData::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.VisionInput.VideoData) + GOOGLE_DCHECK_NE(&from, this); + const VisionInput_VideoData* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.VisionInput.VideoData) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.VisionInput.VideoData) + MergeFrom(*source); + } +} + +void VisionInput_VideoData::MergeFrom(const VisionInput_VideoData& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.VisionInput.VideoData) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.data().size() > 0) { + _internal_set_data(from._internal_data()); + } + if (from.fps() != 0) { + _internal_set_fps(from._internal_fps()); + } + if (from.width() != 0) { + _internal_set_width(from._internal_width()); + } + if (from.height() != 0) { + _internal_set_height(from._internal_height()); + } +} + +void VisionInput_VideoData::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.VisionInput.VideoData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void VisionInput_VideoData::CopyFrom(const VisionInput_VideoData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.VisionInput.VideoData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool VisionInput_VideoData::IsInitialized() const { + return true; +} + +void VisionInput_VideoData::InternalSwap(VisionInput_VideoData* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + data_.Swap(&other->data_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(VisionInput_VideoData, height_) + + sizeof(VisionInput_VideoData::height_) + - PROTOBUF_FIELD_OFFSET(VisionInput_VideoData, fps_)>( + reinterpret_cast(&fps_), + reinterpret_cast(&other->fps_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata VisionInput_VideoData::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class VisionInput::_Internal { + public: + static const ::service::VisionInput_ImageData& image_data(const VisionInput* msg); + static const ::service::VisionInput_VideoData& video_data(const VisionInput* msg); +}; + +const ::service::VisionInput_ImageData& +VisionInput::_Internal::image_data(const VisionInput* msg) { + return *msg->vision_data_.image_data_; +} +const ::service::VisionInput_VideoData& +VisionInput::_Internal::video_data(const VisionInput* msg) { + return *msg->vision_data_.video_data_; +} +void VisionInput::set_allocated_image_data(::service::VisionInput_ImageData* image_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + clear_vision_data(); + if (image_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(image_data); + if (message_arena != submessage_arena) { + image_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, image_data, submessage_arena); + } + set_has_image_data(); + vision_data_.image_data_ = image_data; + } + // @@protoc_insertion_point(field_set_allocated:service.VisionInput.image_data) +} +void VisionInput::set_allocated_video_data(::service::VisionInput_VideoData* video_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + clear_vision_data(); + if (video_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(video_data); + if (message_arena != submessage_arena) { + video_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, video_data, submessage_arena); + } + set_has_video_data(); + vision_data_.video_data_ = video_data; + } + // @@protoc_insertion_point(field_set_allocated:service.VisionInput.video_data) +} +VisionInput::VisionInput(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.VisionInput) +} +VisionInput::VisionInput(const VisionInput& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + clear_has_vision_data(); + switch (from.vision_data_case()) { + case kImageData: { + _internal_mutable_image_data()->::service::VisionInput_ImageData::MergeFrom(from._internal_image_data()); + break; + } + case kVideoData: { + _internal_mutable_video_data()->::service::VisionInput_VideoData::MergeFrom(from._internal_video_data()); + break; + } + case VISION_DATA_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service.VisionInput) +} + +void VisionInput::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_VisionInput_service_2eproto.base); + clear_has_vision_data(); +} + +VisionInput::~VisionInput() { + // @@protoc_insertion_point(destructor:service.VisionInput) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void VisionInput::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + if (has_vision_data()) { + clear_vision_data(); + } +} + +void VisionInput::ArenaDtor(void* object) { + VisionInput* _this = reinterpret_cast< VisionInput* >(object); + (void)_this; +} +void VisionInput::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void VisionInput::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const VisionInput& VisionInput::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_VisionInput_service_2eproto.base); + return *internal_default_instance(); +} + + +void VisionInput::clear_vision_data() { +// @@protoc_insertion_point(one_of_clear_start:service.VisionInput) + switch (vision_data_case()) { + case kImageData: { + if (GetArena() == nullptr) { + delete vision_data_.image_data_; + } + break; + } + case kVideoData: { + if (GetArena() == nullptr) { + delete vision_data_.video_data_; + } + break; + } + case VISION_DATA_NOT_SET: { + break; + } + } + _oneof_case_[0] = VISION_DATA_NOT_SET; +} + + +void VisionInput::Clear() { +// @@protoc_insertion_point(message_clear_start:service.VisionInput) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_vision_data(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* VisionInput::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // .service.VisionInput.ImageData image_data = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_image_data(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.VisionInput.VideoData video_data = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_video_data(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* VisionInput::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.VisionInput) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .service.VisionInput.ImageData image_data = 1; + if (_internal_has_image_data()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::image_data(this), target, stream); + } + + // .service.VisionInput.VideoData video_data = 2; + if (_internal_has_video_data()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::video_data(this), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.VisionInput) + return target; +} + +size_t VisionInput::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.VisionInput) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + switch (vision_data_case()) { + // .service.VisionInput.ImageData image_data = 1; + case kImageData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *vision_data_.image_data_); + break; + } + // .service.VisionInput.VideoData video_data = 2; + case kVideoData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *vision_data_.video_data_); + break; + } + case VISION_DATA_NOT_SET: { + break; + } + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void VisionInput::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.VisionInput) + GOOGLE_DCHECK_NE(&from, this); + const VisionInput* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.VisionInput) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.VisionInput) + MergeFrom(*source); + } +} + +void VisionInput::MergeFrom(const VisionInput& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.VisionInput) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + switch (from.vision_data_case()) { + case kImageData: { + _internal_mutable_image_data()->::service::VisionInput_ImageData::MergeFrom(from._internal_image_data()); + break; + } + case kVideoData: { + _internal_mutable_video_data()->::service::VisionInput_VideoData::MergeFrom(from._internal_video_data()); + break; + } + case VISION_DATA_NOT_SET: { + break; + } + } +} + +void VisionInput::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.VisionInput) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void VisionInput::CopyFrom(const VisionInput& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.VisionInput) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool VisionInput::IsInitialized() const { + return true; +} + +void VisionInput::InternalSwap(VisionInput* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + swap(vision_data_, other->vision_data_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata VisionInput::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse() {} +GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : SuperType(arena) {} +void GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse::MergeFrom(const GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse& other) { + MergeFromInternal(other); +} +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse::GetMetadata() const { + return GetMetadataStatic(); +} +void GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse::MergeFrom( + const ::PROTOBUF_NAMESPACE_ID::Message& other) { + ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom(other); +} + + +// =================================================================== + +class GetResponseRequest_GetResponseConfig::_Internal { + public: + static const ::service::AudioConfig& audio_config(const GetResponseRequest_GetResponseConfig* msg); + static const ::service::ActionConfig& action_config(const GetResponseRequest_GetResponseConfig* msg); + static const ::service::DynamicInfoConfig& dynamic_info_config(const GetResponseRequest_GetResponseConfig* msg); + static const ::service::VisionInput& vision_input(const GetResponseRequest_GetResponseConfig* msg); +}; + +const ::service::AudioConfig& +GetResponseRequest_GetResponseConfig::_Internal::audio_config(const GetResponseRequest_GetResponseConfig* msg) { + return *msg->audio_config_; +} +const ::service::ActionConfig& +GetResponseRequest_GetResponseConfig::_Internal::action_config(const GetResponseRequest_GetResponseConfig* msg) { + return *msg->action_config_; +} +const ::service::DynamicInfoConfig& +GetResponseRequest_GetResponseConfig::_Internal::dynamic_info_config(const GetResponseRequest_GetResponseConfig* msg) { + return *msg->dynamic_info_config_; +} +const ::service::VisionInput& +GetResponseRequest_GetResponseConfig::_Internal::vision_input(const GetResponseRequest_GetResponseConfig* msg) { + return *msg->vision_input_; +} +GetResponseRequest_GetResponseConfig::GetResponseRequest_GetResponseConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena), + narrative_template_keys_(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.GetResponseRequest.GetResponseConfig) +} +GetResponseRequest_GetResponseConfig::GetResponseRequest_GetResponseConfig(const GetResponseRequest_GetResponseConfig& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + narrative_template_keys_.MergeFrom(from.narrative_template_keys_); + character_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_character_id().empty()) { + character_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_character_id(), + GetArena()); + } + api_key_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_api_key().empty()) { + api_key_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_api_key(), + GetArena()); + } + session_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_session_id().empty()) { + session_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_session_id(), + GetArena()); + } + speaker_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_speaker().empty()) { + speaker_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_speaker(), + GetArena()); + } + language_code_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_language_code().empty()) { + language_code_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_language_code(), + GetArena()); + } + speaker_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_speaker_id().empty()) { + speaker_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_speaker_id(), + GetArena()); + } + api_auth_token_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_api_auth_token().empty()) { + api_auth_token_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_api_auth_token(), + GetArena()); + } + if (from._internal_has_audio_config()) { + audio_config_ = new ::service::AudioConfig(*from.audio_config_); + } else { + audio_config_ = nullptr; + } + if (from._internal_has_action_config()) { + action_config_ = new ::service::ActionConfig(*from.action_config_); + } else { + action_config_ = nullptr; + } + if (from._internal_has_dynamic_info_config()) { + dynamic_info_config_ = new ::service::DynamicInfoConfig(*from.dynamic_info_config_); + } else { + dynamic_info_config_ = nullptr; + } + if (from._internal_has_vision_input()) { + vision_input_ = new ::service::VisionInput(*from.vision_input_); + } else { + vision_input_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseRequest.GetResponseConfig) +} + +void GetResponseRequest_GetResponseConfig::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_GetResponseRequest_GetResponseConfig_service_2eproto.base); + character_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + api_key_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + session_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + speaker_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + language_code_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + speaker_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + api_auth_token_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + ::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&audio_config_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&vision_input_) - + reinterpret_cast(&audio_config_)) + sizeof(vision_input_)); +} + +GetResponseRequest_GetResponseConfig::~GetResponseRequest_GetResponseConfig() { + // @@protoc_insertion_point(destructor:service.GetResponseRequest.GetResponseConfig) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void GetResponseRequest_GetResponseConfig::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + character_id_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + api_key_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + session_id_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + speaker_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + language_code_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + speaker_id_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + api_auth_token_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete audio_config_; + if (this != internal_default_instance()) delete action_config_; + if (this != internal_default_instance()) delete dynamic_info_config_; + if (this != internal_default_instance()) delete vision_input_; +} + +void GetResponseRequest_GetResponseConfig::ArenaDtor(void* object) { + GetResponseRequest_GetResponseConfig* _this = reinterpret_cast< GetResponseRequest_GetResponseConfig* >(object); + (void)_this; +} +void GetResponseRequest_GetResponseConfig::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetResponseRequest_GetResponseConfig::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const GetResponseRequest_GetResponseConfig& GetResponseRequest_GetResponseConfig::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_GetResponseRequest_GetResponseConfig_service_2eproto.base); + return *internal_default_instance(); +} + + +void GetResponseRequest_GetResponseConfig::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseRequest.GetResponseConfig) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + narrative_template_keys_.Clear(); + character_id_.ClearToEmpty(); + api_key_.ClearToEmpty(); + session_id_.ClearToEmpty(); + speaker_.ClearToEmpty(); + language_code_.ClearToEmpty(); + speaker_id_.ClearToEmpty(); + api_auth_token_.ClearToEmpty(); + if (GetArena() == nullptr && audio_config_ != nullptr) { + delete audio_config_; + } + audio_config_ = nullptr; + if (GetArena() == nullptr && action_config_ != nullptr) { + delete action_config_; + } + action_config_ = nullptr; + if (GetArena() == nullptr && dynamic_info_config_ != nullptr) { + delete dynamic_info_config_; + } + dynamic_info_config_ = nullptr; + if (GetArena() == nullptr && vision_input_ != nullptr) { + delete vision_input_; + } + vision_input_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseRequest_GetResponseConfig::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string character_id = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_character_id(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseRequest.GetResponseConfig.character_id")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string api_key = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + auto str = _internal_mutable_api_key(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseRequest.GetResponseConfig.api_key")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string session_id = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + auto str = _internal_mutable_session_id(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseRequest.GetResponseConfig.session_id")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.AudioConfig audio_config = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) { + ptr = ctx->ParseMessage(_internal_mutable_audio_config(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.ActionConfig action_config = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) { + ptr = ctx->ParseMessage(_internal_mutable_action_config(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string speaker = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) { + auto str = _internal_mutable_speaker(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseRequest.GetResponseConfig.speaker")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string language_code = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) { + auto str = _internal_mutable_language_code(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseRequest.GetResponseConfig.language_code")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string speaker_id = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) { + auto str = _internal_mutable_speaker_id(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseRequest.GetResponseConfig.speaker_id")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string api_auth_token = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) { + auto str = _internal_mutable_api_auth_token(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseRequest.GetResponseConfig.api_auth_token")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // map narrative_template_keys = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(&narrative_template_keys_, ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<90>(ptr)); + } else goto handle_unusual; + continue; + // .service.DynamicInfoConfig dynamic_info_config = 12; + case 12: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) { + ptr = ctx->ParseMessage(_internal_mutable_dynamic_info_config(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.VisionInput vision_input = 13; + case 13: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) { + ptr = ctx->ParseMessage(_internal_mutable_vision_input(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetResponseRequest_GetResponseConfig::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseRequest.GetResponseConfig) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string character_id = 2; + if (this->character_id().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_character_id().data(), static_cast(this->_internal_character_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.character_id"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_character_id(), target); + } + + // string api_key = 3; + if (this->api_key().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_api_key().data(), static_cast(this->_internal_api_key().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.api_key"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_api_key(), target); + } + + // string session_id = 4; + if (this->session_id().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_session_id().data(), static_cast(this->_internal_session_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.session_id"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_session_id(), target); + } + + // .service.AudioConfig audio_config = 5; + if (this->has_audio_config()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 5, _Internal::audio_config(this), target, stream); + } + + // .service.ActionConfig action_config = 6; + if (this->has_action_config()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 6, _Internal::action_config(this), target, stream); + } + + // string speaker = 7; + if (this->speaker().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_speaker().data(), static_cast(this->_internal_speaker().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.speaker"); + target = stream->WriteStringMaybeAliased( + 7, this->_internal_speaker(), target); + } + + // string language_code = 8; + if (this->language_code().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_language_code().data(), static_cast(this->_internal_language_code().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.language_code"); + target = stream->WriteStringMaybeAliased( + 8, this->_internal_language_code(), target); + } + + // string speaker_id = 9; + if (this->speaker_id().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_speaker_id().data(), static_cast(this->_internal_speaker_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.speaker_id"); + target = stream->WriteStringMaybeAliased( + 9, this->_internal_speaker_id(), target); + } + + // string api_auth_token = 10; + if (this->api_auth_token().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_api_auth_token().data(), static_cast(this->_internal_api_auth_token().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.api_auth_token"); + target = stream->WriteStringMaybeAliased( + 10, this->_internal_api_auth_token(), target); + } + + // map narrative_template_keys = 11; + if (!this->_internal_narrative_template_keys().empty()) { + typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_pointer + ConstPtr; + typedef ConstPtr SortItem; + typedef ::PROTOBUF_NAMESPACE_ID::internal::CompareByDerefFirst Less; + struct Utf8Check { + static void Check(ConstPtr p) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + p->first.data(), static_cast(p->first.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.NarrativeTemplateKeysEntry.key"); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + p->second.data(), static_cast(p->second.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.NarrativeTemplateKeysEntry.value"); + } + }; + + if (stream->IsSerializationDeterministic() && + this->_internal_narrative_template_keys().size() > 1) { + ::std::unique_ptr items( + new SortItem[this->_internal_narrative_template_keys().size()]); + typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::size_type size_type; + size_type n = 0; + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator + it = this->_internal_narrative_template_keys().begin(); + it != this->_internal_narrative_template_keys().end(); ++it, ++n) { + items[static_cast(n)] = SortItem(&*it); + } + ::std::sort(&items[0], &items[static_cast(n)], Less()); + for (size_type i = 0; i < n; i++) { + target = GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse::Funcs::InternalSerialize(11, items[static_cast(i)]->first, items[static_cast(i)]->second, target, stream); + Utf8Check::Check(&(*items[static_cast(i)])); + } + } else { + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator + it = this->_internal_narrative_template_keys().begin(); + it != this->_internal_narrative_template_keys().end(); ++it) { + target = GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse::Funcs::InternalSerialize(11, it->first, it->second, target, stream); + Utf8Check::Check(&(*it)); + } + } + } + + // .service.DynamicInfoConfig dynamic_info_config = 12; + if (this->has_dynamic_info_config()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 12, _Internal::dynamic_info_config(this), target, stream); + } + + // .service.VisionInput vision_input = 13; + if (this->has_vision_input()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 13, _Internal::vision_input(this), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseRequest.GetResponseConfig) + return target; +} + +size_t GetResponseRequest_GetResponseConfig::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseRequest.GetResponseConfig) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // map narrative_template_keys = 11; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_narrative_template_keys_size()); + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator + it = this->_internal_narrative_template_keys().begin(); + it != this->_internal_narrative_template_keys().end(); ++it) { + total_size += GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); + } + + // string character_id = 2; + if (this->character_id().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_character_id()); + } + + // string api_key = 3; + if (this->api_key().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_api_key()); + } + + // string session_id = 4; + if (this->session_id().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_session_id()); + } + + // string speaker = 7; + if (this->speaker().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_speaker()); + } + + // string language_code = 8; + if (this->language_code().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_language_code()); + } + + // string speaker_id = 9; + if (this->speaker_id().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_speaker_id()); + } + + // string api_auth_token = 10; + if (this->api_auth_token().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_api_auth_token()); + } + + // .service.AudioConfig audio_config = 5; + if (this->has_audio_config()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *audio_config_); + } + + // .service.ActionConfig action_config = 6; + if (this->has_action_config()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *action_config_); + } + + // .service.DynamicInfoConfig dynamic_info_config = 12; + if (this->has_dynamic_info_config()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *dynamic_info_config_); + } + + // .service.VisionInput vision_input = 13; + if (this->has_vision_input()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *vision_input_); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void GetResponseRequest_GetResponseConfig::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.GetResponseRequest.GetResponseConfig) + GOOGLE_DCHECK_NE(&from, this); + const GetResponseRequest_GetResponseConfig* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.GetResponseRequest.GetResponseConfig) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.GetResponseRequest.GetResponseConfig) + MergeFrom(*source); + } +} + +void GetResponseRequest_GetResponseConfig::MergeFrom(const GetResponseRequest_GetResponseConfig& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseRequest.GetResponseConfig) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + narrative_template_keys_.MergeFrom(from.narrative_template_keys_); + if (from.character_id().size() > 0) { + _internal_set_character_id(from._internal_character_id()); + } + if (from.api_key().size() > 0) { + _internal_set_api_key(from._internal_api_key()); + } + if (from.session_id().size() > 0) { + _internal_set_session_id(from._internal_session_id()); + } + if (from.speaker().size() > 0) { + _internal_set_speaker(from._internal_speaker()); + } + if (from.language_code().size() > 0) { + _internal_set_language_code(from._internal_language_code()); + } + if (from.speaker_id().size() > 0) { + _internal_set_speaker_id(from._internal_speaker_id()); + } + if (from.api_auth_token().size() > 0) { + _internal_set_api_auth_token(from._internal_api_auth_token()); + } + if (from.has_audio_config()) { + _internal_mutable_audio_config()->::service::AudioConfig::MergeFrom(from._internal_audio_config()); + } + if (from.has_action_config()) { + _internal_mutable_action_config()->::service::ActionConfig::MergeFrom(from._internal_action_config()); + } + if (from.has_dynamic_info_config()) { + _internal_mutable_dynamic_info_config()->::service::DynamicInfoConfig::MergeFrom(from._internal_dynamic_info_config()); + } + if (from.has_vision_input()) { + _internal_mutable_vision_input()->::service::VisionInput::MergeFrom(from._internal_vision_input()); + } +} + +void GetResponseRequest_GetResponseConfig::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.GetResponseRequest.GetResponseConfig) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void GetResponseRequest_GetResponseConfig::CopyFrom(const GetResponseRequest_GetResponseConfig& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseRequest.GetResponseConfig) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseRequest_GetResponseConfig::IsInitialized() const { + return true; +} + +void GetResponseRequest_GetResponseConfig::InternalSwap(GetResponseRequest_GetResponseConfig* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + narrative_template_keys_.Swap(&other->narrative_template_keys_); + character_id_.Swap(&other->character_id_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + api_key_.Swap(&other->api_key_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + session_id_.Swap(&other->session_id_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + speaker_.Swap(&other->speaker_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + language_code_.Swap(&other->language_code_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + speaker_id_.Swap(&other->speaker_id_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + api_auth_token_.Swap(&other->api_auth_token_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(GetResponseRequest_GetResponseConfig, vision_input_) + + sizeof(GetResponseRequest_GetResponseConfig::vision_input_) + - PROTOBUF_FIELD_OFFSET(GetResponseRequest_GetResponseConfig, audio_config_)>( + reinterpret_cast(&audio_config_), + reinterpret_cast(&other->audio_config_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseRequest_GetResponseConfig::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class GetResponseRequest_GetResponseData::_Internal { + public: + static const ::service::TriggerConfig& trigger_data(const GetResponseRequest_GetResponseData* msg); +}; + +const ::service::TriggerConfig& +GetResponseRequest_GetResponseData::_Internal::trigger_data(const GetResponseRequest_GetResponseData* msg) { + return *msg->input_type_.trigger_data_; +} +void GetResponseRequest_GetResponseData::set_allocated_trigger_data(::service::TriggerConfig* trigger_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + clear_input_type(); + if (trigger_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(trigger_data); + if (message_arena != submessage_arena) { + trigger_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, trigger_data, submessage_arena); + } + set_has_trigger_data(); + input_type_.trigger_data_ = trigger_data; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseData.trigger_data) +} +GetResponseRequest_GetResponseData::GetResponseRequest_GetResponseData(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.GetResponseRequest.GetResponseData) +} +GetResponseRequest_GetResponseData::GetResponseRequest_GetResponseData(const GetResponseRequest_GetResponseData& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + clear_has_input_type(); + switch (from.input_type_case()) { + case kAudioData: { + _internal_set_audio_data(from._internal_audio_data()); + break; + } + case kTextData: { + _internal_set_text_data(from._internal_text_data()); + break; + } + case kTriggerData: { + _internal_mutable_trigger_data()->::service::TriggerConfig::MergeFrom(from._internal_trigger_data()); + break; + } + case INPUT_TYPE_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseRequest.GetResponseData) +} + +void GetResponseRequest_GetResponseData::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_GetResponseRequest_GetResponseData_service_2eproto.base); + clear_has_input_type(); +} + +GetResponseRequest_GetResponseData::~GetResponseRequest_GetResponseData() { + // @@protoc_insertion_point(destructor:service.GetResponseRequest.GetResponseData) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void GetResponseRequest_GetResponseData::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + if (has_input_type()) { + clear_input_type(); + } +} + +void GetResponseRequest_GetResponseData::ArenaDtor(void* object) { + GetResponseRequest_GetResponseData* _this = reinterpret_cast< GetResponseRequest_GetResponseData* >(object); + (void)_this; +} +void GetResponseRequest_GetResponseData::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetResponseRequest_GetResponseData::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const GetResponseRequest_GetResponseData& GetResponseRequest_GetResponseData::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_GetResponseRequest_GetResponseData_service_2eproto.base); + return *internal_default_instance(); +} + + +void GetResponseRequest_GetResponseData::clear_input_type() { +// @@protoc_insertion_point(one_of_clear_start:service.GetResponseRequest.GetResponseData) + switch (input_type_case()) { + case kAudioData: { + input_type_.audio_data_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); + break; + } + case kTextData: { + input_type_.text_data_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); + break; + } + case kTriggerData: { + if (GetArena() == nullptr) { + delete input_type_.trigger_data_; + } + break; + } + case INPUT_TYPE_NOT_SET: { + break; + } + } + _oneof_case_[0] = INPUT_TYPE_NOT_SET; +} + + +void GetResponseRequest_GetResponseData::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseRequest.GetResponseData) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_input_type(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseRequest_GetResponseData::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // bytes audio_data = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_audio_data(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string text_data = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_text_data(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseRequest.GetResponseData.text_data")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.TriggerConfig trigger_data = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_trigger_data(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetResponseRequest_GetResponseData::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseRequest.GetResponseData) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // bytes audio_data = 1; + if (_internal_has_audio_data()) { + target = stream->WriteBytesMaybeAliased( + 1, this->_internal_audio_data(), target); + } + + // string text_data = 2; + if (_internal_has_text_data()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_text_data().data(), static_cast(this->_internal_text_data().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseData.text_data"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_text_data(), target); + } + + // .service.TriggerConfig trigger_data = 3; + if (_internal_has_trigger_data()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 3, _Internal::trigger_data(this), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseRequest.GetResponseData) + return target; +} + +size_t GetResponseRequest_GetResponseData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseRequest.GetResponseData) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + switch (input_type_case()) { + // bytes audio_data = 1; + case kAudioData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->_internal_audio_data()); + break; + } + // string text_data = 2; + case kTextData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_text_data()); + break; + } + // .service.TriggerConfig trigger_data = 3; + case kTriggerData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *input_type_.trigger_data_); + break; + } + case INPUT_TYPE_NOT_SET: { + break; + } + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void GetResponseRequest_GetResponseData::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.GetResponseRequest.GetResponseData) + GOOGLE_DCHECK_NE(&from, this); + const GetResponseRequest_GetResponseData* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.GetResponseRequest.GetResponseData) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.GetResponseRequest.GetResponseData) + MergeFrom(*source); + } +} + +void GetResponseRequest_GetResponseData::MergeFrom(const GetResponseRequest_GetResponseData& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseRequest.GetResponseData) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + switch (from.input_type_case()) { + case kAudioData: { + _internal_set_audio_data(from._internal_audio_data()); + break; + } + case kTextData: { + _internal_set_text_data(from._internal_text_data()); + break; + } + case kTriggerData: { + _internal_mutable_trigger_data()->::service::TriggerConfig::MergeFrom(from._internal_trigger_data()); + break; + } + case INPUT_TYPE_NOT_SET: { + break; + } + } +} + +void GetResponseRequest_GetResponseData::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.GetResponseRequest.GetResponseData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void GetResponseRequest_GetResponseData::CopyFrom(const GetResponseRequest_GetResponseData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseRequest.GetResponseData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseRequest_GetResponseData::IsInitialized() const { + return true; +} + +void GetResponseRequest_GetResponseData::InternalSwap(GetResponseRequest_GetResponseData* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + swap(input_type_, other->input_type_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseRequest_GetResponseData::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class GetResponseRequest::_Internal { + public: + static const ::service::GetResponseRequest_GetResponseConfig& get_response_config(const GetResponseRequest* msg); + static const ::service::GetResponseRequest_GetResponseData& get_response_data(const GetResponseRequest* msg); +}; + +const ::service::GetResponseRequest_GetResponseConfig& +GetResponseRequest::_Internal::get_response_config(const GetResponseRequest* msg) { + return *msg->request_type_.get_response_config_; +} +const ::service::GetResponseRequest_GetResponseData& +GetResponseRequest::_Internal::get_response_data(const GetResponseRequest* msg) { + return *msg->request_type_.get_response_data_; +} +void GetResponseRequest::set_allocated_get_response_config(::service::GetResponseRequest_GetResponseConfig* get_response_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + clear_request_type(); + if (get_response_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(get_response_config); + if (message_arena != submessage_arena) { + get_response_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, get_response_config, submessage_arena); + } + set_has_get_response_config(); + request_type_.get_response_config_ = get_response_config; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.get_response_config) +} +void GetResponseRequest::set_allocated_get_response_data(::service::GetResponseRequest_GetResponseData* get_response_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + clear_request_type(); + if (get_response_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(get_response_data); + if (message_arena != submessage_arena) { + get_response_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, get_response_data, submessage_arena); + } + set_has_get_response_data(); + request_type_.get_response_data_ = get_response_data; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.get_response_data) +} +GetResponseRequest::GetResponseRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.GetResponseRequest) +} +GetResponseRequest::GetResponseRequest(const GetResponseRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + clear_has_request_type(); + switch (from.request_type_case()) { + case kGetResponseConfig: { + _internal_mutable_get_response_config()->::service::GetResponseRequest_GetResponseConfig::MergeFrom(from._internal_get_response_config()); + break; + } + case kGetResponseData: { + _internal_mutable_get_response_data()->::service::GetResponseRequest_GetResponseData::MergeFrom(from._internal_get_response_data()); + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseRequest) +} + +void GetResponseRequest::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_GetResponseRequest_service_2eproto.base); + clear_has_request_type(); +} + +GetResponseRequest::~GetResponseRequest() { + // @@protoc_insertion_point(destructor:service.GetResponseRequest) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void GetResponseRequest::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + if (has_request_type()) { + clear_request_type(); + } +} + +void GetResponseRequest::ArenaDtor(void* object) { + GetResponseRequest* _this = reinterpret_cast< GetResponseRequest* >(object); + (void)_this; +} +void GetResponseRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetResponseRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const GetResponseRequest& GetResponseRequest::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_GetResponseRequest_service_2eproto.base); + return *internal_default_instance(); +} + + +void GetResponseRequest::clear_request_type() { +// @@protoc_insertion_point(one_of_clear_start:service.GetResponseRequest) + switch (request_type_case()) { + case kGetResponseConfig: { + if (GetArena() == nullptr) { + delete request_type_.get_response_config_; + } + break; + } + case kGetResponseData: { + if (GetArena() == nullptr) { + delete request_type_.get_response_data_; + } + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } + _oneof_case_[0] = REQUEST_TYPE_NOT_SET; +} + + +void GetResponseRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_request_type(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // .service.GetResponseRequest.GetResponseConfig get_response_config = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_get_response_config(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.GetResponseRequest.GetResponseData get_response_data = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_get_response_data(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetResponseRequest::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .service.GetResponseRequest.GetResponseConfig get_response_config = 1; + if (_internal_has_get_response_config()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::get_response_config(this), target, stream); + } + + // .service.GetResponseRequest.GetResponseData get_response_data = 2; + if (_internal_has_get_response_data()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::get_response_data(this), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseRequest) + return target; +} + +size_t GetResponseRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseRequest) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + switch (request_type_case()) { + // .service.GetResponseRequest.GetResponseConfig get_response_config = 1; + case kGetResponseConfig: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *request_type_.get_response_config_); + break; + } + // .service.GetResponseRequest.GetResponseData get_response_data = 2; + case kGetResponseData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *request_type_.get_response_data_); + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void GetResponseRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.GetResponseRequest) + GOOGLE_DCHECK_NE(&from, this); + const GetResponseRequest* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.GetResponseRequest) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.GetResponseRequest) + MergeFrom(*source); + } +} + +void GetResponseRequest::MergeFrom(const GetResponseRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseRequest) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + switch (from.request_type_case()) { + case kGetResponseConfig: { + _internal_mutable_get_response_config()->::service::GetResponseRequest_GetResponseConfig::MergeFrom(from._internal_get_response_config()); + break; + } + case kGetResponseData: { + _internal_mutable_get_response_data()->::service::GetResponseRequest_GetResponseData::MergeFrom(from._internal_get_response_data()); + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } +} + +void GetResponseRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.GetResponseRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void GetResponseRequest::CopyFrom(const GetResponseRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseRequest::IsInitialized() const { + return true; +} + +void GetResponseRequest::InternalSwap(GetResponseRequest* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + swap(request_type_, other->request_type_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseRequest::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class GetResponseRequestSingle::_Internal { + public: + static const ::service::GetResponseRequest& response_config(const GetResponseRequestSingle* msg); + static const ::service::GetResponseRequest& response_data(const GetResponseRequestSingle* msg); +}; + +const ::service::GetResponseRequest& +GetResponseRequestSingle::_Internal::response_config(const GetResponseRequestSingle* msg) { + return *msg->response_config_; +} +const ::service::GetResponseRequest& +GetResponseRequestSingle::_Internal::response_data(const GetResponseRequestSingle* msg) { + return *msg->response_data_; +} +GetResponseRequestSingle::GetResponseRequestSingle(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.GetResponseRequestSingle) +} +GetResponseRequestSingle::GetResponseRequestSingle(const GetResponseRequestSingle& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_response_config()) { + response_config_ = new ::service::GetResponseRequest(*from.response_config_); + } else { + response_config_ = nullptr; + } + if (from._internal_has_response_data()) { + response_data_ = new ::service::GetResponseRequest(*from.response_data_); + } else { + response_data_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseRequestSingle) +} + +void GetResponseRequestSingle::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_GetResponseRequestSingle_service_2eproto.base); + ::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&response_config_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&response_data_) - + reinterpret_cast(&response_config_)) + sizeof(response_data_)); +} + +GetResponseRequestSingle::~GetResponseRequestSingle() { + // @@protoc_insertion_point(destructor:service.GetResponseRequestSingle) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void GetResponseRequestSingle::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + if (this != internal_default_instance()) delete response_config_; + if (this != internal_default_instance()) delete response_data_; +} + +void GetResponseRequestSingle::ArenaDtor(void* object) { + GetResponseRequestSingle* _this = reinterpret_cast< GetResponseRequestSingle* >(object); + (void)_this; +} +void GetResponseRequestSingle::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetResponseRequestSingle::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const GetResponseRequestSingle& GetResponseRequestSingle::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_GetResponseRequestSingle_service_2eproto.base); + return *internal_default_instance(); +} + + +void GetResponseRequestSingle::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseRequestSingle) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArena() == nullptr && response_config_ != nullptr) { + delete response_config_; + } + response_config_ = nullptr; + if (GetArena() == nullptr && response_data_ != nullptr) { + delete response_data_; + } + response_data_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseRequestSingle::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // .service.GetResponseRequest response_config = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_response_config(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.GetResponseRequest response_data = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_response_data(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetResponseRequestSingle::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseRequestSingle) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .service.GetResponseRequest response_config = 1; + if (this->has_response_config()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::response_config(this), target, stream); + } + + // .service.GetResponseRequest response_data = 2; + if (this->has_response_data()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::response_data(this), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseRequestSingle) + return target; +} + +size_t GetResponseRequestSingle::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseRequestSingle) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .service.GetResponseRequest response_config = 1; + if (this->has_response_config()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *response_config_); + } + + // .service.GetResponseRequest response_data = 2; + if (this->has_response_data()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *response_data_); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void GetResponseRequestSingle::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.GetResponseRequestSingle) + GOOGLE_DCHECK_NE(&from, this); + const GetResponseRequestSingle* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.GetResponseRequestSingle) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.GetResponseRequestSingle) + MergeFrom(*source); + } +} + +void GetResponseRequestSingle::MergeFrom(const GetResponseRequestSingle& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseRequestSingle) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.has_response_config()) { + _internal_mutable_response_config()->::service::GetResponseRequest::MergeFrom(from._internal_response_config()); + } + if (from.has_response_data()) { + _internal_mutable_response_data()->::service::GetResponseRequest::MergeFrom(from._internal_response_data()); + } +} + +void GetResponseRequestSingle::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.GetResponseRequestSingle) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void GetResponseRequestSingle::CopyFrom(const GetResponseRequestSingle& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseRequestSingle) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseRequestSingle::IsInitialized() const { + return true; +} + +void GetResponseRequestSingle::InternalSwap(GetResponseRequestSingle* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(GetResponseRequestSingle, response_data_) + + sizeof(GetResponseRequestSingle::response_data_) + - PROTOBUF_FIELD_OFFSET(GetResponseRequestSingle, response_config_)>( + reinterpret_cast(&response_config_), + reinterpret_cast(&other->response_config_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseRequestSingle::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class GetResponseResponse_AudioResponse::_Internal { + public: + static const ::service::AudioConfig& audio_config(const GetResponseResponse_AudioResponse* msg); + static const ::service::VisemesData& visemes_data(const GetResponseResponse_AudioResponse* msg); + static const ::service::BlendShapesData& blendshapes_data(const GetResponseResponse_AudioResponse* msg); + static const ::service::ARKitBlendShapesData& face_emotion(const GetResponseResponse_AudioResponse* msg); + static const ::service::EmotionResponse& emotion_response(const GetResponseResponse_AudioResponse* msg); +}; + +const ::service::AudioConfig& +GetResponseResponse_AudioResponse::_Internal::audio_config(const GetResponseResponse_AudioResponse* msg) { + return *msg->audio_config_; +} +const ::service::VisemesData& +GetResponseResponse_AudioResponse::_Internal::visemes_data(const GetResponseResponse_AudioResponse* msg) { + return *msg->face_data_type_.visemes_data_; +} +const ::service::BlendShapesData& +GetResponseResponse_AudioResponse::_Internal::blendshapes_data(const GetResponseResponse_AudioResponse* msg) { + return *msg->face_data_type_.blendshapes_data_; +} +const ::service::ARKitBlendShapesData& +GetResponseResponse_AudioResponse::_Internal::face_emotion(const GetResponseResponse_AudioResponse* msg) { + return *msg->face_emotion_; +} +const ::service::EmotionResponse& +GetResponseResponse_AudioResponse::_Internal::emotion_response(const GetResponseResponse_AudioResponse* msg) { + return *msg->emotion_response_; +} +void GetResponseResponse_AudioResponse::set_allocated_visemes_data(::service::VisemesData* visemes_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + clear_face_data_type(); + if (visemes_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(visemes_data); + if (message_arena != submessage_arena) { + visemes_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, visemes_data, submessage_arena); + } + set_has_visemes_data(); + face_data_type_.visemes_data_ = visemes_data; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.visemes_data) +} +void GetResponseResponse_AudioResponse::set_allocated_blendshapes_data(::service::BlendShapesData* blendshapes_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + clear_face_data_type(); + if (blendshapes_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(blendshapes_data); + if (message_arena != submessage_arena) { + blendshapes_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, blendshapes_data, submessage_arena); + } + set_has_blendshapes_data(); + face_data_type_.blendshapes_data_ = blendshapes_data; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.blendshapes_data) +} +void GetResponseResponse_AudioResponse::clear_face_emotion() { + if (GetArena() == nullptr && face_emotion_ != nullptr) { + delete face_emotion_; + } + face_emotion_ = nullptr; +} +GetResponseResponse_AudioResponse::GetResponseResponse_AudioResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.GetResponseResponse.AudioResponse) +} +GetResponseResponse_AudioResponse::GetResponseResponse_AudioResponse(const GetResponseResponse_AudioResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + audio_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_audio_data().empty()) { + audio_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_audio_data(), + GetArena()); + } + text_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_text_data().empty()) { + text_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_text_data(), + GetArena()); + } + face_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_face_data().empty()) { + face_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_face_data(), + GetArena()); + } + if (from._internal_has_audio_config()) { + audio_config_ = new ::service::AudioConfig(*from.audio_config_); + } else { + audio_config_ = nullptr; + } + if (from._internal_has_face_emotion()) { + face_emotion_ = new ::service::ARKitBlendShapesData(*from.face_emotion_); + } else { + face_emotion_ = nullptr; + } + if (from._internal_has_emotion_response()) { + emotion_response_ = new ::service::EmotionResponse(*from.emotion_response_); + } else { + emotion_response_ = nullptr; + } + end_of_response_ = from.end_of_response_; + clear_has_face_data_type(); + switch (from.face_data_type_case()) { + case kVisemesData: { + _internal_mutable_visemes_data()->::service::VisemesData::MergeFrom(from._internal_visemes_data()); + break; + } + case kBlendshapesData: { + _internal_mutable_blendshapes_data()->::service::BlendShapesData::MergeFrom(from._internal_blendshapes_data()); + break; + } + case FACE_DATA_TYPE_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseResponse.AudioResponse) +} + +void GetResponseResponse_AudioResponse::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_GetResponseResponse_AudioResponse_service_2eproto.base); + audio_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + text_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + face_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + ::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&audio_config_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&end_of_response_) - + reinterpret_cast(&audio_config_)) + sizeof(end_of_response_)); + clear_has_face_data_type(); +} + +GetResponseResponse_AudioResponse::~GetResponseResponse_AudioResponse() { + // @@protoc_insertion_point(destructor:service.GetResponseResponse.AudioResponse) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void GetResponseResponse_AudioResponse::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + audio_data_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + text_data_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + face_data_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete audio_config_; + if (this != internal_default_instance()) delete face_emotion_; + if (this != internal_default_instance()) delete emotion_response_; + if (has_face_data_type()) { + clear_face_data_type(); + } +} + +void GetResponseResponse_AudioResponse::ArenaDtor(void* object) { + GetResponseResponse_AudioResponse* _this = reinterpret_cast< GetResponseResponse_AudioResponse* >(object); + (void)_this; +} +void GetResponseResponse_AudioResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetResponseResponse_AudioResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const GetResponseResponse_AudioResponse& GetResponseResponse_AudioResponse::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_GetResponseResponse_AudioResponse_service_2eproto.base); + return *internal_default_instance(); +} + + +void GetResponseResponse_AudioResponse::clear_face_data_type() { +// @@protoc_insertion_point(one_of_clear_start:service.GetResponseResponse.AudioResponse) + switch (face_data_type_case()) { + case kVisemesData: { + if (GetArena() == nullptr) { + delete face_data_type_.visemes_data_; + } + break; + } + case kBlendshapesData: { + if (GetArena() == nullptr) { + delete face_data_type_.blendshapes_data_; + } + break; + } + case FACE_DATA_TYPE_NOT_SET: { + break; + } + } + _oneof_case_[0] = FACE_DATA_TYPE_NOT_SET; +} + + +void GetResponseResponse_AudioResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseResponse.AudioResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + audio_data_.ClearToEmpty(); + text_data_.ClearToEmpty(); + face_data_.ClearToEmpty(); + if (GetArena() == nullptr && audio_config_ != nullptr) { + delete audio_config_; + } + audio_config_ = nullptr; + if (GetArena() == nullptr && face_emotion_ != nullptr) { + delete face_emotion_; + } + face_emotion_ = nullptr; + if (GetArena() == nullptr && emotion_response_ != nullptr) { + delete emotion_response_; + } + emotion_response_ = nullptr; + end_of_response_ = false; + clear_face_data_type(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseResponse_AudioResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // bytes audio_data = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_audio_data(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.AudioConfig audio_config = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_audio_config(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string text_data = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + auto str = _internal_mutable_text_data(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseResponse.AudioResponse.text_data")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bool end_of_response = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) { + end_of_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string face_data = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) { + auto str = _internal_mutable_face_data(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseResponse.AudioResponse.face_data")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.VisemesData visemes_data = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) { + ptr = ctx->ParseMessage(_internal_mutable_visemes_data(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.BlendShapesData blendshapes_data = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) { + ptr = ctx->ParseMessage(_internal_mutable_blendshapes_data(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.ARKitBlendShapesData face_emotion = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) { + ptr = ctx->ParseMessage(_internal_mutable_face_emotion(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.EmotionResponse emotion_response = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) { + ptr = ctx->ParseMessage(_internal_mutable_emotion_response(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetResponseResponse_AudioResponse::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseResponse.AudioResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // bytes audio_data = 1; + if (this->audio_data().size() > 0) { + target = stream->WriteBytesMaybeAliased( + 1, this->_internal_audio_data(), target); + } + + // .service.AudioConfig audio_config = 2; + if (this->has_audio_config()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::audio_config(this), target, stream); + } + + // string text_data = 3; + if (this->text_data().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_text_data().data(), static_cast(this->_internal_text_data().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.AudioResponse.text_data"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_text_data(), target); + } + + // bool end_of_response = 4; + if (this->end_of_response() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_end_of_response(), target); + } + + // string face_data = 5; + if (this->face_data().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_face_data().data(), static_cast(this->_internal_face_data().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.AudioResponse.face_data"); + target = stream->WriteStringMaybeAliased( + 5, this->_internal_face_data(), target); + } + + // .service.VisemesData visemes_data = 6; + if (_internal_has_visemes_data()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 6, _Internal::visemes_data(this), target, stream); + } + + // .service.BlendShapesData blendshapes_data = 7; + if (_internal_has_blendshapes_data()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 7, _Internal::blendshapes_data(this), target, stream); + } + + // .service.ARKitBlendShapesData face_emotion = 8; + if (this->has_face_emotion()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 8, _Internal::face_emotion(this), target, stream); + } + + // .service.EmotionResponse emotion_response = 9; + if (this->has_emotion_response()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 9, _Internal::emotion_response(this), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseResponse.AudioResponse) + return target; +} + +size_t GetResponseResponse_AudioResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseResponse.AudioResponse) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // bytes audio_data = 1; + if (this->audio_data().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->_internal_audio_data()); + } + + // string text_data = 3; + if (this->text_data().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_text_data()); + } + + // string face_data = 5; + if (this->face_data().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_face_data()); + } + + // .service.AudioConfig audio_config = 2; + if (this->has_audio_config()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *audio_config_); + } + + // .service.ARKitBlendShapesData face_emotion = 8; + if (this->has_face_emotion()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *face_emotion_); + } + + // .service.EmotionResponse emotion_response = 9; + if (this->has_emotion_response()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *emotion_response_); + } + + // bool end_of_response = 4; + if (this->end_of_response() != 0) { + total_size += 1 + 1; + } + + switch (face_data_type_case()) { + // .service.VisemesData visemes_data = 6; + case kVisemesData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *face_data_type_.visemes_data_); + break; + } + // .service.BlendShapesData blendshapes_data = 7; + case kBlendshapesData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *face_data_type_.blendshapes_data_); + break; + } + case FACE_DATA_TYPE_NOT_SET: { + break; + } + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void GetResponseResponse_AudioResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.GetResponseResponse.AudioResponse) + GOOGLE_DCHECK_NE(&from, this); + const GetResponseResponse_AudioResponse* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.GetResponseResponse.AudioResponse) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.GetResponseResponse.AudioResponse) + MergeFrom(*source); + } +} + +void GetResponseResponse_AudioResponse::MergeFrom(const GetResponseResponse_AudioResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseResponse.AudioResponse) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.audio_data().size() > 0) { + _internal_set_audio_data(from._internal_audio_data()); + } + if (from.text_data().size() > 0) { + _internal_set_text_data(from._internal_text_data()); + } + if (from.face_data().size() > 0) { + _internal_set_face_data(from._internal_face_data()); + } + if (from.has_audio_config()) { + _internal_mutable_audio_config()->::service::AudioConfig::MergeFrom(from._internal_audio_config()); + } + if (from.has_face_emotion()) { + _internal_mutable_face_emotion()->::service::ARKitBlendShapesData::MergeFrom(from._internal_face_emotion()); + } + if (from.has_emotion_response()) { + _internal_mutable_emotion_response()->::service::EmotionResponse::MergeFrom(from._internal_emotion_response()); + } + if (from.end_of_response() != 0) { + _internal_set_end_of_response(from._internal_end_of_response()); + } + switch (from.face_data_type_case()) { + case kVisemesData: { + _internal_mutable_visemes_data()->::service::VisemesData::MergeFrom(from._internal_visemes_data()); + break; + } + case kBlendshapesData: { + _internal_mutable_blendshapes_data()->::service::BlendShapesData::MergeFrom(from._internal_blendshapes_data()); + break; + } + case FACE_DATA_TYPE_NOT_SET: { + break; + } + } +} + +void GetResponseResponse_AudioResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.GetResponseResponse.AudioResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void GetResponseResponse_AudioResponse::CopyFrom(const GetResponseResponse_AudioResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseResponse.AudioResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseResponse_AudioResponse::IsInitialized() const { + return true; +} + +void GetResponseResponse_AudioResponse::InternalSwap(GetResponseResponse_AudioResponse* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + audio_data_.Swap(&other->audio_data_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + text_data_.Swap(&other->text_data_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + face_data_.Swap(&other->face_data_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(GetResponseResponse_AudioResponse, end_of_response_) + + sizeof(GetResponseResponse_AudioResponse::end_of_response_) + - PROTOBUF_FIELD_OFFSET(GetResponseResponse_AudioResponse, audio_config_)>( + reinterpret_cast(&audio_config_), + reinterpret_cast(&other->audio_config_)); + swap(face_data_type_, other->face_data_type_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseResponse_AudioResponse::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class GetResponseResponse_ActionResponse::_Internal { + public: +}; + +GetResponseResponse_ActionResponse::GetResponseResponse_ActionResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.GetResponseResponse.ActionResponse) +} +GetResponseResponse_ActionResponse::GetResponseResponse_ActionResponse(const GetResponseResponse_ActionResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + action_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_action().empty()) { + action_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_action(), + GetArena()); + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseResponse.ActionResponse) +} + +void GetResponseResponse_ActionResponse::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_GetResponseResponse_ActionResponse_service_2eproto.base); + action_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +GetResponseResponse_ActionResponse::~GetResponseResponse_ActionResponse() { + // @@protoc_insertion_point(destructor:service.GetResponseResponse.ActionResponse) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void GetResponseResponse_ActionResponse::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + action_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void GetResponseResponse_ActionResponse::ArenaDtor(void* object) { + GetResponseResponse_ActionResponse* _this = reinterpret_cast< GetResponseResponse_ActionResponse* >(object); + (void)_this; +} +void GetResponseResponse_ActionResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetResponseResponse_ActionResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const GetResponseResponse_ActionResponse& GetResponseResponse_ActionResponse::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_GetResponseResponse_ActionResponse_service_2eproto.base); + return *internal_default_instance(); +} + + +void GetResponseResponse_ActionResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseResponse.ActionResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + action_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseResponse_ActionResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string action = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_action(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseResponse.ActionResponse.action")); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetResponseResponse_ActionResponse::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseResponse.ActionResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string action = 1; + if (this->action().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_action().data(), static_cast(this->_internal_action().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.ActionResponse.action"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_action(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseResponse.ActionResponse) + return target; +} + +size_t GetResponseResponse_ActionResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseResponse.ActionResponse) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string action = 1; + if (this->action().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_action()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void GetResponseResponse_ActionResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.GetResponseResponse.ActionResponse) + GOOGLE_DCHECK_NE(&from, this); + const GetResponseResponse_ActionResponse* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.GetResponseResponse.ActionResponse) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.GetResponseResponse.ActionResponse) + MergeFrom(*source); + } +} + +void GetResponseResponse_ActionResponse::MergeFrom(const GetResponseResponse_ActionResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseResponse.ActionResponse) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.action().size() > 0) { + _internal_set_action(from._internal_action()); + } +} + +void GetResponseResponse_ActionResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.GetResponseResponse.ActionResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void GetResponseResponse_ActionResponse::CopyFrom(const GetResponseResponse_ActionResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseResponse.ActionResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseResponse_ActionResponse::IsInitialized() const { + return true; +} + +void GetResponseResponse_ActionResponse::InternalSwap(GetResponseResponse_ActionResponse* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + action_.Swap(&other->action_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseResponse_ActionResponse::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class GetResponseResponse_BehaviorTreeResponse::_Internal { + public: +}; + +GetResponseResponse_BehaviorTreeResponse::GetResponseResponse_BehaviorTreeResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.GetResponseResponse.BehaviorTreeResponse) +} +GetResponseResponse_BehaviorTreeResponse::GetResponseResponse_BehaviorTreeResponse(const GetResponseResponse_BehaviorTreeResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + bt_code_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_bt_code().empty()) { + bt_code_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_bt_code(), + GetArena()); + } + bt_constants_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_bt_constants().empty()) { + bt_constants_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_bt_constants(), + GetArena()); + } + narrative_section_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_narrative_section_id().empty()) { + narrative_section_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_narrative_section_id(), + GetArena()); + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseResponse.BehaviorTreeResponse) +} + +void GetResponseResponse_BehaviorTreeResponse::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_GetResponseResponse_BehaviorTreeResponse_service_2eproto.base); + bt_code_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + bt_constants_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + narrative_section_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +GetResponseResponse_BehaviorTreeResponse::~GetResponseResponse_BehaviorTreeResponse() { + // @@protoc_insertion_point(destructor:service.GetResponseResponse.BehaviorTreeResponse) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void GetResponseResponse_BehaviorTreeResponse::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + bt_code_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + bt_constants_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + narrative_section_id_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void GetResponseResponse_BehaviorTreeResponse::ArenaDtor(void* object) { + GetResponseResponse_BehaviorTreeResponse* _this = reinterpret_cast< GetResponseResponse_BehaviorTreeResponse* >(object); + (void)_this; +} +void GetResponseResponse_BehaviorTreeResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetResponseResponse_BehaviorTreeResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const GetResponseResponse_BehaviorTreeResponse& GetResponseResponse_BehaviorTreeResponse::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_GetResponseResponse_BehaviorTreeResponse_service_2eproto.base); + return *internal_default_instance(); +} + + +void GetResponseResponse_BehaviorTreeResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseResponse.BehaviorTreeResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + bt_code_.ClearToEmpty(); + bt_constants_.ClearToEmpty(); + narrative_section_id_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseResponse_BehaviorTreeResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string bt_code = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_bt_code(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseResponse.BehaviorTreeResponse.bt_code")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string bt_constants = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_bt_constants(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseResponse.BehaviorTreeResponse.bt_constants")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string narrative_section_id = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + auto str = _internal_mutable_narrative_section_id(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id")); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetResponseResponse_BehaviorTreeResponse::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseResponse.BehaviorTreeResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string bt_code = 1; + if (this->bt_code().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_bt_code().data(), static_cast(this->_internal_bt_code().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.BehaviorTreeResponse.bt_code"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_bt_code(), target); + } + + // string bt_constants = 2; + if (this->bt_constants().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_bt_constants().data(), static_cast(this->_internal_bt_constants().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.BehaviorTreeResponse.bt_constants"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_bt_constants(), target); + } + + // string narrative_section_id = 3; + if (this->narrative_section_id().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_narrative_section_id().data(), static_cast(this->_internal_narrative_section_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_narrative_section_id(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseResponse.BehaviorTreeResponse) + return target; +} + +size_t GetResponseResponse_BehaviorTreeResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseResponse.BehaviorTreeResponse) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string bt_code = 1; + if (this->bt_code().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_bt_code()); + } + + // string bt_constants = 2; + if (this->bt_constants().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_bt_constants()); + } + + // string narrative_section_id = 3; + if (this->narrative_section_id().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_narrative_section_id()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void GetResponseResponse_BehaviorTreeResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.GetResponseResponse.BehaviorTreeResponse) + GOOGLE_DCHECK_NE(&from, this); + const GetResponseResponse_BehaviorTreeResponse* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.GetResponseResponse.BehaviorTreeResponse) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.GetResponseResponse.BehaviorTreeResponse) + MergeFrom(*source); + } +} + +void GetResponseResponse_BehaviorTreeResponse::MergeFrom(const GetResponseResponse_BehaviorTreeResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseResponse.BehaviorTreeResponse) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.bt_code().size() > 0) { + _internal_set_bt_code(from._internal_bt_code()); + } + if (from.bt_constants().size() > 0) { + _internal_set_bt_constants(from._internal_bt_constants()); + } + if (from.narrative_section_id().size() > 0) { + _internal_set_narrative_section_id(from._internal_narrative_section_id()); + } +} + +void GetResponseResponse_BehaviorTreeResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.GetResponseResponse.BehaviorTreeResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void GetResponseResponse_BehaviorTreeResponse::CopyFrom(const GetResponseResponse_BehaviorTreeResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseResponse.BehaviorTreeResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseResponse_BehaviorTreeResponse::IsInitialized() const { + return true; +} + +void GetResponseResponse_BehaviorTreeResponse::InternalSwap(GetResponseResponse_BehaviorTreeResponse* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + bt_code_.Swap(&other->bt_code_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + bt_constants_.Swap(&other->bt_constants_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + narrative_section_id_.Swap(&other->narrative_section_id_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseResponse_BehaviorTreeResponse::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class GetResponseResponse_UserTranscript::_Internal { + public: +}; + +GetResponseResponse_UserTranscript::GetResponseResponse_UserTranscript(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.GetResponseResponse.UserTranscript) +} +GetResponseResponse_UserTranscript::GetResponseResponse_UserTranscript(const GetResponseResponse_UserTranscript& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + text_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_text_data().empty()) { + text_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_text_data(), + GetArena()); + } + ::memcpy(&is_final_, &from.is_final_, + static_cast(reinterpret_cast(&end_of_response_) - + reinterpret_cast(&is_final_)) + sizeof(end_of_response_)); + // @@protoc_insertion_point(copy_constructor:service.GetResponseResponse.UserTranscript) +} + +void GetResponseResponse_UserTranscript::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_GetResponseResponse_UserTranscript_service_2eproto.base); + text_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + ::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&is_final_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&end_of_response_) - + reinterpret_cast(&is_final_)) + sizeof(end_of_response_)); +} + +GetResponseResponse_UserTranscript::~GetResponseResponse_UserTranscript() { + // @@protoc_insertion_point(destructor:service.GetResponseResponse.UserTranscript) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void GetResponseResponse_UserTranscript::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + text_data_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void GetResponseResponse_UserTranscript::ArenaDtor(void* object) { + GetResponseResponse_UserTranscript* _this = reinterpret_cast< GetResponseResponse_UserTranscript* >(object); + (void)_this; +} +void GetResponseResponse_UserTranscript::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetResponseResponse_UserTranscript::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const GetResponseResponse_UserTranscript& GetResponseResponse_UserTranscript::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_GetResponseResponse_UserTranscript_service_2eproto.base); + return *internal_default_instance(); +} + + +void GetResponseResponse_UserTranscript::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseResponse.UserTranscript) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + text_data_.ClearToEmpty(); + ::memset(&is_final_, 0, static_cast( + reinterpret_cast(&end_of_response_) - + reinterpret_cast(&is_final_)) + sizeof(end_of_response_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseResponse_UserTranscript::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string text_data = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_text_data(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseResponse.UserTranscript.text_data")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bool is_final = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { + is_final_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bool end_of_response = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { + end_of_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetResponseResponse_UserTranscript::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseResponse.UserTranscript) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string text_data = 1; + if (this->text_data().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_text_data().data(), static_cast(this->_internal_text_data().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.UserTranscript.text_data"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_text_data(), target); + } + + // bool is_final = 2; + if (this->is_final() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_is_final(), target); + } + + // bool end_of_response = 3; + if (this->end_of_response() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_end_of_response(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseResponse.UserTranscript) + return target; +} + +size_t GetResponseResponse_UserTranscript::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseResponse.UserTranscript) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string text_data = 1; + if (this->text_data().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_text_data()); + } + + // bool is_final = 2; + if (this->is_final() != 0) { + total_size += 1 + 1; + } + + // bool end_of_response = 3; + if (this->end_of_response() != 0) { + total_size += 1 + 1; + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void GetResponseResponse_UserTranscript::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.GetResponseResponse.UserTranscript) + GOOGLE_DCHECK_NE(&from, this); + const GetResponseResponse_UserTranscript* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.GetResponseResponse.UserTranscript) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.GetResponseResponse.UserTranscript) + MergeFrom(*source); + } +} + +void GetResponseResponse_UserTranscript::MergeFrom(const GetResponseResponse_UserTranscript& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseResponse.UserTranscript) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.text_data().size() > 0) { + _internal_set_text_data(from._internal_text_data()); + } + if (from.is_final() != 0) { + _internal_set_is_final(from._internal_is_final()); + } + if (from.end_of_response() != 0) { + _internal_set_end_of_response(from._internal_end_of_response()); + } +} + +void GetResponseResponse_UserTranscript::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.GetResponseResponse.UserTranscript) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void GetResponseResponse_UserTranscript::CopyFrom(const GetResponseResponse_UserTranscript& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseResponse.UserTranscript) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseResponse_UserTranscript::IsInitialized() const { + return true; +} + +void GetResponseResponse_UserTranscript::InternalSwap(GetResponseResponse_UserTranscript* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + text_data_.Swap(&other->text_data_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(GetResponseResponse_UserTranscript, end_of_response_) + + sizeof(GetResponseResponse_UserTranscript::end_of_response_) + - PROTOBUF_FIELD_OFFSET(GetResponseResponse_UserTranscript, is_final_)>( + reinterpret_cast(&is_final_), + reinterpret_cast(&other->is_final_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseResponse_UserTranscript::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class GetResponseResponse::_Internal { + public: + static const ::service::GetResponseResponse_ActionResponse& action_response(const GetResponseResponse* msg); + static const ::service::GetResponseResponse_AudioResponse& audio_response(const GetResponseResponse* msg); + static const ::service::GetResponseResponse_UserTranscript& user_query(const GetResponseResponse* msg); + static const ::service::GetResponseResponse_BehaviorTreeResponse& bt_response(const GetResponseResponse* msg); +}; + +const ::service::GetResponseResponse_ActionResponse& +GetResponseResponse::_Internal::action_response(const GetResponseResponse* msg) { + return *msg->response_type_.action_response_; +} +const ::service::GetResponseResponse_AudioResponse& +GetResponseResponse::_Internal::audio_response(const GetResponseResponse* msg) { + return *msg->response_type_.audio_response_; +} +const ::service::GetResponseResponse_UserTranscript& +GetResponseResponse::_Internal::user_query(const GetResponseResponse* msg) { + return *msg->response_type_.user_query_; +} +const ::service::GetResponseResponse_BehaviorTreeResponse& +GetResponseResponse::_Internal::bt_response(const GetResponseResponse* msg) { + return *msg->response_type_.bt_response_; +} +void GetResponseResponse::set_allocated_action_response(::service::GetResponseResponse_ActionResponse* action_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + clear_response_type(); + if (action_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_response); + if (message_arena != submessage_arena) { + action_response = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, action_response, submessage_arena); + } + set_has_action_response(); + response_type_.action_response_ = action_response; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.action_response) +} +void GetResponseResponse::set_allocated_audio_response(::service::GetResponseResponse_AudioResponse* audio_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + clear_response_type(); + if (audio_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(audio_response); + if (message_arena != submessage_arena) { + audio_response = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, audio_response, submessage_arena); + } + set_has_audio_response(); + response_type_.audio_response_ = audio_response; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.audio_response) +} +void GetResponseResponse::set_allocated_user_query(::service::GetResponseResponse_UserTranscript* user_query) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + clear_response_type(); + if (user_query) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(user_query); + if (message_arena != submessage_arena) { + user_query = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, user_query, submessage_arena); + } + set_has_user_query(); + response_type_.user_query_ = user_query; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.user_query) +} +void GetResponseResponse::set_allocated_bt_response(::service::GetResponseResponse_BehaviorTreeResponse* bt_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + clear_response_type(); + if (bt_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(bt_response); + if (message_arena != submessage_arena) { + bt_response = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, bt_response, submessage_arena); + } + set_has_bt_response(); + response_type_.bt_response_ = bt_response; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.bt_response) +} +GetResponseResponse::GetResponseResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.GetResponseResponse) +} +GetResponseResponse::GetResponseResponse(const GetResponseResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + session_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_session_id().empty()) { + session_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_session_id(), + GetArena()); + } + clear_has_response_type(); + switch (from.response_type_case()) { + case kActionResponse: { + _internal_mutable_action_response()->::service::GetResponseResponse_ActionResponse::MergeFrom(from._internal_action_response()); + break; + } + case kAudioResponse: { + _internal_mutable_audio_response()->::service::GetResponseResponse_AudioResponse::MergeFrom(from._internal_audio_response()); + break; + } + case kDebugLog: { + _internal_set_debug_log(from._internal_debug_log()); + break; + } + case kUserQuery: { + _internal_mutable_user_query()->::service::GetResponseResponse_UserTranscript::MergeFrom(from._internal_user_query()); + break; + } + case kBtResponse: { + _internal_mutable_bt_response()->::service::GetResponseResponse_BehaviorTreeResponse::MergeFrom(from._internal_bt_response()); + break; + } + case kEmotionResponse: { + _internal_set_emotion_response(from._internal_emotion_response()); + break; + } + case kInteractionId: { + _internal_set_interaction_id(from._internal_interaction_id()); + break; + } + case RESPONSE_TYPE_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseResponse) +} + +void GetResponseResponse::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_GetResponseResponse_service_2eproto.base); + session_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + clear_has_response_type(); +} + +GetResponseResponse::~GetResponseResponse() { + // @@protoc_insertion_point(destructor:service.GetResponseResponse) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void GetResponseResponse::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + session_id_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (has_response_type()) { + clear_response_type(); + } +} + +void GetResponseResponse::ArenaDtor(void* object) { + GetResponseResponse* _this = reinterpret_cast< GetResponseResponse* >(object); + (void)_this; +} +void GetResponseResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GetResponseResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const GetResponseResponse& GetResponseResponse::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_GetResponseResponse_service_2eproto.base); + return *internal_default_instance(); +} + + +void GetResponseResponse::clear_response_type() { +// @@protoc_insertion_point(one_of_clear_start:service.GetResponseResponse) + switch (response_type_case()) { + case kActionResponse: { + if (GetArena() == nullptr) { + delete response_type_.action_response_; + } + break; + } + case kAudioResponse: { + if (GetArena() == nullptr) { + delete response_type_.audio_response_; + } + break; + } + case kDebugLog: { + response_type_.debug_log_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); + break; + } + case kUserQuery: { + if (GetArena() == nullptr) { + delete response_type_.user_query_; + } + break; + } + case kBtResponse: { + if (GetArena() == nullptr) { + delete response_type_.bt_response_; + } + break; + } + case kEmotionResponse: { + response_type_.emotion_response_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); + break; + } + case kInteractionId: { + response_type_.interaction_id_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); + break; + } + case RESPONSE_TYPE_NOT_SET: { + break; + } + } + _oneof_case_[0] = RESPONSE_TYPE_NOT_SET; +} + + +void GetResponseResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + session_id_.ClearToEmpty(); + clear_response_type(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string session_id = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_session_id(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseResponse.session_id")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.GetResponseResponse.ActionResponse action_response = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_action_response(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.GetResponseResponse.AudioResponse audio_response = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_audio_response(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string debug_log = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + auto str = _internal_mutable_debug_log(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseResponse.debug_log")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.GetResponseResponse.UserTranscript user_query = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) { + ptr = ctx->ParseMessage(_internal_mutable_user_query(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.GetResponseResponse.BehaviorTreeResponse bt_response = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) { + ptr = ctx->ParseMessage(_internal_mutable_bt_response(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string emotion_response = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) { + auto str = _internal_mutable_emotion_response(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseResponse.emotion_response")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string interaction_id = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) { + auto str = _internal_mutable_interaction_id(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.GetResponseResponse.interaction_id")); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GetResponseResponse::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string session_id = 1; + if (this->session_id().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_session_id().data(), static_cast(this->_internal_session_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.session_id"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_session_id(), target); + } + + // .service.GetResponseResponse.ActionResponse action_response = 2; + if (_internal_has_action_response()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::action_response(this), target, stream); + } + + // .service.GetResponseResponse.AudioResponse audio_response = 3; + if (_internal_has_audio_response()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 3, _Internal::audio_response(this), target, stream); + } + + // string debug_log = 4; + if (_internal_has_debug_log()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_debug_log().data(), static_cast(this->_internal_debug_log().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.debug_log"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_debug_log(), target); + } + + // .service.GetResponseResponse.UserTranscript user_query = 5; + if (_internal_has_user_query()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 5, _Internal::user_query(this), target, stream); + } + + // .service.GetResponseResponse.BehaviorTreeResponse bt_response = 6; + if (_internal_has_bt_response()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 6, _Internal::bt_response(this), target, stream); + } + + // string emotion_response = 7; + if (_internal_has_emotion_response()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_emotion_response().data(), static_cast(this->_internal_emotion_response().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.emotion_response"); + target = stream->WriteStringMaybeAliased( + 7, this->_internal_emotion_response(), target); + } + + // string interaction_id = 8; + if (_internal_has_interaction_id()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_interaction_id().data(), static_cast(this->_internal_interaction_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.interaction_id"); + target = stream->WriteStringMaybeAliased( + 8, this->_internal_interaction_id(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseResponse) + return target; +} + +size_t GetResponseResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseResponse) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string session_id = 1; + if (this->session_id().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_session_id()); + } + + switch (response_type_case()) { + // .service.GetResponseResponse.ActionResponse action_response = 2; + case kActionResponse: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *response_type_.action_response_); + break; + } + // .service.GetResponseResponse.AudioResponse audio_response = 3; + case kAudioResponse: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *response_type_.audio_response_); + break; + } + // string debug_log = 4; + case kDebugLog: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_debug_log()); + break; + } + // .service.GetResponseResponse.UserTranscript user_query = 5; + case kUserQuery: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *response_type_.user_query_); + break; + } + // .service.GetResponseResponse.BehaviorTreeResponse bt_response = 6; + case kBtResponse: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *response_type_.bt_response_); + break; + } + // string emotion_response = 7; + case kEmotionResponse: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_emotion_response()); + break; + } + // string interaction_id = 8; + case kInteractionId: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_interaction_id()); + break; + } + case RESPONSE_TYPE_NOT_SET: { + break; + } + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void GetResponseResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.GetResponseResponse) + GOOGLE_DCHECK_NE(&from, this); + const GetResponseResponse* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.GetResponseResponse) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.GetResponseResponse) + MergeFrom(*source); + } +} + +void GetResponseResponse::MergeFrom(const GetResponseResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseResponse) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.session_id().size() > 0) { + _internal_set_session_id(from._internal_session_id()); + } + switch (from.response_type_case()) { + case kActionResponse: { + _internal_mutable_action_response()->::service::GetResponseResponse_ActionResponse::MergeFrom(from._internal_action_response()); + break; + } + case kAudioResponse: { + _internal_mutable_audio_response()->::service::GetResponseResponse_AudioResponse::MergeFrom(from._internal_audio_response()); + break; + } + case kDebugLog: { + _internal_set_debug_log(from._internal_debug_log()); + break; + } + case kUserQuery: { + _internal_mutable_user_query()->::service::GetResponseResponse_UserTranscript::MergeFrom(from._internal_user_query()); + break; + } + case kBtResponse: { + _internal_mutable_bt_response()->::service::GetResponseResponse_BehaviorTreeResponse::MergeFrom(from._internal_bt_response()); + break; + } + case kEmotionResponse: { + _internal_set_emotion_response(from._internal_emotion_response()); + break; + } + case kInteractionId: { + _internal_set_interaction_id(from._internal_interaction_id()); + break; + } + case RESPONSE_TYPE_NOT_SET: { + break; + } + } +} + +void GetResponseResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.GetResponseResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void GetResponseResponse::CopyFrom(const GetResponseResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseResponse::IsInitialized() const { + return true; +} + +void GetResponseResponse::InternalSwap(GetResponseResponse* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + session_id_.Swap(&other->session_id_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + swap(response_type_, other->response_type_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseResponse::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class VisemesData::_Internal { + public: + static const ::service::Viseme& visemes(const VisemesData* msg); +}; + +const ::service::Viseme& +VisemesData::_Internal::visemes(const VisemesData* msg) { + return *msg->visemes_; +} +VisemesData::VisemesData(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.VisemesData) +} +VisemesData::VisemesData(const VisemesData& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_visemes()) { + visemes_ = new ::service::Viseme(*from.visemes_); + } else { + visemes_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:service.VisemesData) +} + +void VisemesData::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_VisemesData_service_2eproto.base); + visemes_ = nullptr; +} + +VisemesData::~VisemesData() { + // @@protoc_insertion_point(destructor:service.VisemesData) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void VisemesData::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + if (this != internal_default_instance()) delete visemes_; +} + +void VisemesData::ArenaDtor(void* object) { + VisemesData* _this = reinterpret_cast< VisemesData* >(object); + (void)_this; +} +void VisemesData::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void VisemesData::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const VisemesData& VisemesData::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_VisemesData_service_2eproto.base); + return *internal_default_instance(); +} + + +void VisemesData::Clear() { +// @@protoc_insertion_point(message_clear_start:service.VisemesData) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArena() == nullptr && visemes_ != nullptr) { + delete visemes_; + } + visemes_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* VisemesData::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // .service.Viseme visemes = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_visemes(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* VisemesData::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.VisemesData) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .service.Viseme visemes = 1; + if (this->has_visemes()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::visemes(this), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.VisemesData) + return target; +} + +size_t VisemesData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.VisemesData) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .service.Viseme visemes = 1; + if (this->has_visemes()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *visemes_); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void VisemesData::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.VisemesData) + GOOGLE_DCHECK_NE(&from, this); + const VisemesData* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.VisemesData) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.VisemesData) + MergeFrom(*source); + } +} + +void VisemesData::MergeFrom(const VisemesData& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.VisemesData) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.has_visemes()) { + _internal_mutable_visemes()->::service::Viseme::MergeFrom(from._internal_visemes()); + } +} + +void VisemesData::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.VisemesData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void VisemesData::CopyFrom(const VisemesData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.VisemesData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool VisemesData::IsInitialized() const { + return true; +} + +void VisemesData::InternalSwap(VisemesData* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + swap(visemes_, other->visemes_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata VisemesData::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class EmotionResponse::_Internal { + public: +}; + +EmotionResponse::EmotionResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.EmotionResponse) +} +EmotionResponse::EmotionResponse(const EmotionResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + emotion_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_emotion().empty()) { + emotion_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_emotion(), + GetArena()); + } + scale_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_scale().empty()) { + scale_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_scale(), + GetArena()); + } + // @@protoc_insertion_point(copy_constructor:service.EmotionResponse) +} + +void EmotionResponse::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_EmotionResponse_service_2eproto.base); + emotion_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + scale_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +EmotionResponse::~EmotionResponse() { + // @@protoc_insertion_point(destructor:service.EmotionResponse) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void EmotionResponse::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + emotion_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + scale_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void EmotionResponse::ArenaDtor(void* object) { + EmotionResponse* _this = reinterpret_cast< EmotionResponse* >(object); + (void)_this; +} +void EmotionResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void EmotionResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const EmotionResponse& EmotionResponse::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_EmotionResponse_service_2eproto.base); + return *internal_default_instance(); +} + + +void EmotionResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.EmotionResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + emotion_.ClearToEmpty(); + scale_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* EmotionResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string emotion = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_emotion(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.EmotionResponse.emotion")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string scale = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_scale(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.EmotionResponse.scale")); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* EmotionResponse::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.EmotionResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string emotion = 1; + if (this->emotion().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_emotion().data(), static_cast(this->_internal_emotion().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.EmotionResponse.emotion"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_emotion(), target); + } + + // string scale = 2; + if (this->scale().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_scale().data(), static_cast(this->_internal_scale().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.EmotionResponse.scale"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_scale(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.EmotionResponse) + return target; +} + +size_t EmotionResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.EmotionResponse) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string emotion = 1; + if (this->emotion().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_emotion()); + } + + // string scale = 2; + if (this->scale().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_scale()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void EmotionResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.EmotionResponse) + GOOGLE_DCHECK_NE(&from, this); + const EmotionResponse* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.EmotionResponse) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.EmotionResponse) + MergeFrom(*source); + } +} + +void EmotionResponse::MergeFrom(const EmotionResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.EmotionResponse) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.emotion().size() > 0) { + _internal_set_emotion(from._internal_emotion()); + } + if (from.scale().size() > 0) { + _internal_set_scale(from._internal_scale()); + } +} + +void EmotionResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.EmotionResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void EmotionResponse::CopyFrom(const EmotionResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.EmotionResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool EmotionResponse::IsInitialized() const { + return true; +} + +void EmotionResponse::InternalSwap(EmotionResponse* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + emotion_.Swap(&other->emotion_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + scale_.Swap(&other->scale_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} + +::PROTOBUF_NAMESPACE_ID::Metadata EmotionResponse::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class Viseme::_Internal { + public: +}; + +Viseme::Viseme(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.Viseme) +} +Viseme::Viseme(const Viseme& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::memcpy(&sil_, &from.sil_, + static_cast(reinterpret_cast(&ou_) - + reinterpret_cast(&sil_)) + sizeof(ou_)); + // @@protoc_insertion_point(copy_constructor:service.Viseme) +} + +void Viseme::SharedCtor() { + ::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&sil_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&ou_) - + reinterpret_cast(&sil_)) + sizeof(ou_)); +} + +Viseme::~Viseme() { + // @@protoc_insertion_point(destructor:service.Viseme) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void Viseme::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); +} + +void Viseme::ArenaDtor(void* object) { + Viseme* _this = reinterpret_cast< Viseme* >(object); + (void)_this; +} +void Viseme::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void Viseme::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const Viseme& Viseme::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Viseme_service_2eproto.base); + return *internal_default_instance(); +} + + +void Viseme::Clear() { +// @@protoc_insertion_point(message_clear_start:service.Viseme) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::memset(&sil_, 0, static_cast( + reinterpret_cast(&ou_) - + reinterpret_cast(&sil_)) + sizeof(ou_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* Viseme::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // float sil = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 13)) { + sil_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float pp = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 21)) { + pp_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float ff = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 29)) { + ff_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float th = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 37)) { + th_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float dd = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 45)) { + dd_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float kk = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 53)) { + kk_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float ch = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 61)) { + ch_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float ss = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 69)) { + ss_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float nn = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 77)) { + nn_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float rr = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 85)) { + rr_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float aa = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 93)) { + aa_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float e = 12; + case 12: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 101)) { + e_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float ih = 13; + case 13: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 109)) { + ih_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float oh = 14; + case 14: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 117)) { + oh_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + // float ou = 15; + case 15: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 125)) { + ou_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* Viseme::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.Viseme) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // float sil = 1; + if (!(this->sil() <= 0 && this->sil() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(1, this->_internal_sil(), target); + } + + // float pp = 2; + if (!(this->pp() <= 0 && this->pp() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(2, this->_internal_pp(), target); + } + + // float ff = 3; + if (!(this->ff() <= 0 && this->ff() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(3, this->_internal_ff(), target); + } + + // float th = 4; + if (!(this->th() <= 0 && this->th() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(4, this->_internal_th(), target); + } + + // float dd = 5; + if (!(this->dd() <= 0 && this->dd() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(5, this->_internal_dd(), target); + } + + // float kk = 6; + if (!(this->kk() <= 0 && this->kk() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(6, this->_internal_kk(), target); + } + + // float ch = 7; + if (!(this->ch() <= 0 && this->ch() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(7, this->_internal_ch(), target); + } + + // float ss = 8; + if (!(this->ss() <= 0 && this->ss() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(8, this->_internal_ss(), target); + } + + // float nn = 9; + if (!(this->nn() <= 0 && this->nn() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(9, this->_internal_nn(), target); + } + + // float rr = 10; + if (!(this->rr() <= 0 && this->rr() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(10, this->_internal_rr(), target); + } + + // float aa = 11; + if (!(this->aa() <= 0 && this->aa() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(11, this->_internal_aa(), target); + } + + // float e = 12; + if (!(this->e() <= 0 && this->e() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(12, this->_internal_e(), target); + } + + // float ih = 13; + if (!(this->ih() <= 0 && this->ih() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(13, this->_internal_ih(), target); + } + + // float oh = 14; + if (!(this->oh() <= 0 && this->oh() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(14, this->_internal_oh(), target); + } + + // float ou = 15; + if (!(this->ou() <= 0 && this->ou() >= 0)) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(15, this->_internal_ou(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.Viseme) + return target; +} + +size_t Viseme::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.Viseme) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // float sil = 1; + if (!(this->sil() <= 0 && this->sil() >= 0)) { + total_size += 1 + 4; + } + + // float pp = 2; + if (!(this->pp() <= 0 && this->pp() >= 0)) { + total_size += 1 + 4; + } + + // float ff = 3; + if (!(this->ff() <= 0 && this->ff() >= 0)) { + total_size += 1 + 4; + } + + // float th = 4; + if (!(this->th() <= 0 && this->th() >= 0)) { + total_size += 1 + 4; + } + + // float dd = 5; + if (!(this->dd() <= 0 && this->dd() >= 0)) { + total_size += 1 + 4; + } + + // float kk = 6; + if (!(this->kk() <= 0 && this->kk() >= 0)) { + total_size += 1 + 4; + } + + // float ch = 7; + if (!(this->ch() <= 0 && this->ch() >= 0)) { + total_size += 1 + 4; + } + + // float ss = 8; + if (!(this->ss() <= 0 && this->ss() >= 0)) { + total_size += 1 + 4; + } + + // float nn = 9; + if (!(this->nn() <= 0 && this->nn() >= 0)) { + total_size += 1 + 4; + } + + // float rr = 10; + if (!(this->rr() <= 0 && this->rr() >= 0)) { + total_size += 1 + 4; + } + + // float aa = 11; + if (!(this->aa() <= 0 && this->aa() >= 0)) { + total_size += 1 + 4; + } + + // float e = 12; + if (!(this->e() <= 0 && this->e() >= 0)) { + total_size += 1 + 4; + } + + // float ih = 13; + if (!(this->ih() <= 0 && this->ih() >= 0)) { + total_size += 1 + 4; + } + + // float oh = 14; + if (!(this->oh() <= 0 && this->oh() >= 0)) { + total_size += 1 + 4; + } + + // float ou = 15; + if (!(this->ou() <= 0 && this->ou() >= 0)) { + total_size += 1 + 4; + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void Viseme::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.Viseme) + GOOGLE_DCHECK_NE(&from, this); + const Viseme* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.Viseme) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.Viseme) + MergeFrom(*source); + } +} + +void Viseme::MergeFrom(const Viseme& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.Viseme) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (!(from.sil() <= 0 && from.sil() >= 0)) { + _internal_set_sil(from._internal_sil()); + } + if (!(from.pp() <= 0 && from.pp() >= 0)) { + _internal_set_pp(from._internal_pp()); + } + if (!(from.ff() <= 0 && from.ff() >= 0)) { + _internal_set_ff(from._internal_ff()); + } + if (!(from.th() <= 0 && from.th() >= 0)) { + _internal_set_th(from._internal_th()); + } + if (!(from.dd() <= 0 && from.dd() >= 0)) { + _internal_set_dd(from._internal_dd()); + } + if (!(from.kk() <= 0 && from.kk() >= 0)) { + _internal_set_kk(from._internal_kk()); + } + if (!(from.ch() <= 0 && from.ch() >= 0)) { + _internal_set_ch(from._internal_ch()); + } + if (!(from.ss() <= 0 && from.ss() >= 0)) { + _internal_set_ss(from._internal_ss()); + } + if (!(from.nn() <= 0 && from.nn() >= 0)) { + _internal_set_nn(from._internal_nn()); + } + if (!(from.rr() <= 0 && from.rr() >= 0)) { + _internal_set_rr(from._internal_rr()); + } + if (!(from.aa() <= 0 && from.aa() >= 0)) { + _internal_set_aa(from._internal_aa()); + } + if (!(from.e() <= 0 && from.e() >= 0)) { + _internal_set_e(from._internal_e()); + } + if (!(from.ih() <= 0 && from.ih() >= 0)) { + _internal_set_ih(from._internal_ih()); + } + if (!(from.oh() <= 0 && from.oh() >= 0)) { + _internal_set_oh(from._internal_oh()); + } + if (!(from.ou() <= 0 && from.ou() >= 0)) { + _internal_set_ou(from._internal_ou()); + } +} + +void Viseme::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.Viseme) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void Viseme::CopyFrom(const Viseme& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.Viseme) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool Viseme::IsInitialized() const { + return true; +} + +void Viseme::InternalSwap(Viseme* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(Viseme, ou_) + + sizeof(Viseme::ou_) + - PROTOBUF_FIELD_OFFSET(Viseme, sil_)>( + reinterpret_cast(&sil_), + reinterpret_cast(&other->sil_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata Viseme::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class BlendShapesData::_Internal { + public: +}; + +BlendShapesData::BlendShapesData(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.BlendShapesData) +} +BlendShapesData::BlendShapesData(const BlendShapesData& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + blendshape_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_blendshape_data().empty()) { + blendshape_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_blendshape_data(), + GetArena()); + } + // @@protoc_insertion_point(copy_constructor:service.BlendShapesData) +} + +void BlendShapesData::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_BlendShapesData_service_2eproto.base); + blendshape_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +BlendShapesData::~BlendShapesData() { + // @@protoc_insertion_point(destructor:service.BlendShapesData) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void BlendShapesData::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + blendshape_data_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void BlendShapesData::ArenaDtor(void* object) { + BlendShapesData* _this = reinterpret_cast< BlendShapesData* >(object); + (void)_this; +} +void BlendShapesData::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void BlendShapesData::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const BlendShapesData& BlendShapesData::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_BlendShapesData_service_2eproto.base); + return *internal_default_instance(); +} + + +void BlendShapesData::Clear() { +// @@protoc_insertion_point(message_clear_start:service.BlendShapesData) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + blendshape_data_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* BlendShapesData::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string blendshape_data = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_blendshape_data(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.BlendShapesData.blendshape_data")); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* BlendShapesData::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.BlendShapesData) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string blendshape_data = 1; + if (this->blendshape_data().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_blendshape_data().data(), static_cast(this->_internal_blendshape_data().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.BlendShapesData.blendshape_data"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_blendshape_data(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.BlendShapesData) + return target; +} + +size_t BlendShapesData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.BlendShapesData) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string blendshape_data = 1; + if (this->blendshape_data().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_blendshape_data()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void BlendShapesData::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.BlendShapesData) + GOOGLE_DCHECK_NE(&from, this); + const BlendShapesData* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.BlendShapesData) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.BlendShapesData) + MergeFrom(*source); + } +} + +void BlendShapesData::MergeFrom(const BlendShapesData& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.BlendShapesData) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.blendshape_data().size() > 0) { + _internal_set_blendshape_data(from._internal_blendshape_data()); + } +} + +void BlendShapesData::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.BlendShapesData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void BlendShapesData::CopyFrom(const BlendShapesData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.BlendShapesData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool BlendShapesData::IsInitialized() const { + return true; +} + +void BlendShapesData::InternalSwap(BlendShapesData* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + blendshape_data_.Swap(&other->blendshape_data_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} + +::PROTOBUF_NAMESPACE_ID::Metadata BlendShapesData::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class HelloRequest::_Internal { + public: +}; + +HelloRequest::HelloRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.HelloRequest) +} +HelloRequest::HelloRequest(const HelloRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_name().empty()) { + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(), + GetArena()); + } + // @@protoc_insertion_point(copy_constructor:service.HelloRequest) +} + +void HelloRequest::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_HelloRequest_service_2eproto.base); + name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +HelloRequest::~HelloRequest() { + // @@protoc_insertion_point(destructor:service.HelloRequest) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void HelloRequest::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void HelloRequest::ArenaDtor(void* object) { + HelloRequest* _this = reinterpret_cast< HelloRequest* >(object); + (void)_this; +} +void HelloRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void HelloRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const HelloRequest& HelloRequest::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_HelloRequest_service_2eproto.base); + return *internal_default_instance(); +} + + +void HelloRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:service.HelloRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + name_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* HelloRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_name(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.HelloRequest.name")); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* HelloRequest::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.HelloRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string name = 1; + if (this->name().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_name().data(), static_cast(this->_internal_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.HelloRequest.name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_name(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.HelloRequest) + return target; +} + +size_t HelloRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.HelloRequest) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string name = 1; + if (this->name().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void HelloRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.HelloRequest) + GOOGLE_DCHECK_NE(&from, this); + const HelloRequest* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.HelloRequest) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.HelloRequest) + MergeFrom(*source); + } +} + +void HelloRequest::MergeFrom(const HelloRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.HelloRequest) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.name().size() > 0) { + _internal_set_name(from._internal_name()); + } +} + +void HelloRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.HelloRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void HelloRequest::CopyFrom(const HelloRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.HelloRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool HelloRequest::IsInitialized() const { + return true; +} + +void HelloRequest::InternalSwap(HelloRequest* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} + +::PROTOBUF_NAMESPACE_ID::Metadata HelloRequest::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class HelloResponse::_Internal { + public: +}; + +HelloResponse::HelloResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.HelloResponse) +} +HelloResponse::HelloResponse(const HelloResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + message_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_message().empty()) { + message_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_message(), + GetArena()); + } + // @@protoc_insertion_point(copy_constructor:service.HelloResponse) +} + +void HelloResponse::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_HelloResponse_service_2eproto.base); + message_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +HelloResponse::~HelloResponse() { + // @@protoc_insertion_point(destructor:service.HelloResponse) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void HelloResponse::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + message_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void HelloResponse::ArenaDtor(void* object) { + HelloResponse* _this = reinterpret_cast< HelloResponse* >(object); + (void)_this; +} +void HelloResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void HelloResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const HelloResponse& HelloResponse::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_HelloResponse_service_2eproto.base); + return *internal_default_instance(); +} + + +void HelloResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.HelloResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + message_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* HelloResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string message = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_message(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.HelloResponse.message")); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* HelloResponse::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.HelloResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string message = 1; + if (this->message().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_message().data(), static_cast(this->_internal_message().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.HelloResponse.message"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_message(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.HelloResponse) + return target; +} + +size_t HelloResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.HelloResponse) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string message = 1; + if (this->message().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_message()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void HelloResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.HelloResponse) + GOOGLE_DCHECK_NE(&from, this); + const HelloResponse* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.HelloResponse) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.HelloResponse) + MergeFrom(*source); + } +} + +void HelloResponse::MergeFrom(const HelloResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.HelloResponse) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.message().size() > 0) { + _internal_set_message(from._internal_message()); + } +} + +void HelloResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.HelloResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void HelloResponse::CopyFrom(const HelloResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.HelloResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool HelloResponse::IsInitialized() const { + return true; +} + +void HelloResponse::InternalSwap(HelloResponse* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + message_.Swap(&other->message_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} + +::PROTOBUF_NAMESPACE_ID::Metadata HelloResponse::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class FeedbackRequest_Feedback::_Internal { + public: +}; + +FeedbackRequest_Feedback::FeedbackRequest_Feedback(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena), + tags_(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.FeedbackRequest.Feedback) +} +FeedbackRequest_Feedback::FeedbackRequest_Feedback(const FeedbackRequest_Feedback& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + tags_(from.tags_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + feedback_text_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_feedback_text().empty()) { + feedback_text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_feedback_text(), + GetArena()); + } + ::memcpy(&thumbs_up_, &from.thumbs_up_, + static_cast(reinterpret_cast(&is_test_case_) - + reinterpret_cast(&thumbs_up_)) + sizeof(is_test_case_)); + // @@protoc_insertion_point(copy_constructor:service.FeedbackRequest.Feedback) +} + +void FeedbackRequest_Feedback::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_FeedbackRequest_Feedback_service_2eproto.base); + feedback_text_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + ::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&thumbs_up_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&is_test_case_) - + reinterpret_cast(&thumbs_up_)) + sizeof(is_test_case_)); +} + +FeedbackRequest_Feedback::~FeedbackRequest_Feedback() { + // @@protoc_insertion_point(destructor:service.FeedbackRequest.Feedback) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void FeedbackRequest_Feedback::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + feedback_text_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void FeedbackRequest_Feedback::ArenaDtor(void* object) { + FeedbackRequest_Feedback* _this = reinterpret_cast< FeedbackRequest_Feedback* >(object); + (void)_this; +} +void FeedbackRequest_Feedback::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void FeedbackRequest_Feedback::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const FeedbackRequest_Feedback& FeedbackRequest_Feedback::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_FeedbackRequest_Feedback_service_2eproto.base); + return *internal_default_instance(); +} + + +void FeedbackRequest_Feedback::Clear() { +// @@protoc_insertion_point(message_clear_start:service.FeedbackRequest.Feedback) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + tags_.Clear(); + feedback_text_.ClearToEmpty(); + ::memset(&thumbs_up_, 0, static_cast( + reinterpret_cast(&is_test_case_) - + reinterpret_cast(&thumbs_up_)) + sizeof(is_test_case_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* FeedbackRequest_Feedback::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // bool thumbs_up = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { + thumbs_up_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string feedback_text = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_feedback_text(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.FeedbackRequest.Feedback.feedback_text")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // repeated string tags = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + ptr -= 1; + do { + ptr += 1; + auto str = _internal_add_tags(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.FeedbackRequest.Feedback.tags")); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr)); + } else goto handle_unusual; + continue; + // bool is_test_case = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) { + is_test_case_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* FeedbackRequest_Feedback::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.FeedbackRequest.Feedback) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // bool thumbs_up = 1; + if (this->thumbs_up() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_thumbs_up(), target); + } + + // string feedback_text = 2; + if (this->feedback_text().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_feedback_text().data(), static_cast(this->_internal_feedback_text().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackRequest.Feedback.feedback_text"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_feedback_text(), target); + } + + // repeated string tags = 3; + for (int i = 0, n = this->_internal_tags_size(); i < n; i++) { + const auto& s = this->_internal_tags(i); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackRequest.Feedback.tags"); + target = stream->WriteString(3, s, target); + } + + // bool is_test_case = 4; + if (this->is_test_case() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_is_test_case(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.FeedbackRequest.Feedback) + return target; +} + +size_t FeedbackRequest_Feedback::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.FeedbackRequest.Feedback) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated string tags = 3; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(tags_.size()); + for (int i = 0, n = tags_.size(); i < n; i++) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + tags_.Get(i)); + } + + // string feedback_text = 2; + if (this->feedback_text().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_feedback_text()); + } + + // bool thumbs_up = 1; + if (this->thumbs_up() != 0) { + total_size += 1 + 1; + } + + // bool is_test_case = 4; + if (this->is_test_case() != 0) { + total_size += 1 + 1; + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void FeedbackRequest_Feedback::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.FeedbackRequest.Feedback) + GOOGLE_DCHECK_NE(&from, this); + const FeedbackRequest_Feedback* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.FeedbackRequest.Feedback) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.FeedbackRequest.Feedback) + MergeFrom(*source); + } +} + +void FeedbackRequest_Feedback::MergeFrom(const FeedbackRequest_Feedback& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.FeedbackRequest.Feedback) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + tags_.MergeFrom(from.tags_); + if (from.feedback_text().size() > 0) { + _internal_set_feedback_text(from._internal_feedback_text()); + } + if (from.thumbs_up() != 0) { + _internal_set_thumbs_up(from._internal_thumbs_up()); + } + if (from.is_test_case() != 0) { + _internal_set_is_test_case(from._internal_is_test_case()); + } +} + +void FeedbackRequest_Feedback::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.FeedbackRequest.Feedback) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void FeedbackRequest_Feedback::CopyFrom(const FeedbackRequest_Feedback& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.FeedbackRequest.Feedback) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool FeedbackRequest_Feedback::IsInitialized() const { + return true; +} + +void FeedbackRequest_Feedback::InternalSwap(FeedbackRequest_Feedback* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + tags_.InternalSwap(&other->tags_); + feedback_text_.Swap(&other->feedback_text_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(FeedbackRequest_Feedback, is_test_case_) + + sizeof(FeedbackRequest_Feedback::is_test_case_) + - PROTOBUF_FIELD_OFFSET(FeedbackRequest_Feedback, thumbs_up_)>( + reinterpret_cast(&thumbs_up_), + reinterpret_cast(&other->thumbs_up_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata FeedbackRequest_Feedback::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class FeedbackRequest::_Internal { + public: + static const ::service::FeedbackRequest_Feedback& text_feedback(const FeedbackRequest* msg); +}; + +const ::service::FeedbackRequest_Feedback& +FeedbackRequest::_Internal::text_feedback(const FeedbackRequest* msg) { + return *msg->text_feedback_; +} +FeedbackRequest::FeedbackRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.FeedbackRequest) +} +FeedbackRequest::FeedbackRequest(const FeedbackRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + interaction_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_interaction_id().empty()) { + interaction_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_interaction_id(), + GetArena()); + } + character_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_character_id().empty()) { + character_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_character_id(), + GetArena()); + } + session_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_session_id().empty()) { + session_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_session_id(), + GetArena()); + } + user_query_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_user_query().empty()) { + user_query_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_user_query(), + GetArena()); + } + response_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_response().empty()) { + response_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_response(), + GetArena()); + } + if (from._internal_has_text_feedback()) { + text_feedback_ = new ::service::FeedbackRequest_Feedback(*from.text_feedback_); + } else { + text_feedback_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:service.FeedbackRequest) +} + +void FeedbackRequest::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_FeedbackRequest_service_2eproto.base); + interaction_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + character_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + session_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + user_query_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + response_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + text_feedback_ = nullptr; +} + +FeedbackRequest::~FeedbackRequest() { + // @@protoc_insertion_point(destructor:service.FeedbackRequest) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void FeedbackRequest::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + interaction_id_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + character_id_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + session_id_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + user_query_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + response_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete text_feedback_; +} + +void FeedbackRequest::ArenaDtor(void* object) { + FeedbackRequest* _this = reinterpret_cast< FeedbackRequest* >(object); + (void)_this; +} +void FeedbackRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void FeedbackRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const FeedbackRequest& FeedbackRequest::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_FeedbackRequest_service_2eproto.base); + return *internal_default_instance(); +} + + +void FeedbackRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:service.FeedbackRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + interaction_id_.ClearToEmpty(); + character_id_.ClearToEmpty(); + session_id_.ClearToEmpty(); + user_query_.ClearToEmpty(); + response_.ClearToEmpty(); + if (GetArena() == nullptr && text_feedback_ != nullptr) { + delete text_feedback_; + } + text_feedback_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* FeedbackRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string interaction_id = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_interaction_id(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.FeedbackRequest.interaction_id")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string character_id = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_character_id(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.FeedbackRequest.character_id")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string session_id = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + auto str = _internal_mutable_session_id(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.FeedbackRequest.session_id")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .service.FeedbackRequest.Feedback text_feedback = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) { + ptr = ctx->ParseMessage(_internal_mutable_text_feedback(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string user_query = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) { + auto str = _internal_mutable_user_query(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.FeedbackRequest.user_query")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string response = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) { + auto str = _internal_mutable_response(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.FeedbackRequest.response")); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* FeedbackRequest::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.FeedbackRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string interaction_id = 1; + if (this->interaction_id().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_interaction_id().data(), static_cast(this->_internal_interaction_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackRequest.interaction_id"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_interaction_id(), target); + } + + // string character_id = 2; + if (this->character_id().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_character_id().data(), static_cast(this->_internal_character_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackRequest.character_id"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_character_id(), target); + } + + // string session_id = 3; + if (this->session_id().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_session_id().data(), static_cast(this->_internal_session_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackRequest.session_id"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_session_id(), target); + } + + // .service.FeedbackRequest.Feedback text_feedback = 5; + if (this->has_text_feedback()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 5, _Internal::text_feedback(this), target, stream); + } + + // string user_query = 6; + if (this->user_query().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_user_query().data(), static_cast(this->_internal_user_query().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackRequest.user_query"); + target = stream->WriteStringMaybeAliased( + 6, this->_internal_user_query(), target); + } + + // string response = 7; + if (this->response().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_response().data(), static_cast(this->_internal_response().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackRequest.response"); + target = stream->WriteStringMaybeAliased( + 7, this->_internal_response(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.FeedbackRequest) + return target; +} + +size_t FeedbackRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.FeedbackRequest) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string interaction_id = 1; + if (this->interaction_id().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_interaction_id()); + } + + // string character_id = 2; + if (this->character_id().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_character_id()); + } + + // string session_id = 3; + if (this->session_id().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_session_id()); + } + + // string user_query = 6; + if (this->user_query().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_user_query()); + } + + // string response = 7; + if (this->response().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_response()); + } + + // .service.FeedbackRequest.Feedback text_feedback = 5; + if (this->has_text_feedback()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *text_feedback_); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void FeedbackRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.FeedbackRequest) + GOOGLE_DCHECK_NE(&from, this); + const FeedbackRequest* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.FeedbackRequest) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.FeedbackRequest) + MergeFrom(*source); + } +} + +void FeedbackRequest::MergeFrom(const FeedbackRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.FeedbackRequest) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.interaction_id().size() > 0) { + _internal_set_interaction_id(from._internal_interaction_id()); + } + if (from.character_id().size() > 0) { + _internal_set_character_id(from._internal_character_id()); + } + if (from.session_id().size() > 0) { + _internal_set_session_id(from._internal_session_id()); + } + if (from.user_query().size() > 0) { + _internal_set_user_query(from._internal_user_query()); + } + if (from.response().size() > 0) { + _internal_set_response(from._internal_response()); + } + if (from.has_text_feedback()) { + _internal_mutable_text_feedback()->::service::FeedbackRequest_Feedback::MergeFrom(from._internal_text_feedback()); + } +} + +void FeedbackRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.FeedbackRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void FeedbackRequest::CopyFrom(const FeedbackRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.FeedbackRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool FeedbackRequest::IsInitialized() const { + return true; +} + +void FeedbackRequest::InternalSwap(FeedbackRequest* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + interaction_id_.Swap(&other->interaction_id_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + character_id_.Swap(&other->character_id_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + session_id_.Swap(&other->session_id_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + user_query_.Swap(&other->user_query_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + response_.Swap(&other->response_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + swap(text_feedback_, other->text_feedback_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata FeedbackRequest::GetMetadata() const { + return GetMetadataStatic(); +} + + +// =================================================================== + +class FeedbackResponse::_Internal { + public: +}; + +FeedbackResponse::FeedbackResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : ::PROTOBUF_NAMESPACE_ID::Message(arena) { + SharedCtor(); + RegisterArenaDtor(arena); + // @@protoc_insertion_point(arena_constructor:service.FeedbackResponse) +} +FeedbackResponse::FeedbackResponse(const FeedbackResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + feedback_response_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_feedback_response().empty()) { + feedback_response_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_feedback_response(), + GetArena()); + } + // @@protoc_insertion_point(copy_constructor:service.FeedbackResponse) +} + +void FeedbackResponse::SharedCtor() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_FeedbackResponse_service_2eproto.base); + feedback_response_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +FeedbackResponse::~FeedbackResponse() { + // @@protoc_insertion_point(destructor:service.FeedbackResponse) + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +void FeedbackResponse::SharedDtor() { + GOOGLE_DCHECK(GetArena() == nullptr); + feedback_response_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void FeedbackResponse::ArenaDtor(void* object) { + FeedbackResponse* _this = reinterpret_cast< FeedbackResponse* >(object); + (void)_this; +} +void FeedbackResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void FeedbackResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const FeedbackResponse& FeedbackResponse::default_instance() { + ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_FeedbackResponse_service_2eproto.base); + return *internal_default_instance(); +} + + +void FeedbackResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.FeedbackResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + feedback_response_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* FeedbackResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + ::PROTOBUF_NAMESPACE_ID::uint32 tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + CHK_(ptr); + switch (tag >> 3) { + // string feedback_response = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_feedback_response(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "service.FeedbackResponse.feedback_response")); + CHK_(ptr); + } else goto handle_unusual; + continue; + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->SetLastTag(tag); + goto success; + } + ptr = UnknownFieldParse(tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + continue; + } + } // switch + } // while +success: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* FeedbackResponse::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.FeedbackResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string feedback_response = 1; + if (this->feedback_response().size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_feedback_response().data(), static_cast(this->_internal_feedback_response().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackResponse.feedback_response"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_feedback_response(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.FeedbackResponse) + return target; +} + +size_t FeedbackResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.FeedbackResponse) + size_t total_size = 0; + + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string feedback_response = 1; + if (this->feedback_response().size() > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_feedback_response()); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize( + _internal_metadata_, total_size, &_cached_size_); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void FeedbackResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:service.FeedbackResponse) + GOOGLE_DCHECK_NE(&from, this); + const FeedbackResponse* source = + ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:service.FeedbackResponse) + ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:service.FeedbackResponse) + MergeFrom(*source); + } +} + +void FeedbackResponse::MergeFrom(const FeedbackResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:service.FeedbackResponse) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.feedback_response().size() > 0) { + _internal_set_feedback_response(from._internal_feedback_response()); + } +} + +void FeedbackResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:service.FeedbackResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void FeedbackResponse::CopyFrom(const FeedbackResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.FeedbackResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool FeedbackResponse::IsInitialized() const { + return true; +} + +void FeedbackResponse::InternalSwap(FeedbackResponse* other) { + using std::swap; + _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_); + feedback_response_.Swap(&other->feedback_response_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} + +::PROTOBUF_NAMESPACE_ID::Metadata FeedbackResponse::GetMetadata() const { + return GetMetadataStatic(); +} + + +// @@protoc_insertion_point(namespace_scope) +} // namespace service +PROTOBUF_NAMESPACE_OPEN +template<> PROTOBUF_NOINLINE ::service::AudioConfig* Arena::CreateMaybeMessage< ::service::AudioConfig >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::AudioConfig >(arena); +} +template<> PROTOBUF_NOINLINE ::service::TriggerConfig* Arena::CreateMaybeMessage< ::service::TriggerConfig >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::TriggerConfig >(arena); +} +template<> PROTOBUF_NOINLINE ::service::ActionConfig_Character* Arena::CreateMaybeMessage< ::service::ActionConfig_Character >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::ActionConfig_Character >(arena); +} +template<> PROTOBUF_NOINLINE ::service::ActionConfig_Object* Arena::CreateMaybeMessage< ::service::ActionConfig_Object >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::ActionConfig_Object >(arena); +} +template<> PROTOBUF_NOINLINE ::service::ActionConfig* Arena::CreateMaybeMessage< ::service::ActionConfig >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::ActionConfig >(arena); +} +template<> PROTOBUF_NOINLINE ::service::STTRequest* Arena::CreateMaybeMessage< ::service::STTRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::STTRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::service::STTResponse* Arena::CreateMaybeMessage< ::service::STTResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::STTResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::DynamicInfoConfig* Arena::CreateMaybeMessage< ::service::DynamicInfoConfig >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::DynamicInfoConfig >(arena); +} +template<> PROTOBUF_NOINLINE ::service::VisionInput_ImageData* Arena::CreateMaybeMessage< ::service::VisionInput_ImageData >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::VisionInput_ImageData >(arena); +} +template<> PROTOBUF_NOINLINE ::service::VisionInput_VideoData* Arena::CreateMaybeMessage< ::service::VisionInput_VideoData >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::VisionInput_VideoData >(arena); +} +template<> PROTOBUF_NOINLINE ::service::VisionInput* Arena::CreateMaybeMessage< ::service::VisionInput >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::VisionInput >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse* Arena::CreateMaybeMessage< ::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseRequest_GetResponseConfig* Arena::CreateMaybeMessage< ::service::GetResponseRequest_GetResponseConfig >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseRequest_GetResponseConfig >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseRequest_GetResponseData* Arena::CreateMaybeMessage< ::service::GetResponseRequest_GetResponseData >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseRequest_GetResponseData >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseRequest* Arena::CreateMaybeMessage< ::service::GetResponseRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseRequestSingle* Arena::CreateMaybeMessage< ::service::GetResponseRequestSingle >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseRequestSingle >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseResponse_AudioResponse* Arena::CreateMaybeMessage< ::service::GetResponseResponse_AudioResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseResponse_AudioResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseResponse_ActionResponse* Arena::CreateMaybeMessage< ::service::GetResponseResponse_ActionResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseResponse_ActionResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseResponse_BehaviorTreeResponse* Arena::CreateMaybeMessage< ::service::GetResponseResponse_BehaviorTreeResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseResponse_BehaviorTreeResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseResponse_UserTranscript* Arena::CreateMaybeMessage< ::service::GetResponseResponse_UserTranscript >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseResponse_UserTranscript >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseResponse* Arena::CreateMaybeMessage< ::service::GetResponseResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::VisemesData* Arena::CreateMaybeMessage< ::service::VisemesData >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::VisemesData >(arena); +} +template<> PROTOBUF_NOINLINE ::service::EmotionResponse* Arena::CreateMaybeMessage< ::service::EmotionResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::EmotionResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::Viseme* Arena::CreateMaybeMessage< ::service::Viseme >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::Viseme >(arena); +} +template<> PROTOBUF_NOINLINE ::service::BlendShapesData* Arena::CreateMaybeMessage< ::service::BlendShapesData >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::BlendShapesData >(arena); +} +template<> PROTOBUF_NOINLINE ::service::HelloRequest* Arena::CreateMaybeMessage< ::service::HelloRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::HelloRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::service::HelloResponse* Arena::CreateMaybeMessage< ::service::HelloResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::HelloResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::FeedbackRequest_Feedback* Arena::CreateMaybeMessage< ::service::FeedbackRequest_Feedback >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::FeedbackRequest_Feedback >(arena); +} +template<> PROTOBUF_NOINLINE ::service::FeedbackRequest* Arena::CreateMaybeMessage< ::service::FeedbackRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::FeedbackRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::service::FeedbackResponse* Arena::CreateMaybeMessage< ::service::FeedbackResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::FeedbackResponse >(arena); +} +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) +#include +#else +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: service.proto + +#include "service.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) +#include + +PROTOBUF_PRAGMA_INIT_SEG + +namespace _pb = ::PROTOBUF_NAMESPACE_ID; +namespace _pbi = _pb::internal; + +namespace service { +PROTOBUF_CONSTEXPR AudioConfig::AudioConfig( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.sample_rate_hertz_)*/0 + , /*decltype(_impl_.disable_audio_)*/false + , /*decltype(_impl_.enable_facial_data_)*/false + , /*decltype(_impl_.enable_facial_emotion_data_)*/false + , /*decltype(_impl_.face_model_)*/0 + , /*decltype(_impl_._cached_size_)*/{}} {} +struct AudioConfigDefaultTypeInternal { + PROTOBUF_CONSTEXPR AudioConfigDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~AudioConfigDefaultTypeInternal() {} + union { + AudioConfig _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AudioConfigDefaultTypeInternal _AudioConfig_default_instance_; +PROTOBUF_CONSTEXPR TriggerConfig::TriggerConfig( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.trigger_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.trigger_message_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct TriggerConfigDefaultTypeInternal { + PROTOBUF_CONSTEXPR TriggerConfigDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~TriggerConfigDefaultTypeInternal() {} + union { + TriggerConfig _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TriggerConfigDefaultTypeInternal _TriggerConfig_default_instance_; +PROTOBUF_CONSTEXPR ActionConfig_Character::ActionConfig_Character( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.bio_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct ActionConfig_CharacterDefaultTypeInternal { + PROTOBUF_CONSTEXPR ActionConfig_CharacterDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ActionConfig_CharacterDefaultTypeInternal() {} + union { + ActionConfig_Character _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ActionConfig_CharacterDefaultTypeInternal _ActionConfig_Character_default_instance_; +PROTOBUF_CONSTEXPR ActionConfig_Object::ActionConfig_Object( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.description_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct ActionConfig_ObjectDefaultTypeInternal { + PROTOBUF_CONSTEXPR ActionConfig_ObjectDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ActionConfig_ObjectDefaultTypeInternal() {} + union { + ActionConfig_Object _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ActionConfig_ObjectDefaultTypeInternal _ActionConfig_Object_default_instance_; +PROTOBUF_CONSTEXPR ActionConfig::ActionConfig( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.actions_)*/{} + , /*decltype(_impl_.characters_)*/{} + , /*decltype(_impl_.objects_)*/{} + , /*decltype(_impl_.classification_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.current_attention_object_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.context_level_)*/0 + , /*decltype(_impl_._cached_size_)*/{}} {} +struct ActionConfigDefaultTypeInternal { + PROTOBUF_CONSTEXPR ActionConfigDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ActionConfigDefaultTypeInternal() {} + union { + ActionConfig _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ActionConfigDefaultTypeInternal _ActionConfig_default_instance_; +PROTOBUF_CONSTEXPR STTRequest::STTRequest( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.request_type_)*/{} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}} {} +struct STTRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR STTRequestDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~STTRequestDefaultTypeInternal() {} + union { + STTRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 STTRequestDefaultTypeInternal _STTRequest_default_instance_; +PROTOBUF_CONSTEXPR STTResponse::STTResponse( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.text_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct STTResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR STTResponseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~STTResponseDefaultTypeInternal() {} + union { + STTResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 STTResponseDefaultTypeInternal _STTResponse_default_instance_; +PROTOBUF_CONSTEXPR DynamicInfoConfig::DynamicInfoConfig( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.text_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct DynamicInfoConfigDefaultTypeInternal { + PROTOBUF_CONSTEXPR DynamicInfoConfigDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~DynamicInfoConfigDefaultTypeInternal() {} + union { + DynamicInfoConfig _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DynamicInfoConfigDefaultTypeInternal _DynamicInfoConfig_default_instance_; +PROTOBUF_CONSTEXPR VisionInput_ImageData::VisionInput_ImageData( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.data_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.width_)*/0 + , /*decltype(_impl_.height_)*/0 + , /*decltype(_impl_._cached_size_)*/{}} {} +struct VisionInput_ImageDataDefaultTypeInternal { + PROTOBUF_CONSTEXPR VisionInput_ImageDataDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~VisionInput_ImageDataDefaultTypeInternal() {} + union { + VisionInput_ImageData _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VisionInput_ImageDataDefaultTypeInternal _VisionInput_ImageData_default_instance_; +PROTOBUF_CONSTEXPR VisionInput_VideoData::VisionInput_VideoData( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.data_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.fps_)*/0 + , /*decltype(_impl_.width_)*/0 + , /*decltype(_impl_.height_)*/0 + , /*decltype(_impl_._cached_size_)*/{}} {} +struct VisionInput_VideoDataDefaultTypeInternal { + PROTOBUF_CONSTEXPR VisionInput_VideoDataDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~VisionInput_VideoDataDefaultTypeInternal() {} + union { + VisionInput_VideoData _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VisionInput_VideoDataDefaultTypeInternal _VisionInput_VideoData_default_instance_; +PROTOBUF_CONSTEXPR VisionInput::VisionInput( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.vision_data_)*/{} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}} {} +struct VisionInputDefaultTypeInternal { + PROTOBUF_CONSTEXPR VisionInputDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~VisionInputDefaultTypeInternal() {} + union { + VisionInput _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VisionInputDefaultTypeInternal _VisionInput_default_instance_; +PROTOBUF_CONSTEXPR GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse( + ::_pbi::ConstantInitialized) {} +struct GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUseDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUseDefaultTypeInternal() {} + union { + GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUseDefaultTypeInternal _GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse_default_instance_; +PROTOBUF_CONSTEXPR GetResponseRequest_GetResponseConfig::GetResponseRequest_GetResponseConfig( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.narrative_template_keys_)*/{::_pbi::ConstantInitialized()} + , /*decltype(_impl_.character_id_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.api_key_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.session_id_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.speaker_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.language_code_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.speaker_id_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.api_auth_token_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.audio_config_)*/nullptr + , /*decltype(_impl_.action_config_)*/nullptr + , /*decltype(_impl_.dynamic_info_config_)*/nullptr + , /*decltype(_impl_.vision_input_)*/nullptr + , /*decltype(_impl_._cached_size_)*/{}} {} +struct GetResponseRequest_GetResponseConfigDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetResponseRequest_GetResponseConfigDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetResponseRequest_GetResponseConfigDefaultTypeInternal() {} + union { + GetResponseRequest_GetResponseConfig _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetResponseRequest_GetResponseConfigDefaultTypeInternal _GetResponseRequest_GetResponseConfig_default_instance_; +PROTOBUF_CONSTEXPR GetResponseRequest_GetResponseData::GetResponseRequest_GetResponseData( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.input_type_)*/{} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}} {} +struct GetResponseRequest_GetResponseDataDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetResponseRequest_GetResponseDataDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetResponseRequest_GetResponseDataDefaultTypeInternal() {} + union { + GetResponseRequest_GetResponseData _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetResponseRequest_GetResponseDataDefaultTypeInternal _GetResponseRequest_GetResponseData_default_instance_; +PROTOBUF_CONSTEXPR GetResponseRequest::GetResponseRequest( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.request_type_)*/{} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}} {} +struct GetResponseRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetResponseRequestDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetResponseRequestDefaultTypeInternal() {} + union { + GetResponseRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetResponseRequestDefaultTypeInternal _GetResponseRequest_default_instance_; +PROTOBUF_CONSTEXPR GetResponseRequestSingle::GetResponseRequestSingle( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.response_config_)*/nullptr + , /*decltype(_impl_.response_data_)*/nullptr + , /*decltype(_impl_._cached_size_)*/{}} {} +struct GetResponseRequestSingleDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetResponseRequestSingleDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetResponseRequestSingleDefaultTypeInternal() {} + union { + GetResponseRequestSingle _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetResponseRequestSingleDefaultTypeInternal _GetResponseRequestSingle_default_instance_; +PROTOBUF_CONSTEXPR GetResponseResponse_AudioResponse::GetResponseResponse_AudioResponse( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.audio_data_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.text_data_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.face_data_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.audio_config_)*/nullptr + , /*decltype(_impl_.face_emotion_)*/nullptr + , /*decltype(_impl_.emotion_response_)*/nullptr + , /*decltype(_impl_.end_of_response_)*/false + , /*decltype(_impl_.face_data_type_)*/{} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}} {} +struct GetResponseResponse_AudioResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetResponseResponse_AudioResponseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetResponseResponse_AudioResponseDefaultTypeInternal() {} + union { + GetResponseResponse_AudioResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetResponseResponse_AudioResponseDefaultTypeInternal _GetResponseResponse_AudioResponse_default_instance_; +PROTOBUF_CONSTEXPR GetResponseResponse_ActionResponse::GetResponseResponse_ActionResponse( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.action_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct GetResponseResponse_ActionResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetResponseResponse_ActionResponseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetResponseResponse_ActionResponseDefaultTypeInternal() {} + union { + GetResponseResponse_ActionResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetResponseResponse_ActionResponseDefaultTypeInternal _GetResponseResponse_ActionResponse_default_instance_; +PROTOBUF_CONSTEXPR GetResponseResponse_BehaviorTreeResponse::GetResponseResponse_BehaviorTreeResponse( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.bt_code_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.bt_constants_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.narrative_section_id_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct GetResponseResponse_BehaviorTreeResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetResponseResponse_BehaviorTreeResponseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetResponseResponse_BehaviorTreeResponseDefaultTypeInternal() {} + union { + GetResponseResponse_BehaviorTreeResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetResponseResponse_BehaviorTreeResponseDefaultTypeInternal _GetResponseResponse_BehaviorTreeResponse_default_instance_; +PROTOBUF_CONSTEXPR GetResponseResponse_UserTranscript::GetResponseResponse_UserTranscript( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.text_data_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.is_final_)*/false + , /*decltype(_impl_.end_of_response_)*/false + , /*decltype(_impl_._cached_size_)*/{}} {} +struct GetResponseResponse_UserTranscriptDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetResponseResponse_UserTranscriptDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetResponseResponse_UserTranscriptDefaultTypeInternal() {} + union { + GetResponseResponse_UserTranscript _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetResponseResponse_UserTranscriptDefaultTypeInternal _GetResponseResponse_UserTranscript_default_instance_; +PROTOBUF_CONSTEXPR GetResponseResponse::GetResponseResponse( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.session_id_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.response_type_)*/{} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}} {} +struct GetResponseResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetResponseResponseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetResponseResponseDefaultTypeInternal() {} + union { + GetResponseResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetResponseResponseDefaultTypeInternal _GetResponseResponse_default_instance_; +PROTOBUF_CONSTEXPR VisemesData::VisemesData( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.visemes_)*/nullptr + , /*decltype(_impl_._cached_size_)*/{}} {} +struct VisemesDataDefaultTypeInternal { + PROTOBUF_CONSTEXPR VisemesDataDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~VisemesDataDefaultTypeInternal() {} + union { + VisemesData _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VisemesDataDefaultTypeInternal _VisemesData_default_instance_; +PROTOBUF_CONSTEXPR EmotionResponse::EmotionResponse( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.emotion_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.scale_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct EmotionResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR EmotionResponseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~EmotionResponseDefaultTypeInternal() {} + union { + EmotionResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EmotionResponseDefaultTypeInternal _EmotionResponse_default_instance_; +PROTOBUF_CONSTEXPR Viseme::Viseme( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.sil_)*/0 + , /*decltype(_impl_.pp_)*/0 + , /*decltype(_impl_.ff_)*/0 + , /*decltype(_impl_.th_)*/0 + , /*decltype(_impl_.dd_)*/0 + , /*decltype(_impl_.kk_)*/0 + , /*decltype(_impl_.ch_)*/0 + , /*decltype(_impl_.ss_)*/0 + , /*decltype(_impl_.nn_)*/0 + , /*decltype(_impl_.rr_)*/0 + , /*decltype(_impl_.aa_)*/0 + , /*decltype(_impl_.e_)*/0 + , /*decltype(_impl_.ih_)*/0 + , /*decltype(_impl_.oh_)*/0 + , /*decltype(_impl_.ou_)*/0 + , /*decltype(_impl_._cached_size_)*/{}} {} +struct VisemeDefaultTypeInternal { + PROTOBUF_CONSTEXPR VisemeDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~VisemeDefaultTypeInternal() {} + union { + Viseme _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VisemeDefaultTypeInternal _Viseme_default_instance_; +PROTOBUF_CONSTEXPR BlendShapesData::BlendShapesData( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.blendshape_data_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct BlendShapesDataDefaultTypeInternal { + PROTOBUF_CONSTEXPR BlendShapesDataDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~BlendShapesDataDefaultTypeInternal() {} + union { + BlendShapesData _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BlendShapesDataDefaultTypeInternal _BlendShapesData_default_instance_; +PROTOBUF_CONSTEXPR HelloRequest::HelloRequest( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct HelloRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR HelloRequestDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~HelloRequestDefaultTypeInternal() {} + union { + HelloRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 HelloRequestDefaultTypeInternal _HelloRequest_default_instance_; +PROTOBUF_CONSTEXPR HelloResponse::HelloResponse( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.message_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct HelloResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR HelloResponseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~HelloResponseDefaultTypeInternal() {} + union { + HelloResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 HelloResponseDefaultTypeInternal _HelloResponse_default_instance_; +PROTOBUF_CONSTEXPR FeedbackRequest_Feedback::FeedbackRequest_Feedback( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.tags_)*/{} + , /*decltype(_impl_.feedback_text_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.thumbs_up_)*/false + , /*decltype(_impl_.is_test_case_)*/false + , /*decltype(_impl_._cached_size_)*/{}} {} +struct FeedbackRequest_FeedbackDefaultTypeInternal { + PROTOBUF_CONSTEXPR FeedbackRequest_FeedbackDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~FeedbackRequest_FeedbackDefaultTypeInternal() {} + union { + FeedbackRequest_Feedback _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FeedbackRequest_FeedbackDefaultTypeInternal _FeedbackRequest_Feedback_default_instance_; +PROTOBUF_CONSTEXPR FeedbackRequest::FeedbackRequest( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.interaction_id_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.character_id_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.session_id_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.user_query_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.response_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.text_feedback_)*/nullptr + , /*decltype(_impl_._cached_size_)*/{}} {} +struct FeedbackRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR FeedbackRequestDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~FeedbackRequestDefaultTypeInternal() {} + union { + FeedbackRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FeedbackRequestDefaultTypeInternal _FeedbackRequest_default_instance_; +PROTOBUF_CONSTEXPR FeedbackResponse::FeedbackResponse( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.feedback_response_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_._cached_size_)*/{}} {} +struct FeedbackResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR FeedbackResponseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~FeedbackResponseDefaultTypeInternal() {} + union { + FeedbackResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FeedbackResponseDefaultTypeInternal _FeedbackResponse_default_instance_; +} // namespace service +static ::_pb::Metadata file_level_metadata_service_2eproto[30]; +static const ::_pb::EnumDescriptor* file_level_enum_descriptors_service_2eproto[1]; +static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_service_2eproto = nullptr; + +const uint32_t TableStruct_service_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::AudioConfig, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::AudioConfig, _impl_.sample_rate_hertz_), + PROTOBUF_FIELD_OFFSET(::service::AudioConfig, _impl_.disable_audio_), + PROTOBUF_FIELD_OFFSET(::service::AudioConfig, _impl_.enable_facial_data_), + PROTOBUF_FIELD_OFFSET(::service::AudioConfig, _impl_.face_model_), + PROTOBUF_FIELD_OFFSET(::service::AudioConfig, _impl_.enable_facial_emotion_data_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::TriggerConfig, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::TriggerConfig, _impl_.trigger_name_), + PROTOBUF_FIELD_OFFSET(::service::TriggerConfig, _impl_.trigger_message_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::ActionConfig_Character, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::ActionConfig_Character, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::service::ActionConfig_Character, _impl_.bio_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::ActionConfig_Object, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::ActionConfig_Object, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::service::ActionConfig_Object, _impl_.description_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::ActionConfig, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::ActionConfig, _impl_.actions_), + PROTOBUF_FIELD_OFFSET(::service::ActionConfig, _impl_.characters_), + PROTOBUF_FIELD_OFFSET(::service::ActionConfig, _impl_.objects_), + PROTOBUF_FIELD_OFFSET(::service::ActionConfig, _impl_.classification_), + PROTOBUF_FIELD_OFFSET(::service::ActionConfig, _impl_.context_level_), + PROTOBUF_FIELD_OFFSET(::service::ActionConfig, _impl_.current_attention_object_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::STTRequest, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service::STTRequest, _impl_._oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service::STTRequest, _impl_.request_type_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::STTResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::STTResponse, _impl_.text_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::DynamicInfoConfig, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::DynamicInfoConfig, _impl_.text_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::VisionInput_ImageData, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::VisionInput_ImageData, _impl_.width_), + PROTOBUF_FIELD_OFFSET(::service::VisionInput_ImageData, _impl_.height_), + PROTOBUF_FIELD_OFFSET(::service::VisionInput_ImageData, _impl_.data_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::VisionInput_VideoData, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::VisionInput_VideoData, _impl_.fps_), + PROTOBUF_FIELD_OFFSET(::service::VisionInput_VideoData, _impl_.width_), + PROTOBUF_FIELD_OFFSET(::service::VisionInput_VideoData, _impl_.height_), + PROTOBUF_FIELD_OFFSET(::service::VisionInput_VideoData, _impl_.data_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::VisionInput, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service::VisionInput, _impl_._oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service::VisionInput, _impl_.vision_data_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse, key_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse, value_), + 0, + 1, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, _impl_.character_id_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, _impl_.api_key_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, _impl_.session_id_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, _impl_.audio_config_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, _impl_.action_config_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, _impl_.speaker_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, _impl_.language_code_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, _impl_.speaker_id_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, _impl_.api_auth_token_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, _impl_.narrative_template_keys_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, _impl_.dynamic_info_config_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseConfig, _impl_.vision_input_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseData, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseData, _impl_._oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest_GetResponseData, _impl_.input_type_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest, _impl_._oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequest, _impl_.request_type_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequestSingle, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequestSingle, _impl_.response_config_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseRequestSingle, _impl_.response_data_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, _impl_._oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, _impl_.audio_data_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, _impl_.audio_config_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, _impl_.text_data_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, _impl_.end_of_response_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, _impl_.face_data_), + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, _impl_.face_emotion_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, _impl_.emotion_response_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_AudioResponse, _impl_.face_data_type_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_ActionResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_ActionResponse, _impl_.action_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_BehaviorTreeResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_BehaviorTreeResponse, _impl_.bt_code_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_BehaviorTreeResponse, _impl_.bt_constants_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_BehaviorTreeResponse, _impl_.narrative_section_id_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_UserTranscript, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_UserTranscript, _impl_.text_data_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_UserTranscript, _impl_.is_final_), + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse_UserTranscript, _impl_.end_of_response_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse, _impl_._oneof_case_[0]), + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse, _impl_.session_id_), + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::service::GetResponseResponse, _impl_.response_type_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::VisemesData, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::VisemesData, _impl_.visemes_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::EmotionResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::EmotionResponse, _impl_.emotion_), + PROTOBUF_FIELD_OFFSET(::service::EmotionResponse, _impl_.scale_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::Viseme, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::Viseme, _impl_.sil_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, _impl_.pp_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, _impl_.ff_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, _impl_.th_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, _impl_.dd_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, _impl_.kk_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, _impl_.ch_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, _impl_.ss_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, _impl_.nn_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, _impl_.rr_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, _impl_.aa_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, _impl_.e_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, _impl_.ih_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, _impl_.oh_), + PROTOBUF_FIELD_OFFSET(::service::Viseme, _impl_.ou_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::BlendShapesData, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::BlendShapesData, _impl_.blendshape_data_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::HelloRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::HelloRequest, _impl_.name_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::HelloResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::HelloResponse, _impl_.message_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest_Feedback, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest_Feedback, _impl_.thumbs_up_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest_Feedback, _impl_.feedback_text_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest_Feedback, _impl_.tags_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest_Feedback, _impl_.is_test_case_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest, _impl_.interaction_id_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest, _impl_.character_id_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest, _impl_.session_id_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest, _impl_.text_feedback_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest, _impl_.user_query_), + PROTOBUF_FIELD_OFFSET(::service::FeedbackRequest, _impl_.response_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::service::FeedbackResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::service::FeedbackResponse, _impl_.feedback_response_), +}; +static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + { 0, -1, -1, sizeof(::service::AudioConfig)}, + { 11, -1, -1, sizeof(::service::TriggerConfig)}, + { 19, -1, -1, sizeof(::service::ActionConfig_Character)}, + { 27, -1, -1, sizeof(::service::ActionConfig_Object)}, + { 35, -1, -1, sizeof(::service::ActionConfig)}, + { 47, -1, -1, sizeof(::service::STTRequest)}, + { 56, -1, -1, sizeof(::service::STTResponse)}, + { 63, -1, -1, sizeof(::service::DynamicInfoConfig)}, + { 70, -1, -1, sizeof(::service::VisionInput_ImageData)}, + { 79, -1, -1, sizeof(::service::VisionInput_VideoData)}, + { 89, -1, -1, sizeof(::service::VisionInput)}, + { 98, 106, -1, sizeof(::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse)}, + { 108, -1, -1, sizeof(::service::GetResponseRequest_GetResponseConfig)}, + { 126, -1, -1, sizeof(::service::GetResponseRequest_GetResponseData)}, + { 136, -1, -1, sizeof(::service::GetResponseRequest)}, + { 145, -1, -1, sizeof(::service::GetResponseRequestSingle)}, + { 153, -1, -1, sizeof(::service::GetResponseResponse_AudioResponse)}, + { 169, -1, -1, sizeof(::service::GetResponseResponse_ActionResponse)}, + { 176, -1, -1, sizeof(::service::GetResponseResponse_BehaviorTreeResponse)}, + { 185, -1, -1, sizeof(::service::GetResponseResponse_UserTranscript)}, + { 194, -1, -1, sizeof(::service::GetResponseResponse)}, + { 209, -1, -1, sizeof(::service::VisemesData)}, + { 216, -1, -1, sizeof(::service::EmotionResponse)}, + { 224, -1, -1, sizeof(::service::Viseme)}, + { 245, -1, -1, sizeof(::service::BlendShapesData)}, + { 252, -1, -1, sizeof(::service::HelloRequest)}, + { 259, -1, -1, sizeof(::service::HelloResponse)}, + { 266, -1, -1, sizeof(::service::FeedbackRequest_Feedback)}, + { 276, -1, -1, sizeof(::service::FeedbackRequest)}, + { 288, -1, -1, sizeof(::service::FeedbackResponse)}, +}; + +static const ::_pb::Message* const file_default_instances[] = { + &::service::_AudioConfig_default_instance_._instance, + &::service::_TriggerConfig_default_instance_._instance, + &::service::_ActionConfig_Character_default_instance_._instance, + &::service::_ActionConfig_Object_default_instance_._instance, + &::service::_ActionConfig_default_instance_._instance, + &::service::_STTRequest_default_instance_._instance, + &::service::_STTResponse_default_instance_._instance, + &::service::_DynamicInfoConfig_default_instance_._instance, + &::service::_VisionInput_ImageData_default_instance_._instance, + &::service::_VisionInput_VideoData_default_instance_._instance, + &::service::_VisionInput_default_instance_._instance, + &::service::_GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse_default_instance_._instance, + &::service::_GetResponseRequest_GetResponseConfig_default_instance_._instance, + &::service::_GetResponseRequest_GetResponseData_default_instance_._instance, + &::service::_GetResponseRequest_default_instance_._instance, + &::service::_GetResponseRequestSingle_default_instance_._instance, + &::service::_GetResponseResponse_AudioResponse_default_instance_._instance, + &::service::_GetResponseResponse_ActionResponse_default_instance_._instance, + &::service::_GetResponseResponse_BehaviorTreeResponse_default_instance_._instance, + &::service::_GetResponseResponse_UserTranscript_default_instance_._instance, + &::service::_GetResponseResponse_default_instance_._instance, + &::service::_VisemesData_default_instance_._instance, + &::service::_EmotionResponse_default_instance_._instance, + &::service::_Viseme_default_instance_._instance, + &::service::_BlendShapesData_default_instance_._instance, + &::service::_HelloRequest_default_instance_._instance, + &::service::_HelloResponse_default_instance_._instance, + &::service::_FeedbackRequest_Feedback_default_instance_._instance, + &::service::_FeedbackRequest_default_instance_._instance, + &::service::_FeedbackResponse_default_instance_._instance, +}; + +const char descriptor_table_protodef_service_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = + "\n\rservice.proto\022\007service\032\030arkit_blend_sh" + "apes.proto\"\247\001\n\013AudioConfig\022\031\n\021sample_rat" + "e_hertz\030\001 \001(\005\022\025\n\rdisable_audio\030\002 \001(\010\022\032\n\022" + "enable_facial_data\030\003 \001(\010\022&\n\nface_model\030\004" + " \001(\0162\022.service.FaceModel\022\"\n\032enable_facia" + "l_emotion_data\030\005 \001(\010\">\n\rTriggerConfig\022\024\n" + "\014trigger_name\030\001 \001(\t\022\027\n\017trigger_message\030\002" + " \001(\t\"\251\002\n\014ActionConfig\022\017\n\007actions\030\001 \003(\t\0223" + "\n\ncharacters\030\002 \003(\0132\037.service.ActionConfi" + "g.Character\022-\n\007objects\030\003 \003(\0132\034.service.A" + "ctionConfig.Object\022\026\n\016classification\030\004 \001" + "(\t\022\025\n\rcontext_level\030\005 \001(\005\022 \n\030current_att" + "ention_object\030\006 \001(\t\032&\n\tCharacter\022\014\n\004name" + "\030\001 \001(\t\022\013\n\003bio\030\002 \001(\t\032+\n\006Object\022\014\n\004name\030\001 " + "\001(\t\022\023\n\013description\030\002 \001(\t\"a\n\nSTTRequest\022," + "\n\014audio_config\030\001 \001(\0132\024.service.AudioConf" + "igH\000\022\025\n\013audio_chunk\030\002 \001(\014H\000B\016\n\014request_t" + "ype\"\033\n\013STTResponse\022\014\n\004text\030\001 \001(\t\"!\n\021Dyna" + "micInfoConfig\022\014\n\004text\030\001 \001(\t\"\211\002\n\013VisionIn" + "put\0224\n\nimage_data\030\001 \001(\0132\036.service.Vision" + "Input.ImageDataH\000\0224\n\nvideo_data\030\002 \001(\0132\036." + "service.VisionInput.VideoDataH\000\0328\n\tImage" + "Data\022\r\n\005width\030\001 \001(\005\022\016\n\006height\030\002 \001(\005\022\014\n\004d" + "ata\030\003 \001(\014\032E\n\tVideoData\022\013\n\003fps\030\001 \001(\005\022\r\n\005w" + "idth\030\002 \001(\005\022\016\n\006height\030\003 \001(\005\022\014\n\004data\030\004 \001(\014" + "B\r\n\013vision_data\"\305\006\n\022GetResponseRequest\022L" + "\n\023get_response_config\030\001 \001(\0132-.service.Ge" + "tResponseRequest.GetResponseConfigH\000\022H\n\021" + "get_response_data\030\002 \001(\0132+.service.GetRes" + "ponseRequest.GetResponseDataH\000\032\212\004\n\021GetRe" + "sponseConfig\022\024\n\014character_id\030\002 \001(\t\022\017\n\007ap" + "i_key\030\003 \001(\t\022\022\n\nsession_id\030\004 \001(\t\022*\n\014audio" + "_config\030\005 \001(\0132\024.service.AudioConfig\022,\n\ra" + "ction_config\030\006 \001(\0132\025.service.ActionConfi" + "g\022\017\n\007speaker\030\007 \001(\t\022\025\n\rlanguage_code\030\010 \001(" + "\t\022\022\n\nspeaker_id\030\t \001(\t\022\026\n\016api_auth_token\030" + "\n \001(\t\022i\n\027narrative_template_keys\030\013 \003(\0132H" + ".service.GetResponseRequest.GetResponseC" + "onfig.NarrativeTemplateKeysEntry\0227\n\023dyna" + "mic_info_config\030\014 \001(\0132\032.service.DynamicI" + "nfoConfig\022*\n\014vision_input\030\r \001(\0132\024.servic" + "e.VisionInput\032<\n\032NarrativeTemplateKeysEn" + "try\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\032z\n\017G" + "etResponseData\022\024\n\naudio_data\030\001 \001(\014H\000\022\023\n\t" + "text_data\030\002 \001(\tH\000\022.\n\014trigger_data\030\003 \001(\0132" + "\026.service.TriggerConfigH\000B\014\n\ninput_typeB" + "\016\n\014request_type\"\204\001\n\030GetResponseRequestSi" + "ngle\0224\n\017response_config\030\001 \001(\0132\033.service." + "GetResponseRequest\0222\n\rresponse_data\030\002 \001(" + "\0132\033.service.GetResponseRequest\"\337\007\n\023GetRe" + "sponseResponse\022\022\n\nsession_id\030\001 \001(\t\022F\n\017ac" + "tion_response\030\002 \001(\0132+.service.GetRespons" + "eResponse.ActionResponseH\000\022D\n\016audio_resp" + "onse\030\003 \001(\0132*.service.GetResponseResponse" + ".AudioResponseH\000\022\023\n\tdebug_log\030\004 \001(\tH\000\022A\n" + "\nuser_query\030\005 \001(\0132+.service.GetResponseR" + "esponse.UserTranscriptH\000\022H\n\013bt_response\030" + "\006 \001(\01321.service.GetResponseResponse.Beha" + "viorTreeResponseH\000\022\032\n\020emotion_response\030\007" + " \001(\tH\000\022\030\n\016interaction_id\030\010 \001(\tH\000\032\355\002\n\rAud" + "ioResponse\022\022\n\naudio_data\030\001 \001(\014\022*\n\014audio_" + "config\030\002 \001(\0132\024.service.AudioConfig\022\021\n\tte" + "xt_data\030\003 \001(\t\022\027\n\017end_of_response\030\004 \001(\010\022\021" + "\n\tface_data\030\005 \001(\t\022,\n\014visemes_data\030\006 \001(\0132" + "\024.service.VisemesDataH\000\0224\n\020blendshapes_d" + "ata\030\007 \001(\0132\030.service.BlendShapesDataH\000\0223\n" + "\014face_emotion\030\010 \001(\0132\035.service.ARKitBlend" + "ShapesData\0222\n\020emotion_response\030\t \001(\0132\030.s" + "ervice.EmotionResponseB\020\n\016face_data_type" + "\032 \n\016ActionResponse\022\016\n\006action\030\001 \001(\t\032[\n\024Be" + "haviorTreeResponse\022\017\n\007bt_code\030\001 \001(\t\022\024\n\014b" + "t_constants\030\002 \001(\t\022\034\n\024narrative_section_i" + "d\030\003 \001(\t\032N\n\016UserTranscript\022\021\n\ttext_data\030\001" + " \001(\t\022\020\n\010is_final\030\002 \001(\010\022\027\n\017end_of_respons" + "e\030\003 \001(\010B\017\n\rresponse_type\"/\n\013VisemesData\022" + " \n\007visemes\030\001 \001(\0132\017.service.Viseme\"1\n\017Emo" + "tionResponse\022\017\n\007emotion\030\001 \001(\t\022\r\n\005scale\030\002" + " \001(\t\"\274\001\n\006Viseme\022\013\n\003sil\030\001 \001(\002\022\n\n\002pp\030\002 \001(\002" + "\022\n\n\002ff\030\003 \001(\002\022\n\n\002th\030\004 \001(\002\022\n\n\002dd\030\005 \001(\002\022\n\n\002" + "kk\030\006 \001(\002\022\n\n\002ch\030\007 \001(\002\022\n\n\002ss\030\010 \001(\002\022\n\n\002nn\030\t" + " \001(\002\022\n\n\002rr\030\n \001(\002\022\n\n\002aa\030\013 \001(\002\022\t\n\001e\030\014 \001(\002\022" + "\n\n\002ih\030\r \001(\002\022\n\n\002oh\030\016 \001(\002\022\n\n\002ou\030\017 \001(\002\"*\n\017B" + "lendShapesData\022\027\n\017blendshape_data\030\001 \001(\t\"" + "\034\n\014HelloRequest\022\014\n\004name\030\001 \001(\t\" \n\rHelloRe" + "sponse\022\017\n\007message\030\001 \001(\t\"\215\002\n\017FeedbackRequ" + "est\022\026\n\016interaction_id\030\001 \001(\t\022\024\n\014character" + "_id\030\002 \001(\t\022\022\n\nsession_id\030\003 \001(\t\0228\n\rtext_fe" + "edback\030\005 \001(\0132!.service.FeedbackRequest.F" + "eedback\022\022\n\nuser_query\030\006 \001(\t\022\020\n\010response\030" + "\007 \001(\t\032X\n\010Feedback\022\021\n\tthumbs_up\030\001 \001(\010\022\025\n\r" + "feedback_text\030\002 \001(\t\022\014\n\004tags\030\003 \003(\t\022\024\n\014is_" + "test_case\030\004 \001(\010\"-\n\020FeedbackResponse\022\031\n\021f" + "eedback_response\030\001 \001(\t*\212\001\n\tFaceModel\022\032\n\026" + "FACE_MODEL_UNSPECIFIED\020\000\022\036\n\032FACE_MODEL_A" + "_2F_MODEL_NAME\020\001\022\"\n\036FACE_MODEL_PHONEMES_" + "MODEL_NAME\020\002\022\035\n\031FACE_MODEL_OVR_MODEL_NAM" + "E\020\0032\301\003\n\rConvaiService\0228\n\005Hello\022\025.service" + ".HelloRequest\032\026.service.HelloResponse\"\000\022" + "B\n\013HelloStream\022\025.service.HelloRequest\032\026." + "service.HelloResponse\"\000(\0010\001\022\?\n\014SpeechToT" + "ext\022\023.service.STTRequest\032\024.service.STTRe" + "sponse\"\000(\0010\001\022N\n\013GetResponse\022\033.service.Ge" + "tResponseRequest\032\034.service.GetResponseRe" + "sponse\"\000(\0010\001\022X\n\021GetResponseSingle\022!.serv" + "ice.GetResponseRequestSingle\032\034.service.G" + "etResponseResponse\"\0000\001\022G\n\016SubmitFeedback" + "\022\030.service.FeedbackRequest\032\031.service.Fee" + "dbackResponse\"\000B\017Z\rproto/serviceb\006proto3" + ; +static const ::_pbi::DescriptorTable* const descriptor_table_service_2eproto_deps[1] = { + &::descriptor_table_arkit_5fblend_5fshapes_2eproto, +}; +static ::_pbi::once_flag descriptor_table_service_2eproto_once; +const ::_pbi::DescriptorTable descriptor_table_service_2eproto = { + false, false, 4320, descriptor_table_protodef_service_2eproto, + "service.proto", + &descriptor_table_service_2eproto_once, descriptor_table_service_2eproto_deps, 1, 30, + schemas, file_default_instances, TableStruct_service_2eproto::offsets, + file_level_metadata_service_2eproto, file_level_enum_descriptors_service_2eproto, + file_level_service_descriptors_service_2eproto, +}; +PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_service_2eproto_getter() { + return &descriptor_table_service_2eproto; +} + +// Force running AddDescriptors() at dynamic initialization time. +PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_service_2eproto(&descriptor_table_service_2eproto); +namespace service { +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FaceModel_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_service_2eproto); + return file_level_enum_descriptors_service_2eproto[0]; +} +bool FaceModel_IsValid(int value) { + switch (value) { + case 0: + case 1: + case 2: + case 3: + return true; + default: + return false; + } +} + + +// =================================================================== + +class AudioConfig::_Internal { + public: +}; + +AudioConfig::AudioConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.AudioConfig) +} +AudioConfig::AudioConfig(const AudioConfig& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + AudioConfig* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.sample_rate_hertz_){} + , decltype(_impl_.disable_audio_){} + , decltype(_impl_.enable_facial_data_){} + , decltype(_impl_.enable_facial_emotion_data_){} + , decltype(_impl_.face_model_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::memcpy(&_impl_.sample_rate_hertz_, &from._impl_.sample_rate_hertz_, + static_cast(reinterpret_cast(&_impl_.face_model_) - + reinterpret_cast(&_impl_.sample_rate_hertz_)) + sizeof(_impl_.face_model_)); + // @@protoc_insertion_point(copy_constructor:service.AudioConfig) +} + +inline void AudioConfig::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.sample_rate_hertz_){0} + , decltype(_impl_.disable_audio_){false} + , decltype(_impl_.enable_facial_data_){false} + , decltype(_impl_.enable_facial_emotion_data_){false} + , decltype(_impl_.face_model_){0} + , /*decltype(_impl_._cached_size_)*/{} + }; +} + +AudioConfig::~AudioConfig() { + // @@protoc_insertion_point(destructor:service.AudioConfig) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void AudioConfig::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void AudioConfig::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void AudioConfig::Clear() { +// @@protoc_insertion_point(message_clear_start:service.AudioConfig) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::memset(&_impl_.sample_rate_hertz_, 0, static_cast( + reinterpret_cast(&_impl_.face_model_) - + reinterpret_cast(&_impl_.sample_rate_hertz_)) + sizeof(_impl_.face_model_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* AudioConfig::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // int32 sample_rate_hertz = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + _impl_.sample_rate_hertz_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // bool disable_audio = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + _impl_.disable_audio_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // bool enable_facial_data = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + _impl_.enable_facial_data_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service.FaceModel face_model = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_face_model(static_cast<::service::FaceModel>(val)); + } else + goto handle_unusual; + continue; + // bool enable_facial_emotion_data = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { + _impl_.enable_facial_emotion_data_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* AudioConfig::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.AudioConfig) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // int32 sample_rate_hertz = 1; + if (this->_internal_sample_rate_hertz() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_sample_rate_hertz(), target); + } + + // bool disable_audio = 2; + if (this->_internal_disable_audio() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_disable_audio(), target); + } + + // bool enable_facial_data = 3; + if (this->_internal_enable_facial_data() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_enable_facial_data(), target); + } + + // .service.FaceModel face_model = 4; + if (this->_internal_face_model() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 4, this->_internal_face_model(), target); + } + + // bool enable_facial_emotion_data = 5; + if (this->_internal_enable_facial_emotion_data() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_enable_facial_emotion_data(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.AudioConfig) + return target; +} + +size_t AudioConfig::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.AudioConfig) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // int32 sample_rate_hertz = 1; + if (this->_internal_sample_rate_hertz() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_sample_rate_hertz()); + } + + // bool disable_audio = 2; + if (this->_internal_disable_audio() != 0) { + total_size += 1 + 1; + } + + // bool enable_facial_data = 3; + if (this->_internal_enable_facial_data() != 0) { + total_size += 1 + 1; + } + + // bool enable_facial_emotion_data = 5; + if (this->_internal_enable_facial_emotion_data() != 0) { + total_size += 1 + 1; + } + + // .service.FaceModel face_model = 4; + if (this->_internal_face_model() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this->_internal_face_model()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AudioConfig::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + AudioConfig::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AudioConfig::GetClassData() const { return &_class_data_; } + + +void AudioConfig::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.AudioConfig) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_sample_rate_hertz() != 0) { + _this->_internal_set_sample_rate_hertz(from._internal_sample_rate_hertz()); + } + if (from._internal_disable_audio() != 0) { + _this->_internal_set_disable_audio(from._internal_disable_audio()); + } + if (from._internal_enable_facial_data() != 0) { + _this->_internal_set_enable_facial_data(from._internal_enable_facial_data()); + } + if (from._internal_enable_facial_emotion_data() != 0) { + _this->_internal_set_enable_facial_emotion_data(from._internal_enable_facial_emotion_data()); + } + if (from._internal_face_model() != 0) { + _this->_internal_set_face_model(from._internal_face_model()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void AudioConfig::CopyFrom(const AudioConfig& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.AudioConfig) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool AudioConfig::IsInitialized() const { + return true; +} + +void AudioConfig::InternalSwap(AudioConfig* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(AudioConfig, _impl_.face_model_) + + sizeof(AudioConfig::_impl_.face_model_) + - PROTOBUF_FIELD_OFFSET(AudioConfig, _impl_.sample_rate_hertz_)>( + reinterpret_cast(&_impl_.sample_rate_hertz_), + reinterpret_cast(&other->_impl_.sample_rate_hertz_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata AudioConfig::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[0]); +} + +// =================================================================== + +class TriggerConfig::_Internal { + public: +}; + +TriggerConfig::TriggerConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.TriggerConfig) +} +TriggerConfig::TriggerConfig(const TriggerConfig& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + TriggerConfig* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.trigger_name_){} + , decltype(_impl_.trigger_message_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.trigger_name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.trigger_name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_trigger_name().empty()) { + _this->_impl_.trigger_name_.Set(from._internal_trigger_name(), + _this->GetArenaForAllocation()); + } + _impl_.trigger_message_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.trigger_message_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_trigger_message().empty()) { + _this->_impl_.trigger_message_.Set(from._internal_trigger_message(), + _this->GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:service.TriggerConfig) +} + +inline void TriggerConfig::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.trigger_name_){} + , decltype(_impl_.trigger_message_){} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.trigger_name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.trigger_name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.trigger_message_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.trigger_message_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +TriggerConfig::~TriggerConfig() { + // @@protoc_insertion_point(destructor:service.TriggerConfig) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void TriggerConfig::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.trigger_name_.Destroy(); + _impl_.trigger_message_.Destroy(); +} + +void TriggerConfig::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void TriggerConfig::Clear() { +// @@protoc_insertion_point(message_clear_start:service.TriggerConfig) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.trigger_name_.ClearToEmpty(); + _impl_.trigger_message_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* TriggerConfig::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string trigger_name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_trigger_name(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.TriggerConfig.trigger_name")); + } else + goto handle_unusual; + continue; + // string trigger_message = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_trigger_message(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.TriggerConfig.trigger_message")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* TriggerConfig::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.TriggerConfig) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string trigger_name = 1; + if (!this->_internal_trigger_name().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_trigger_name().data(), static_cast(this->_internal_trigger_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.TriggerConfig.trigger_name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_trigger_name(), target); + } + + // string trigger_message = 2; + if (!this->_internal_trigger_message().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_trigger_message().data(), static_cast(this->_internal_trigger_message().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.TriggerConfig.trigger_message"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_trigger_message(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.TriggerConfig) + return target; +} + +size_t TriggerConfig::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.TriggerConfig) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string trigger_name = 1; + if (!this->_internal_trigger_name().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_trigger_name()); + } + + // string trigger_message = 2; + if (!this->_internal_trigger_message().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_trigger_message()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TriggerConfig::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + TriggerConfig::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TriggerConfig::GetClassData() const { return &_class_data_; } + + +void TriggerConfig::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.TriggerConfig) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_trigger_name().empty()) { + _this->_internal_set_trigger_name(from._internal_trigger_name()); + } + if (!from._internal_trigger_message().empty()) { + _this->_internal_set_trigger_message(from._internal_trigger_message()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void TriggerConfig::CopyFrom(const TriggerConfig& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.TriggerConfig) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool TriggerConfig::IsInitialized() const { + return true; +} + +void TriggerConfig::InternalSwap(TriggerConfig* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.trigger_name_, lhs_arena, + &other->_impl_.trigger_name_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.trigger_message_, lhs_arena, + &other->_impl_.trigger_message_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata TriggerConfig::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[1]); +} + +// =================================================================== + +class ActionConfig_Character::_Internal { + public: +}; + +ActionConfig_Character::ActionConfig_Character(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.ActionConfig.Character) +} +ActionConfig_Character::ActionConfig_Character(const ActionConfig_Character& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + ActionConfig_Character* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , decltype(_impl_.bio_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_name().empty()) { + _this->_impl_.name_.Set(from._internal_name(), + _this->GetArenaForAllocation()); + } + _impl_.bio_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.bio_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_bio().empty()) { + _this->_impl_.bio_.Set(from._internal_bio(), + _this->GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:service.ActionConfig.Character) +} + +inline void ActionConfig_Character::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , decltype(_impl_.bio_){} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.bio_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.bio_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +ActionConfig_Character::~ActionConfig_Character() { + // @@protoc_insertion_point(destructor:service.ActionConfig.Character) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void ActionConfig_Character::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.name_.Destroy(); + _impl_.bio_.Destroy(); +} + +void ActionConfig_Character::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void ActionConfig_Character::Clear() { +// @@protoc_insertion_point(message_clear_start:service.ActionConfig.Character) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.name_.ClearToEmpty(); + _impl_.bio_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ActionConfig_Character::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_name(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.ActionConfig.Character.name")); + } else + goto handle_unusual; + continue; + // string bio = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_bio(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.ActionConfig.Character.bio")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* ActionConfig_Character::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.ActionConfig.Character) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string name = 1; + if (!this->_internal_name().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_name().data(), static_cast(this->_internal_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.ActionConfig.Character.name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_name(), target); + } + + // string bio = 2; + if (!this->_internal_bio().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_bio().data(), static_cast(this->_internal_bio().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.ActionConfig.Character.bio"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_bio(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.ActionConfig.Character) + return target; +} + +size_t ActionConfig_Character::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.ActionConfig.Character) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string name = 1; + if (!this->_internal_name().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + // string bio = 2; + if (!this->_internal_bio().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_bio()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ActionConfig_Character::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + ActionConfig_Character::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ActionConfig_Character::GetClassData() const { return &_class_data_; } + + +void ActionConfig_Character::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.ActionConfig.Character) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + if (!from._internal_bio().empty()) { + _this->_internal_set_bio(from._internal_bio()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ActionConfig_Character::CopyFrom(const ActionConfig_Character& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.ActionConfig.Character) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ActionConfig_Character::IsInitialized() const { + return true; +} + +void ActionConfig_Character::InternalSwap(ActionConfig_Character* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.name_, lhs_arena, + &other->_impl_.name_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.bio_, lhs_arena, + &other->_impl_.bio_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ActionConfig_Character::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[2]); +} + +// =================================================================== + +class ActionConfig_Object::_Internal { + public: +}; + +ActionConfig_Object::ActionConfig_Object(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.ActionConfig.Object) +} +ActionConfig_Object::ActionConfig_Object(const ActionConfig_Object& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + ActionConfig_Object* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , decltype(_impl_.description_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_name().empty()) { + _this->_impl_.name_.Set(from._internal_name(), + _this->GetArenaForAllocation()); + } + _impl_.description_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.description_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_description().empty()) { + _this->_impl_.description_.Set(from._internal_description(), + _this->GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:service.ActionConfig.Object) +} + +inline void ActionConfig_Object::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , decltype(_impl_.description_){} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.description_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.description_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +ActionConfig_Object::~ActionConfig_Object() { + // @@protoc_insertion_point(destructor:service.ActionConfig.Object) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void ActionConfig_Object::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.name_.Destroy(); + _impl_.description_.Destroy(); +} + +void ActionConfig_Object::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void ActionConfig_Object::Clear() { +// @@protoc_insertion_point(message_clear_start:service.ActionConfig.Object) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.name_.ClearToEmpty(); + _impl_.description_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ActionConfig_Object::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_name(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.ActionConfig.Object.name")); + } else + goto handle_unusual; + continue; + // string description = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_description(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.ActionConfig.Object.description")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* ActionConfig_Object::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.ActionConfig.Object) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string name = 1; + if (!this->_internal_name().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_name().data(), static_cast(this->_internal_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.ActionConfig.Object.name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_name(), target); + } + + // string description = 2; + if (!this->_internal_description().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_description().data(), static_cast(this->_internal_description().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.ActionConfig.Object.description"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_description(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.ActionConfig.Object) + return target; +} + +size_t ActionConfig_Object::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.ActionConfig.Object) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string name = 1; + if (!this->_internal_name().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + // string description = 2; + if (!this->_internal_description().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_description()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ActionConfig_Object::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + ActionConfig_Object::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ActionConfig_Object::GetClassData() const { return &_class_data_; } + + +void ActionConfig_Object::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.ActionConfig.Object) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + if (!from._internal_description().empty()) { + _this->_internal_set_description(from._internal_description()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ActionConfig_Object::CopyFrom(const ActionConfig_Object& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.ActionConfig.Object) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ActionConfig_Object::IsInitialized() const { + return true; +} + +void ActionConfig_Object::InternalSwap(ActionConfig_Object* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.name_, lhs_arena, + &other->_impl_.name_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.description_, lhs_arena, + &other->_impl_.description_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ActionConfig_Object::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[3]); +} + +// =================================================================== + +class ActionConfig::_Internal { + public: +}; + +ActionConfig::ActionConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.ActionConfig) +} +ActionConfig::ActionConfig(const ActionConfig& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + ActionConfig* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.actions_){from._impl_.actions_} + , decltype(_impl_.characters_){from._impl_.characters_} + , decltype(_impl_.objects_){from._impl_.objects_} + , decltype(_impl_.classification_){} + , decltype(_impl_.current_attention_object_){} + , decltype(_impl_.context_level_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.classification_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.classification_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_classification().empty()) { + _this->_impl_.classification_.Set(from._internal_classification(), + _this->GetArenaForAllocation()); + } + _impl_.current_attention_object_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.current_attention_object_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_current_attention_object().empty()) { + _this->_impl_.current_attention_object_.Set(from._internal_current_attention_object(), + _this->GetArenaForAllocation()); + } + _this->_impl_.context_level_ = from._impl_.context_level_; + // @@protoc_insertion_point(copy_constructor:service.ActionConfig) +} + +inline void ActionConfig::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.actions_){arena} + , decltype(_impl_.characters_){arena} + , decltype(_impl_.objects_){arena} + , decltype(_impl_.classification_){} + , decltype(_impl_.current_attention_object_){} + , decltype(_impl_.context_level_){0} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.classification_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.classification_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.current_attention_object_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.current_attention_object_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +ActionConfig::~ActionConfig() { + // @@protoc_insertion_point(destructor:service.ActionConfig) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void ActionConfig::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.actions_.~RepeatedPtrField(); + _impl_.characters_.~RepeatedPtrField(); + _impl_.objects_.~RepeatedPtrField(); + _impl_.classification_.Destroy(); + _impl_.current_attention_object_.Destroy(); +} + +void ActionConfig::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void ActionConfig::Clear() { +// @@protoc_insertion_point(message_clear_start:service.ActionConfig) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.actions_.Clear(); + _impl_.characters_.Clear(); + _impl_.objects_.Clear(); + _impl_.classification_.ClearToEmpty(); + _impl_.current_attention_object_.ClearToEmpty(); + _impl_.context_level_ = 0; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ActionConfig::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // repeated string actions = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr -= 1; + do { + ptr += 1; + auto str = _internal_add_actions(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.ActionConfig.actions")); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); + } else + goto handle_unusual; + continue; + // repeated .service.ActionConfig.Character characters = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_characters(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr)); + } else + goto handle_unusual; + continue; + // repeated .service.ActionConfig.Object objects = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_objects(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr)); + } else + goto handle_unusual; + continue; + // string classification = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + auto str = _internal_mutable_classification(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.ActionConfig.classification")); + } else + goto handle_unusual; + continue; + // int32 context_level = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { + _impl_.context_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string current_attention_object = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { + auto str = _internal_mutable_current_attention_object(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.ActionConfig.current_attention_object")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* ActionConfig::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.ActionConfig) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // repeated string actions = 1; + for (int i = 0, n = this->_internal_actions_size(); i < n; i++) { + const auto& s = this->_internal_actions(i); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.ActionConfig.actions"); + target = stream->WriteString(1, s, target); + } + + // repeated .service.ActionConfig.Character characters = 2; + for (unsigned i = 0, + n = static_cast(this->_internal_characters_size()); i < n; i++) { + const auto& repfield = this->_internal_characters(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream); + } + + // repeated .service.ActionConfig.Object objects = 3; + for (unsigned i = 0, + n = static_cast(this->_internal_objects_size()); i < n; i++) { + const auto& repfield = this->_internal_objects(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream); + } + + // string classification = 4; + if (!this->_internal_classification().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_classification().data(), static_cast(this->_internal_classification().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.ActionConfig.classification"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_classification(), target); + } + + // int32 context_level = 5; + if (this->_internal_context_level() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_context_level(), target); + } + + // string current_attention_object = 6; + if (!this->_internal_current_attention_object().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_current_attention_object().data(), static_cast(this->_internal_current_attention_object().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.ActionConfig.current_attention_object"); + target = stream->WriteStringMaybeAliased( + 6, this->_internal_current_attention_object(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.ActionConfig) + return target; +} + +size_t ActionConfig::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.ActionConfig) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated string actions = 1; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_impl_.actions_.size()); + for (int i = 0, n = _impl_.actions_.size(); i < n; i++) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + _impl_.actions_.Get(i)); + } + + // repeated .service.ActionConfig.Character characters = 2; + total_size += 1UL * this->_internal_characters_size(); + for (const auto& msg : this->_impl_.characters_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // repeated .service.ActionConfig.Object objects = 3; + total_size += 1UL * this->_internal_objects_size(); + for (const auto& msg : this->_impl_.objects_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // string classification = 4; + if (!this->_internal_classification().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_classification()); + } + + // string current_attention_object = 6; + if (!this->_internal_current_attention_object().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_current_attention_object()); + } + + // int32 context_level = 5; + if (this->_internal_context_level() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_context_level()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ActionConfig::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + ActionConfig::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ActionConfig::GetClassData() const { return &_class_data_; } + + +void ActionConfig::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.ActionConfig) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_impl_.actions_.MergeFrom(from._impl_.actions_); + _this->_impl_.characters_.MergeFrom(from._impl_.characters_); + _this->_impl_.objects_.MergeFrom(from._impl_.objects_); + if (!from._internal_classification().empty()) { + _this->_internal_set_classification(from._internal_classification()); + } + if (!from._internal_current_attention_object().empty()) { + _this->_internal_set_current_attention_object(from._internal_current_attention_object()); + } + if (from._internal_context_level() != 0) { + _this->_internal_set_context_level(from._internal_context_level()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ActionConfig::CopyFrom(const ActionConfig& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.ActionConfig) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ActionConfig::IsInitialized() const { + return true; +} + +void ActionConfig::InternalSwap(ActionConfig* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.actions_.InternalSwap(&other->_impl_.actions_); + _impl_.characters_.InternalSwap(&other->_impl_.characters_); + _impl_.objects_.InternalSwap(&other->_impl_.objects_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.classification_, lhs_arena, + &other->_impl_.classification_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.current_attention_object_, lhs_arena, + &other->_impl_.current_attention_object_, rhs_arena + ); + swap(_impl_.context_level_, other->_impl_.context_level_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ActionConfig::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[4]); +} + +// =================================================================== + +class STTRequest::_Internal { + public: + static const ::service::AudioConfig& audio_config(const STTRequest* msg); +}; + +const ::service::AudioConfig& +STTRequest::_Internal::audio_config(const STTRequest* msg) { + return *msg->_impl_.request_type_.audio_config_; +} +void STTRequest::set_allocated_audio_config(::service::AudioConfig* audio_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_request_type(); + if (audio_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(audio_config); + if (message_arena != submessage_arena) { + audio_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, audio_config, submessage_arena); + } + set_has_audio_config(); + _impl_.request_type_.audio_config_ = audio_config; + } + // @@protoc_insertion_point(field_set_allocated:service.STTRequest.audio_config) +} +STTRequest::STTRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.STTRequest) +} +STTRequest::STTRequest(const STTRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + STTRequest* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.request_type_){} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + clear_has_request_type(); + switch (from.request_type_case()) { + case kAudioConfig: { + _this->_internal_mutable_audio_config()->::service::AudioConfig::MergeFrom( + from._internal_audio_config()); + break; + } + case kAudioChunk: { + _this->_internal_set_audio_chunk(from._internal_audio_chunk()); + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service.STTRequest) +} + +inline void STTRequest::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.request_type_){} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{} + }; + clear_has_request_type(); +} + +STTRequest::~STTRequest() { + // @@protoc_insertion_point(destructor:service.STTRequest) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void STTRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (has_request_type()) { + clear_request_type(); + } +} + +void STTRequest::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void STTRequest::clear_request_type() { +// @@protoc_insertion_point(one_of_clear_start:service.STTRequest) + switch (request_type_case()) { + case kAudioConfig: { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.request_type_.audio_config_; + } + break; + } + case kAudioChunk: { + _impl_.request_type_.audio_chunk_.Destroy(); + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = REQUEST_TYPE_NOT_SET; +} + + +void STTRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:service.STTRequest) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_request_type(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* STTRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .service.AudioConfig audio_config = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_audio_config(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // bytes audio_chunk = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_audio_chunk(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* STTRequest::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.STTRequest) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .service.AudioConfig audio_config = 1; + if (_internal_has_audio_config()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::audio_config(this), + _Internal::audio_config(this).GetCachedSize(), target, stream); + } + + // bytes audio_chunk = 2; + if (_internal_has_audio_chunk()) { + target = stream->WriteBytesMaybeAliased( + 2, this->_internal_audio_chunk(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.STTRequest) + return target; +} + +size_t STTRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.STTRequest) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + switch (request_type_case()) { + // .service.AudioConfig audio_config = 1; + case kAudioConfig: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.request_type_.audio_config_); + break; + } + // bytes audio_chunk = 2; + case kAudioChunk: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->_internal_audio_chunk()); + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData STTRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + STTRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*STTRequest::GetClassData() const { return &_class_data_; } + + +void STTRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.STTRequest) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + switch (from.request_type_case()) { + case kAudioConfig: { + _this->_internal_mutable_audio_config()->::service::AudioConfig::MergeFrom( + from._internal_audio_config()); + break; + } + case kAudioChunk: { + _this->_internal_set_audio_chunk(from._internal_audio_chunk()); + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void STTRequest::CopyFrom(const STTRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.STTRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool STTRequest::IsInitialized() const { + return true; +} + +void STTRequest::InternalSwap(STTRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_.request_type_, other->_impl_.request_type_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata STTRequest::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[5]); +} + +// =================================================================== + +class STTResponse::_Internal { + public: +}; + +STTResponse::STTResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.STTResponse) +} +STTResponse::STTResponse(const STTResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + STTResponse* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.text_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.text_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.text_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_text().empty()) { + _this->_impl_.text_.Set(from._internal_text(), + _this->GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:service.STTResponse) +} + +inline void STTResponse::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.text_){} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.text_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.text_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +STTResponse::~STTResponse() { + // @@protoc_insertion_point(destructor:service.STTResponse) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void STTResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.text_.Destroy(); +} + +void STTResponse::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void STTResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.STTResponse) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.text_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* STTResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string text = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_text(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.STTResponse.text")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* STTResponse::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.STTResponse) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string text = 1; + if (!this->_internal_text().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_text().data(), static_cast(this->_internal_text().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.STTResponse.text"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_text(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.STTResponse) + return target; +} + +size_t STTResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.STTResponse) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string text = 1; + if (!this->_internal_text().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_text()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData STTResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + STTResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*STTResponse::GetClassData() const { return &_class_data_; } + + +void STTResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.STTResponse) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_text().empty()) { + _this->_internal_set_text(from._internal_text()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void STTResponse::CopyFrom(const STTResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.STTResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool STTResponse::IsInitialized() const { + return true; +} + +void STTResponse::InternalSwap(STTResponse* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.text_, lhs_arena, + &other->_impl_.text_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata STTResponse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[6]); +} + +// =================================================================== + +class DynamicInfoConfig::_Internal { + public: +}; + +DynamicInfoConfig::DynamicInfoConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.DynamicInfoConfig) +} +DynamicInfoConfig::DynamicInfoConfig(const DynamicInfoConfig& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + DynamicInfoConfig* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.text_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.text_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.text_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_text().empty()) { + _this->_impl_.text_.Set(from._internal_text(), + _this->GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:service.DynamicInfoConfig) +} + +inline void DynamicInfoConfig::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.text_){} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.text_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.text_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +DynamicInfoConfig::~DynamicInfoConfig() { + // @@protoc_insertion_point(destructor:service.DynamicInfoConfig) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void DynamicInfoConfig::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.text_.Destroy(); +} + +void DynamicInfoConfig::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void DynamicInfoConfig::Clear() { +// @@protoc_insertion_point(message_clear_start:service.DynamicInfoConfig) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.text_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* DynamicInfoConfig::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string text = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_text(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.DynamicInfoConfig.text")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* DynamicInfoConfig::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.DynamicInfoConfig) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string text = 1; + if (!this->_internal_text().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_text().data(), static_cast(this->_internal_text().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.DynamicInfoConfig.text"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_text(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.DynamicInfoConfig) + return target; +} + +size_t DynamicInfoConfig::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.DynamicInfoConfig) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string text = 1; + if (!this->_internal_text().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_text()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DynamicInfoConfig::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + DynamicInfoConfig::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DynamicInfoConfig::GetClassData() const { return &_class_data_; } + + +void DynamicInfoConfig::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.DynamicInfoConfig) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_text().empty()) { + _this->_internal_set_text(from._internal_text()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void DynamicInfoConfig::CopyFrom(const DynamicInfoConfig& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.DynamicInfoConfig) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool DynamicInfoConfig::IsInitialized() const { + return true; +} + +void DynamicInfoConfig::InternalSwap(DynamicInfoConfig* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.text_, lhs_arena, + &other->_impl_.text_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata DynamicInfoConfig::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[7]); +} + +// =================================================================== + +class VisionInput_ImageData::_Internal { + public: +}; + +VisionInput_ImageData::VisionInput_ImageData(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.VisionInput.ImageData) +} +VisionInput_ImageData::VisionInput_ImageData(const VisionInput_ImageData& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + VisionInput_ImageData* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.data_){} + , decltype(_impl_.width_){} + , decltype(_impl_.height_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.data_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.data_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_data().empty()) { + _this->_impl_.data_.Set(from._internal_data(), + _this->GetArenaForAllocation()); + } + ::memcpy(&_impl_.width_, &from._impl_.width_, + static_cast(reinterpret_cast(&_impl_.height_) - + reinterpret_cast(&_impl_.width_)) + sizeof(_impl_.height_)); + // @@protoc_insertion_point(copy_constructor:service.VisionInput.ImageData) +} + +inline void VisionInput_ImageData::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.data_){} + , decltype(_impl_.width_){0} + , decltype(_impl_.height_){0} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.data_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.data_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +VisionInput_ImageData::~VisionInput_ImageData() { + // @@protoc_insertion_point(destructor:service.VisionInput.ImageData) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void VisionInput_ImageData::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.data_.Destroy(); +} + +void VisionInput_ImageData::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void VisionInput_ImageData::Clear() { +// @@protoc_insertion_point(message_clear_start:service.VisionInput.ImageData) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.data_.ClearToEmpty(); + ::memset(&_impl_.width_, 0, static_cast( + reinterpret_cast(&_impl_.height_) - + reinterpret_cast(&_impl_.width_)) + sizeof(_impl_.height_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* VisionInput_ImageData::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // int32 width = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + _impl_.width_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // int32 height = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + _impl_.height_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // bytes data = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + auto str = _internal_mutable_data(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* VisionInput_ImageData::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.VisionInput.ImageData) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // int32 width = 1; + if (this->_internal_width() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_width(), target); + } + + // int32 height = 2; + if (this->_internal_height() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_height(), target); + } + + // bytes data = 3; + if (!this->_internal_data().empty()) { + target = stream->WriteBytesMaybeAliased( + 3, this->_internal_data(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.VisionInput.ImageData) + return target; +} + +size_t VisionInput_ImageData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.VisionInput.ImageData) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // bytes data = 3; + if (!this->_internal_data().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->_internal_data()); + } + + // int32 width = 1; + if (this->_internal_width() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_width()); + } + + // int32 height = 2; + if (this->_internal_height() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_height()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData VisionInput_ImageData::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + VisionInput_ImageData::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*VisionInput_ImageData::GetClassData() const { return &_class_data_; } + + +void VisionInput_ImageData::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.VisionInput.ImageData) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_data().empty()) { + _this->_internal_set_data(from._internal_data()); + } + if (from._internal_width() != 0) { + _this->_internal_set_width(from._internal_width()); + } + if (from._internal_height() != 0) { + _this->_internal_set_height(from._internal_height()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void VisionInput_ImageData::CopyFrom(const VisionInput_ImageData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.VisionInput.ImageData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool VisionInput_ImageData::IsInitialized() const { + return true; +} + +void VisionInput_ImageData::InternalSwap(VisionInput_ImageData* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.data_, lhs_arena, + &other->_impl_.data_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(VisionInput_ImageData, _impl_.height_) + + sizeof(VisionInput_ImageData::_impl_.height_) + - PROTOBUF_FIELD_OFFSET(VisionInput_ImageData, _impl_.width_)>( + reinterpret_cast(&_impl_.width_), + reinterpret_cast(&other->_impl_.width_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata VisionInput_ImageData::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[8]); +} + +// =================================================================== + +class VisionInput_VideoData::_Internal { + public: +}; + +VisionInput_VideoData::VisionInput_VideoData(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.VisionInput.VideoData) +} +VisionInput_VideoData::VisionInput_VideoData(const VisionInput_VideoData& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + VisionInput_VideoData* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.data_){} + , decltype(_impl_.fps_){} + , decltype(_impl_.width_){} + , decltype(_impl_.height_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.data_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.data_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_data().empty()) { + _this->_impl_.data_.Set(from._internal_data(), + _this->GetArenaForAllocation()); + } + ::memcpy(&_impl_.fps_, &from._impl_.fps_, + static_cast(reinterpret_cast(&_impl_.height_) - + reinterpret_cast(&_impl_.fps_)) + sizeof(_impl_.height_)); + // @@protoc_insertion_point(copy_constructor:service.VisionInput.VideoData) +} + +inline void VisionInput_VideoData::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.data_){} + , decltype(_impl_.fps_){0} + , decltype(_impl_.width_){0} + , decltype(_impl_.height_){0} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.data_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.data_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +VisionInput_VideoData::~VisionInput_VideoData() { + // @@protoc_insertion_point(destructor:service.VisionInput.VideoData) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void VisionInput_VideoData::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.data_.Destroy(); +} + +void VisionInput_VideoData::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void VisionInput_VideoData::Clear() { +// @@protoc_insertion_point(message_clear_start:service.VisionInput.VideoData) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.data_.ClearToEmpty(); + ::memset(&_impl_.fps_, 0, static_cast( + reinterpret_cast(&_impl_.height_) - + reinterpret_cast(&_impl_.fps_)) + sizeof(_impl_.height_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* VisionInput_VideoData::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // int32 fps = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + _impl_.fps_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // int32 width = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + _impl_.width_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // int32 height = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + _impl_.height_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // bytes data = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + auto str = _internal_mutable_data(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* VisionInput_VideoData::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.VisionInput.VideoData) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // int32 fps = 1; + if (this->_internal_fps() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_fps(), target); + } + + // int32 width = 2; + if (this->_internal_width() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_width(), target); + } + + // int32 height = 3; + if (this->_internal_height() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_height(), target); + } + + // bytes data = 4; + if (!this->_internal_data().empty()) { + target = stream->WriteBytesMaybeAliased( + 4, this->_internal_data(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.VisionInput.VideoData) + return target; +} + +size_t VisionInput_VideoData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.VisionInput.VideoData) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // bytes data = 4; + if (!this->_internal_data().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->_internal_data()); + } + + // int32 fps = 1; + if (this->_internal_fps() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_fps()); + } + + // int32 width = 2; + if (this->_internal_width() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_width()); + } + + // int32 height = 3; + if (this->_internal_height() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_height()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData VisionInput_VideoData::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + VisionInput_VideoData::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*VisionInput_VideoData::GetClassData() const { return &_class_data_; } + + +void VisionInput_VideoData::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.VisionInput.VideoData) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_data().empty()) { + _this->_internal_set_data(from._internal_data()); + } + if (from._internal_fps() != 0) { + _this->_internal_set_fps(from._internal_fps()); + } + if (from._internal_width() != 0) { + _this->_internal_set_width(from._internal_width()); + } + if (from._internal_height() != 0) { + _this->_internal_set_height(from._internal_height()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void VisionInput_VideoData::CopyFrom(const VisionInput_VideoData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.VisionInput.VideoData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool VisionInput_VideoData::IsInitialized() const { + return true; +} + +void VisionInput_VideoData::InternalSwap(VisionInput_VideoData* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.data_, lhs_arena, + &other->_impl_.data_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(VisionInput_VideoData, _impl_.height_) + + sizeof(VisionInput_VideoData::_impl_.height_) + - PROTOBUF_FIELD_OFFSET(VisionInput_VideoData, _impl_.fps_)>( + reinterpret_cast(&_impl_.fps_), + reinterpret_cast(&other->_impl_.fps_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata VisionInput_VideoData::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[9]); +} + +// =================================================================== + +class VisionInput::_Internal { + public: + static const ::service::VisionInput_ImageData& image_data(const VisionInput* msg); + static const ::service::VisionInput_VideoData& video_data(const VisionInput* msg); +}; + +const ::service::VisionInput_ImageData& +VisionInput::_Internal::image_data(const VisionInput* msg) { + return *msg->_impl_.vision_data_.image_data_; +} +const ::service::VisionInput_VideoData& +VisionInput::_Internal::video_data(const VisionInput* msg) { + return *msg->_impl_.vision_data_.video_data_; +} +void VisionInput::set_allocated_image_data(::service::VisionInput_ImageData* image_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_vision_data(); + if (image_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(image_data); + if (message_arena != submessage_arena) { + image_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, image_data, submessage_arena); + } + set_has_image_data(); + _impl_.vision_data_.image_data_ = image_data; + } + // @@protoc_insertion_point(field_set_allocated:service.VisionInput.image_data) +} +void VisionInput::set_allocated_video_data(::service::VisionInput_VideoData* video_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_vision_data(); + if (video_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(video_data); + if (message_arena != submessage_arena) { + video_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, video_data, submessage_arena); + } + set_has_video_data(); + _impl_.vision_data_.video_data_ = video_data; + } + // @@protoc_insertion_point(field_set_allocated:service.VisionInput.video_data) +} +VisionInput::VisionInput(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.VisionInput) +} +VisionInput::VisionInput(const VisionInput& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + VisionInput* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.vision_data_){} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + clear_has_vision_data(); + switch (from.vision_data_case()) { + case kImageData: { + _this->_internal_mutable_image_data()->::service::VisionInput_ImageData::MergeFrom( + from._internal_image_data()); + break; + } + case kVideoData: { + _this->_internal_mutable_video_data()->::service::VisionInput_VideoData::MergeFrom( + from._internal_video_data()); + break; + } + case VISION_DATA_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service.VisionInput) +} + +inline void VisionInput::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.vision_data_){} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{} + }; + clear_has_vision_data(); +} + +VisionInput::~VisionInput() { + // @@protoc_insertion_point(destructor:service.VisionInput) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void VisionInput::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (has_vision_data()) { + clear_vision_data(); + } +} + +void VisionInput::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void VisionInput::clear_vision_data() { +// @@protoc_insertion_point(one_of_clear_start:service.VisionInput) + switch (vision_data_case()) { + case kImageData: { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.vision_data_.image_data_; + } + break; + } + case kVideoData: { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.vision_data_.video_data_; + } + break; + } + case VISION_DATA_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = VISION_DATA_NOT_SET; +} + + +void VisionInput::Clear() { +// @@protoc_insertion_point(message_clear_start:service.VisionInput) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_vision_data(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* VisionInput::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .service.VisionInput.ImageData image_data = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_image_data(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service.VisionInput.VideoData video_data = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_video_data(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* VisionInput::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.VisionInput) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .service.VisionInput.ImageData image_data = 1; + if (_internal_has_image_data()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::image_data(this), + _Internal::image_data(this).GetCachedSize(), target, stream); + } + + // .service.VisionInput.VideoData video_data = 2; + if (_internal_has_video_data()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::video_data(this), + _Internal::video_data(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.VisionInput) + return target; +} + +size_t VisionInput::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.VisionInput) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + switch (vision_data_case()) { + // .service.VisionInput.ImageData image_data = 1; + case kImageData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.vision_data_.image_data_); + break; + } + // .service.VisionInput.VideoData video_data = 2; + case kVideoData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.vision_data_.video_data_); + break; + } + case VISION_DATA_NOT_SET: { + break; + } + } + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData VisionInput::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + VisionInput::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*VisionInput::GetClassData() const { return &_class_data_; } + + +void VisionInput::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.VisionInput) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + switch (from.vision_data_case()) { + case kImageData: { + _this->_internal_mutable_image_data()->::service::VisionInput_ImageData::MergeFrom( + from._internal_image_data()); + break; + } + case kVideoData: { + _this->_internal_mutable_video_data()->::service::VisionInput_VideoData::MergeFrom( + from._internal_video_data()); + break; + } + case VISION_DATA_NOT_SET: { + break; + } + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void VisionInput::CopyFrom(const VisionInput& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.VisionInput) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool VisionInput::IsInitialized() const { + return true; +} + +void VisionInput::InternalSwap(VisionInput* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_.vision_data_, other->_impl_.vision_data_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata VisionInput::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[10]); +} + +// =================================================================== + +GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse() {} +GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena) + : SuperType(arena) {} +void GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse::MergeFrom(const GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse& other) { + MergeFromInternal(other); +} +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[11]); +} + +// =================================================================== + +class GetResponseRequest_GetResponseConfig::_Internal { + public: + static const ::service::AudioConfig& audio_config(const GetResponseRequest_GetResponseConfig* msg); + static const ::service::ActionConfig& action_config(const GetResponseRequest_GetResponseConfig* msg); + static const ::service::DynamicInfoConfig& dynamic_info_config(const GetResponseRequest_GetResponseConfig* msg); + static const ::service::VisionInput& vision_input(const GetResponseRequest_GetResponseConfig* msg); +}; + +const ::service::AudioConfig& +GetResponseRequest_GetResponseConfig::_Internal::audio_config(const GetResponseRequest_GetResponseConfig* msg) { + return *msg->_impl_.audio_config_; +} +const ::service::ActionConfig& +GetResponseRequest_GetResponseConfig::_Internal::action_config(const GetResponseRequest_GetResponseConfig* msg) { + return *msg->_impl_.action_config_; +} +const ::service::DynamicInfoConfig& +GetResponseRequest_GetResponseConfig::_Internal::dynamic_info_config(const GetResponseRequest_GetResponseConfig* msg) { + return *msg->_impl_.dynamic_info_config_; +} +const ::service::VisionInput& +GetResponseRequest_GetResponseConfig::_Internal::vision_input(const GetResponseRequest_GetResponseConfig* msg) { + return *msg->_impl_.vision_input_; +} +GetResponseRequest_GetResponseConfig::GetResponseRequest_GetResponseConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + if (arena != nullptr && !is_message_owned) { + arena->OwnCustomDestructor(this, &GetResponseRequest_GetResponseConfig::ArenaDtor); + } + // @@protoc_insertion_point(arena_constructor:service.GetResponseRequest.GetResponseConfig) +} +GetResponseRequest_GetResponseConfig::GetResponseRequest_GetResponseConfig(const GetResponseRequest_GetResponseConfig& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + GetResponseRequest_GetResponseConfig* const _this = this; (void)_this; + new (&_impl_) Impl_{ + /*decltype(_impl_.narrative_template_keys_)*/{} + , decltype(_impl_.character_id_){} + , decltype(_impl_.api_key_){} + , decltype(_impl_.session_id_){} + , decltype(_impl_.speaker_){} + , decltype(_impl_.language_code_){} + , decltype(_impl_.speaker_id_){} + , decltype(_impl_.api_auth_token_){} + , decltype(_impl_.audio_config_){nullptr} + , decltype(_impl_.action_config_){nullptr} + , decltype(_impl_.dynamic_info_config_){nullptr} + , decltype(_impl_.vision_input_){nullptr} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _this->_impl_.narrative_template_keys_.MergeFrom(from._impl_.narrative_template_keys_); + _impl_.character_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.character_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_character_id().empty()) { + _this->_impl_.character_id_.Set(from._internal_character_id(), + _this->GetArenaForAllocation()); + } + _impl_.api_key_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.api_key_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_api_key().empty()) { + _this->_impl_.api_key_.Set(from._internal_api_key(), + _this->GetArenaForAllocation()); + } + _impl_.session_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.session_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_session_id().empty()) { + _this->_impl_.session_id_.Set(from._internal_session_id(), + _this->GetArenaForAllocation()); + } + _impl_.speaker_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.speaker_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_speaker().empty()) { + _this->_impl_.speaker_.Set(from._internal_speaker(), + _this->GetArenaForAllocation()); + } + _impl_.language_code_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.language_code_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_language_code().empty()) { + _this->_impl_.language_code_.Set(from._internal_language_code(), + _this->GetArenaForAllocation()); + } + _impl_.speaker_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.speaker_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_speaker_id().empty()) { + _this->_impl_.speaker_id_.Set(from._internal_speaker_id(), + _this->GetArenaForAllocation()); + } + _impl_.api_auth_token_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.api_auth_token_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_api_auth_token().empty()) { + _this->_impl_.api_auth_token_.Set(from._internal_api_auth_token(), + _this->GetArenaForAllocation()); + } + if (from._internal_has_audio_config()) { + _this->_impl_.audio_config_ = new ::service::AudioConfig(*from._impl_.audio_config_); + } + if (from._internal_has_action_config()) { + _this->_impl_.action_config_ = new ::service::ActionConfig(*from._impl_.action_config_); + } + if (from._internal_has_dynamic_info_config()) { + _this->_impl_.dynamic_info_config_ = new ::service::DynamicInfoConfig(*from._impl_.dynamic_info_config_); + } + if (from._internal_has_vision_input()) { + _this->_impl_.vision_input_ = new ::service::VisionInput(*from._impl_.vision_input_); + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseRequest.GetResponseConfig) +} + +inline void GetResponseRequest_GetResponseConfig::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + /*decltype(_impl_.narrative_template_keys_)*/{::_pbi::ArenaInitialized(), arena} + , decltype(_impl_.character_id_){} + , decltype(_impl_.api_key_){} + , decltype(_impl_.session_id_){} + , decltype(_impl_.speaker_){} + , decltype(_impl_.language_code_){} + , decltype(_impl_.speaker_id_){} + , decltype(_impl_.api_auth_token_){} + , decltype(_impl_.audio_config_){nullptr} + , decltype(_impl_.action_config_){nullptr} + , decltype(_impl_.dynamic_info_config_){nullptr} + , decltype(_impl_.vision_input_){nullptr} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.character_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.character_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.api_key_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.api_key_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.session_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.session_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.speaker_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.speaker_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.language_code_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.language_code_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.speaker_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.speaker_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.api_auth_token_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.api_auth_token_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +GetResponseRequest_GetResponseConfig::~GetResponseRequest_GetResponseConfig() { + // @@protoc_insertion_point(destructor:service.GetResponseRequest.GetResponseConfig) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + ArenaDtor(this); + return; + } + SharedDtor(); +} + +inline void GetResponseRequest_GetResponseConfig::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.narrative_template_keys_.Destruct(); + _impl_.narrative_template_keys_.~MapField(); + _impl_.character_id_.Destroy(); + _impl_.api_key_.Destroy(); + _impl_.session_id_.Destroy(); + _impl_.speaker_.Destroy(); + _impl_.language_code_.Destroy(); + _impl_.speaker_id_.Destroy(); + _impl_.api_auth_token_.Destroy(); + if (this != internal_default_instance()) delete _impl_.audio_config_; + if (this != internal_default_instance()) delete _impl_.action_config_; + if (this != internal_default_instance()) delete _impl_.dynamic_info_config_; + if (this != internal_default_instance()) delete _impl_.vision_input_; +} + +void GetResponseRequest_GetResponseConfig::ArenaDtor(void* object) { + GetResponseRequest_GetResponseConfig* _this = reinterpret_cast< GetResponseRequest_GetResponseConfig* >(object); + _this->_impl_.narrative_template_keys_.Destruct(); +} +void GetResponseRequest_GetResponseConfig::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void GetResponseRequest_GetResponseConfig::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseRequest.GetResponseConfig) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.narrative_template_keys_.Clear(); + _impl_.character_id_.ClearToEmpty(); + _impl_.api_key_.ClearToEmpty(); + _impl_.session_id_.ClearToEmpty(); + _impl_.speaker_.ClearToEmpty(); + _impl_.language_code_.ClearToEmpty(); + _impl_.speaker_id_.ClearToEmpty(); + _impl_.api_auth_token_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && _impl_.audio_config_ != nullptr) { + delete _impl_.audio_config_; + } + _impl_.audio_config_ = nullptr; + if (GetArenaForAllocation() == nullptr && _impl_.action_config_ != nullptr) { + delete _impl_.action_config_; + } + _impl_.action_config_ = nullptr; + if (GetArenaForAllocation() == nullptr && _impl_.dynamic_info_config_ != nullptr) { + delete _impl_.dynamic_info_config_; + } + _impl_.dynamic_info_config_ = nullptr; + if (GetArenaForAllocation() == nullptr && _impl_.vision_input_ != nullptr) { + delete _impl_.vision_input_; + } + _impl_.vision_input_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseRequest_GetResponseConfig::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string character_id = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_character_id(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseRequest.GetResponseConfig.character_id")); + } else + goto handle_unusual; + continue; + // string api_key = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + auto str = _internal_mutable_api_key(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseRequest.GetResponseConfig.api_key")); + } else + goto handle_unusual; + continue; + // string session_id = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + auto str = _internal_mutable_session_id(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseRequest.GetResponseConfig.session_id")); + } else + goto handle_unusual; + continue; + // .service.AudioConfig audio_config = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + ptr = ctx->ParseMessage(_internal_mutable_audio_config(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service.ActionConfig action_config = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { + ptr = ctx->ParseMessage(_internal_mutable_action_config(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string speaker = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + auto str = _internal_mutable_speaker(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseRequest.GetResponseConfig.speaker")); + } else + goto handle_unusual; + continue; + // string language_code = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { + auto str = _internal_mutable_language_code(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseRequest.GetResponseConfig.language_code")); + } else + goto handle_unusual; + continue; + // string speaker_id = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 74)) { + auto str = _internal_mutable_speaker_id(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseRequest.GetResponseConfig.speaker_id")); + } else + goto handle_unusual; + continue; + // string api_auth_token = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 82)) { + auto str = _internal_mutable_api_auth_token(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseRequest.GetResponseConfig.api_auth_token")); + } else + goto handle_unusual; + continue; + // map narrative_template_keys = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 90)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(&_impl_.narrative_template_keys_, ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<90>(ptr)); + } else + goto handle_unusual; + continue; + // .service.DynamicInfoConfig dynamic_info_config = 12; + case 12: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 98)) { + ptr = ctx->ParseMessage(_internal_mutable_dynamic_info_config(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service.VisionInput vision_input = 13; + case 13: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 106)) { + ptr = ctx->ParseMessage(_internal_mutable_vision_input(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* GetResponseRequest_GetResponseConfig::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseRequest.GetResponseConfig) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string character_id = 2; + if (!this->_internal_character_id().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_character_id().data(), static_cast(this->_internal_character_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.character_id"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_character_id(), target); + } + + // string api_key = 3; + if (!this->_internal_api_key().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_api_key().data(), static_cast(this->_internal_api_key().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.api_key"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_api_key(), target); + } + + // string session_id = 4; + if (!this->_internal_session_id().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_session_id().data(), static_cast(this->_internal_session_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.session_id"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_session_id(), target); + } + + // .service.AudioConfig audio_config = 5; + if (this->_internal_has_audio_config()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(5, _Internal::audio_config(this), + _Internal::audio_config(this).GetCachedSize(), target, stream); + } + + // .service.ActionConfig action_config = 6; + if (this->_internal_has_action_config()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(6, _Internal::action_config(this), + _Internal::action_config(this).GetCachedSize(), target, stream); + } + + // string speaker = 7; + if (!this->_internal_speaker().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_speaker().data(), static_cast(this->_internal_speaker().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.speaker"); + target = stream->WriteStringMaybeAliased( + 7, this->_internal_speaker(), target); + } + + // string language_code = 8; + if (!this->_internal_language_code().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_language_code().data(), static_cast(this->_internal_language_code().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.language_code"); + target = stream->WriteStringMaybeAliased( + 8, this->_internal_language_code(), target); + } + + // string speaker_id = 9; + if (!this->_internal_speaker_id().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_speaker_id().data(), static_cast(this->_internal_speaker_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.speaker_id"); + target = stream->WriteStringMaybeAliased( + 9, this->_internal_speaker_id(), target); + } + + // string api_auth_token = 10; + if (!this->_internal_api_auth_token().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_api_auth_token().data(), static_cast(this->_internal_api_auth_token().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.api_auth_token"); + target = stream->WriteStringMaybeAliased( + 10, this->_internal_api_auth_token(), target); + } + + // map narrative_template_keys = 11; + if (!this->_internal_narrative_template_keys().empty()) { + using MapType = ::_pb::Map; + using WireHelper = GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse::Funcs; + const auto& map_field = this->_internal_narrative_template_keys(); + auto check_utf8 = [](const MapType::value_type& entry) { + (void)entry; + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + entry.first.data(), static_cast(entry.first.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.NarrativeTemplateKeysEntry.key"); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + entry.second.data(), static_cast(entry.second.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseConfig.NarrativeTemplateKeysEntry.value"); + }; + + if (stream->IsSerializationDeterministic() && map_field.size() > 1) { + for (const auto& entry : ::_pbi::MapSorterPtr(map_field)) { + target = WireHelper::InternalSerialize(11, entry.first, entry.second, target, stream); + check_utf8(entry); + } + } else { + for (const auto& entry : map_field) { + target = WireHelper::InternalSerialize(11, entry.first, entry.second, target, stream); + check_utf8(entry); + } + } + } + + // .service.DynamicInfoConfig dynamic_info_config = 12; + if (this->_internal_has_dynamic_info_config()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(12, _Internal::dynamic_info_config(this), + _Internal::dynamic_info_config(this).GetCachedSize(), target, stream); + } + + // .service.VisionInput vision_input = 13; + if (this->_internal_has_vision_input()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(13, _Internal::vision_input(this), + _Internal::vision_input(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseRequest.GetResponseConfig) + return target; +} + +size_t GetResponseRequest_GetResponseConfig::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseRequest.GetResponseConfig) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // map narrative_template_keys = 11; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_narrative_template_keys_size()); + for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator + it = this->_internal_narrative_template_keys().begin(); + it != this->_internal_narrative_template_keys().end(); ++it) { + total_size += GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second); + } + + // string character_id = 2; + if (!this->_internal_character_id().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_character_id()); + } + + // string api_key = 3; + if (!this->_internal_api_key().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_api_key()); + } + + // string session_id = 4; + if (!this->_internal_session_id().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_session_id()); + } + + // string speaker = 7; + if (!this->_internal_speaker().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_speaker()); + } + + // string language_code = 8; + if (!this->_internal_language_code().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_language_code()); + } + + // string speaker_id = 9; + if (!this->_internal_speaker_id().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_speaker_id()); + } + + // string api_auth_token = 10; + if (!this->_internal_api_auth_token().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_api_auth_token()); + } + + // .service.AudioConfig audio_config = 5; + if (this->_internal_has_audio_config()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.audio_config_); + } + + // .service.ActionConfig action_config = 6; + if (this->_internal_has_action_config()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.action_config_); + } + + // .service.DynamicInfoConfig dynamic_info_config = 12; + if (this->_internal_has_dynamic_info_config()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.dynamic_info_config_); + } + + // .service.VisionInput vision_input = 13; + if (this->_internal_has_vision_input()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.vision_input_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetResponseRequest_GetResponseConfig::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + GetResponseRequest_GetResponseConfig::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetResponseRequest_GetResponseConfig::GetClassData() const { return &_class_data_; } + + +void GetResponseRequest_GetResponseConfig::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseRequest.GetResponseConfig) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_impl_.narrative_template_keys_.MergeFrom(from._impl_.narrative_template_keys_); + if (!from._internal_character_id().empty()) { + _this->_internal_set_character_id(from._internal_character_id()); + } + if (!from._internal_api_key().empty()) { + _this->_internal_set_api_key(from._internal_api_key()); + } + if (!from._internal_session_id().empty()) { + _this->_internal_set_session_id(from._internal_session_id()); + } + if (!from._internal_speaker().empty()) { + _this->_internal_set_speaker(from._internal_speaker()); + } + if (!from._internal_language_code().empty()) { + _this->_internal_set_language_code(from._internal_language_code()); + } + if (!from._internal_speaker_id().empty()) { + _this->_internal_set_speaker_id(from._internal_speaker_id()); + } + if (!from._internal_api_auth_token().empty()) { + _this->_internal_set_api_auth_token(from._internal_api_auth_token()); + } + if (from._internal_has_audio_config()) { + _this->_internal_mutable_audio_config()->::service::AudioConfig::MergeFrom( + from._internal_audio_config()); + } + if (from._internal_has_action_config()) { + _this->_internal_mutable_action_config()->::service::ActionConfig::MergeFrom( + from._internal_action_config()); + } + if (from._internal_has_dynamic_info_config()) { + _this->_internal_mutable_dynamic_info_config()->::service::DynamicInfoConfig::MergeFrom( + from._internal_dynamic_info_config()); + } + if (from._internal_has_vision_input()) { + _this->_internal_mutable_vision_input()->::service::VisionInput::MergeFrom( + from._internal_vision_input()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetResponseRequest_GetResponseConfig::CopyFrom(const GetResponseRequest_GetResponseConfig& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseRequest.GetResponseConfig) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseRequest_GetResponseConfig::IsInitialized() const { + return true; +} + +void GetResponseRequest_GetResponseConfig::InternalSwap(GetResponseRequest_GetResponseConfig* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.narrative_template_keys_.InternalSwap(&other->_impl_.narrative_template_keys_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.character_id_, lhs_arena, + &other->_impl_.character_id_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.api_key_, lhs_arena, + &other->_impl_.api_key_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.session_id_, lhs_arena, + &other->_impl_.session_id_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.speaker_, lhs_arena, + &other->_impl_.speaker_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.language_code_, lhs_arena, + &other->_impl_.language_code_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.speaker_id_, lhs_arena, + &other->_impl_.speaker_id_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.api_auth_token_, lhs_arena, + &other->_impl_.api_auth_token_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(GetResponseRequest_GetResponseConfig, _impl_.vision_input_) + + sizeof(GetResponseRequest_GetResponseConfig::_impl_.vision_input_) + - PROTOBUF_FIELD_OFFSET(GetResponseRequest_GetResponseConfig, _impl_.audio_config_)>( + reinterpret_cast(&_impl_.audio_config_), + reinterpret_cast(&other->_impl_.audio_config_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseRequest_GetResponseConfig::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[12]); +} + +// =================================================================== + +class GetResponseRequest_GetResponseData::_Internal { + public: + static const ::service::TriggerConfig& trigger_data(const GetResponseRequest_GetResponseData* msg); +}; + +const ::service::TriggerConfig& +GetResponseRequest_GetResponseData::_Internal::trigger_data(const GetResponseRequest_GetResponseData* msg) { + return *msg->_impl_.input_type_.trigger_data_; +} +void GetResponseRequest_GetResponseData::set_allocated_trigger_data(::service::TriggerConfig* trigger_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_input_type(); + if (trigger_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(trigger_data); + if (message_arena != submessage_arena) { + trigger_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, trigger_data, submessage_arena); + } + set_has_trigger_data(); + _impl_.input_type_.trigger_data_ = trigger_data; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseData.trigger_data) +} +GetResponseRequest_GetResponseData::GetResponseRequest_GetResponseData(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.GetResponseRequest.GetResponseData) +} +GetResponseRequest_GetResponseData::GetResponseRequest_GetResponseData(const GetResponseRequest_GetResponseData& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + GetResponseRequest_GetResponseData* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.input_type_){} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + clear_has_input_type(); + switch (from.input_type_case()) { + case kAudioData: { + _this->_internal_set_audio_data(from._internal_audio_data()); + break; + } + case kTextData: { + _this->_internal_set_text_data(from._internal_text_data()); + break; + } + case kTriggerData: { + _this->_internal_mutable_trigger_data()->::service::TriggerConfig::MergeFrom( + from._internal_trigger_data()); + break; + } + case INPUT_TYPE_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseRequest.GetResponseData) +} + +inline void GetResponseRequest_GetResponseData::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.input_type_){} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{} + }; + clear_has_input_type(); +} + +GetResponseRequest_GetResponseData::~GetResponseRequest_GetResponseData() { + // @@protoc_insertion_point(destructor:service.GetResponseRequest.GetResponseData) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void GetResponseRequest_GetResponseData::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (has_input_type()) { + clear_input_type(); + } +} + +void GetResponseRequest_GetResponseData::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void GetResponseRequest_GetResponseData::clear_input_type() { +// @@protoc_insertion_point(one_of_clear_start:service.GetResponseRequest.GetResponseData) + switch (input_type_case()) { + case kAudioData: { + _impl_.input_type_.audio_data_.Destroy(); + break; + } + case kTextData: { + _impl_.input_type_.text_data_.Destroy(); + break; + } + case kTriggerData: { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.input_type_.trigger_data_; + } + break; + } + case INPUT_TYPE_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = INPUT_TYPE_NOT_SET; +} + + +void GetResponseRequest_GetResponseData::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseRequest.GetResponseData) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_input_type(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseRequest_GetResponseData::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // bytes audio_data = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_audio_data(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string text_data = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_text_data(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseRequest.GetResponseData.text_data")); + } else + goto handle_unusual; + continue; + // .service.TriggerConfig trigger_data = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_trigger_data(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* GetResponseRequest_GetResponseData::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseRequest.GetResponseData) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // bytes audio_data = 1; + if (_internal_has_audio_data()) { + target = stream->WriteBytesMaybeAliased( + 1, this->_internal_audio_data(), target); + } + + // string text_data = 2; + if (_internal_has_text_data()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_text_data().data(), static_cast(this->_internal_text_data().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseRequest.GetResponseData.text_data"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_text_data(), target); + } + + // .service.TriggerConfig trigger_data = 3; + if (_internal_has_trigger_data()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, _Internal::trigger_data(this), + _Internal::trigger_data(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseRequest.GetResponseData) + return target; +} + +size_t GetResponseRequest_GetResponseData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseRequest.GetResponseData) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + switch (input_type_case()) { + // bytes audio_data = 1; + case kAudioData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->_internal_audio_data()); + break; + } + // string text_data = 2; + case kTextData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_text_data()); + break; + } + // .service.TriggerConfig trigger_data = 3; + case kTriggerData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.input_type_.trigger_data_); + break; + } + case INPUT_TYPE_NOT_SET: { + break; + } + } + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetResponseRequest_GetResponseData::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + GetResponseRequest_GetResponseData::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetResponseRequest_GetResponseData::GetClassData() const { return &_class_data_; } + + +void GetResponseRequest_GetResponseData::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseRequest.GetResponseData) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + switch (from.input_type_case()) { + case kAudioData: { + _this->_internal_set_audio_data(from._internal_audio_data()); + break; + } + case kTextData: { + _this->_internal_set_text_data(from._internal_text_data()); + break; + } + case kTriggerData: { + _this->_internal_mutable_trigger_data()->::service::TriggerConfig::MergeFrom( + from._internal_trigger_data()); + break; + } + case INPUT_TYPE_NOT_SET: { + break; + } + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetResponseRequest_GetResponseData::CopyFrom(const GetResponseRequest_GetResponseData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseRequest.GetResponseData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseRequest_GetResponseData::IsInitialized() const { + return true; +} + +void GetResponseRequest_GetResponseData::InternalSwap(GetResponseRequest_GetResponseData* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_.input_type_, other->_impl_.input_type_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseRequest_GetResponseData::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[13]); +} + +// =================================================================== + +class GetResponseRequest::_Internal { + public: + static const ::service::GetResponseRequest_GetResponseConfig& get_response_config(const GetResponseRequest* msg); + static const ::service::GetResponseRequest_GetResponseData& get_response_data(const GetResponseRequest* msg); +}; + +const ::service::GetResponseRequest_GetResponseConfig& +GetResponseRequest::_Internal::get_response_config(const GetResponseRequest* msg) { + return *msg->_impl_.request_type_.get_response_config_; +} +const ::service::GetResponseRequest_GetResponseData& +GetResponseRequest::_Internal::get_response_data(const GetResponseRequest* msg) { + return *msg->_impl_.request_type_.get_response_data_; +} +void GetResponseRequest::set_allocated_get_response_config(::service::GetResponseRequest_GetResponseConfig* get_response_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_request_type(); + if (get_response_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(get_response_config); + if (message_arena != submessage_arena) { + get_response_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, get_response_config, submessage_arena); + } + set_has_get_response_config(); + _impl_.request_type_.get_response_config_ = get_response_config; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.get_response_config) +} +void GetResponseRequest::set_allocated_get_response_data(::service::GetResponseRequest_GetResponseData* get_response_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_request_type(); + if (get_response_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(get_response_data); + if (message_arena != submessage_arena) { + get_response_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, get_response_data, submessage_arena); + } + set_has_get_response_data(); + _impl_.request_type_.get_response_data_ = get_response_data; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.get_response_data) +} +GetResponseRequest::GetResponseRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.GetResponseRequest) +} +GetResponseRequest::GetResponseRequest(const GetResponseRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + GetResponseRequest* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.request_type_){} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + clear_has_request_type(); + switch (from.request_type_case()) { + case kGetResponseConfig: { + _this->_internal_mutable_get_response_config()->::service::GetResponseRequest_GetResponseConfig::MergeFrom( + from._internal_get_response_config()); + break; + } + case kGetResponseData: { + _this->_internal_mutable_get_response_data()->::service::GetResponseRequest_GetResponseData::MergeFrom( + from._internal_get_response_data()); + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseRequest) +} + +inline void GetResponseRequest::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.request_type_){} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{} + }; + clear_has_request_type(); +} + +GetResponseRequest::~GetResponseRequest() { + // @@protoc_insertion_point(destructor:service.GetResponseRequest) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void GetResponseRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (has_request_type()) { + clear_request_type(); + } +} + +void GetResponseRequest::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void GetResponseRequest::clear_request_type() { +// @@protoc_insertion_point(one_of_clear_start:service.GetResponseRequest) + switch (request_type_case()) { + case kGetResponseConfig: { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.request_type_.get_response_config_; + } + break; + } + case kGetResponseData: { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.request_type_.get_response_data_; + } + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = REQUEST_TYPE_NOT_SET; +} + + +void GetResponseRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseRequest) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_request_type(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .service.GetResponseRequest.GetResponseConfig get_response_config = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_get_response_config(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service.GetResponseRequest.GetResponseData get_response_data = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_get_response_data(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* GetResponseRequest::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseRequest) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .service.GetResponseRequest.GetResponseConfig get_response_config = 1; + if (_internal_has_get_response_config()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::get_response_config(this), + _Internal::get_response_config(this).GetCachedSize(), target, stream); + } + + // .service.GetResponseRequest.GetResponseData get_response_data = 2; + if (_internal_has_get_response_data()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::get_response_data(this), + _Internal::get_response_data(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseRequest) + return target; +} + +size_t GetResponseRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseRequest) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + switch (request_type_case()) { + // .service.GetResponseRequest.GetResponseConfig get_response_config = 1; + case kGetResponseConfig: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.request_type_.get_response_config_); + break; + } + // .service.GetResponseRequest.GetResponseData get_response_data = 2; + case kGetResponseData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.request_type_.get_response_data_); + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetResponseRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + GetResponseRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetResponseRequest::GetClassData() const { return &_class_data_; } + + +void GetResponseRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseRequest) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + switch (from.request_type_case()) { + case kGetResponseConfig: { + _this->_internal_mutable_get_response_config()->::service::GetResponseRequest_GetResponseConfig::MergeFrom( + from._internal_get_response_config()); + break; + } + case kGetResponseData: { + _this->_internal_mutable_get_response_data()->::service::GetResponseRequest_GetResponseData::MergeFrom( + from._internal_get_response_data()); + break; + } + case REQUEST_TYPE_NOT_SET: { + break; + } + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetResponseRequest::CopyFrom(const GetResponseRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseRequest::IsInitialized() const { + return true; +} + +void GetResponseRequest::InternalSwap(GetResponseRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_.request_type_, other->_impl_.request_type_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseRequest::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[14]); +} + +// =================================================================== + +class GetResponseRequestSingle::_Internal { + public: + static const ::service::GetResponseRequest& response_config(const GetResponseRequestSingle* msg); + static const ::service::GetResponseRequest& response_data(const GetResponseRequestSingle* msg); +}; + +const ::service::GetResponseRequest& +GetResponseRequestSingle::_Internal::response_config(const GetResponseRequestSingle* msg) { + return *msg->_impl_.response_config_; +} +const ::service::GetResponseRequest& +GetResponseRequestSingle::_Internal::response_data(const GetResponseRequestSingle* msg) { + return *msg->_impl_.response_data_; +} +GetResponseRequestSingle::GetResponseRequestSingle(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.GetResponseRequestSingle) +} +GetResponseRequestSingle::GetResponseRequestSingle(const GetResponseRequestSingle& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + GetResponseRequestSingle* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.response_config_){nullptr} + , decltype(_impl_.response_data_){nullptr} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_response_config()) { + _this->_impl_.response_config_ = new ::service::GetResponseRequest(*from._impl_.response_config_); + } + if (from._internal_has_response_data()) { + _this->_impl_.response_data_ = new ::service::GetResponseRequest(*from._impl_.response_data_); + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseRequestSingle) +} + +inline void GetResponseRequestSingle::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.response_config_){nullptr} + , decltype(_impl_.response_data_){nullptr} + , /*decltype(_impl_._cached_size_)*/{} + }; +} + +GetResponseRequestSingle::~GetResponseRequestSingle() { + // @@protoc_insertion_point(destructor:service.GetResponseRequestSingle) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void GetResponseRequestSingle::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete _impl_.response_config_; + if (this != internal_default_instance()) delete _impl_.response_data_; +} + +void GetResponseRequestSingle::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void GetResponseRequestSingle::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseRequestSingle) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && _impl_.response_config_ != nullptr) { + delete _impl_.response_config_; + } + _impl_.response_config_ = nullptr; + if (GetArenaForAllocation() == nullptr && _impl_.response_data_ != nullptr) { + delete _impl_.response_data_; + } + _impl_.response_data_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseRequestSingle::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .service.GetResponseRequest response_config = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_response_config(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service.GetResponseRequest response_data = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_response_data(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* GetResponseRequestSingle::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseRequestSingle) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .service.GetResponseRequest response_config = 1; + if (this->_internal_has_response_config()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::response_config(this), + _Internal::response_config(this).GetCachedSize(), target, stream); + } + + // .service.GetResponseRequest response_data = 2; + if (this->_internal_has_response_data()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::response_data(this), + _Internal::response_data(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseRequestSingle) + return target; +} + +size_t GetResponseRequestSingle::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseRequestSingle) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .service.GetResponseRequest response_config = 1; + if (this->_internal_has_response_config()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.response_config_); + } + + // .service.GetResponseRequest response_data = 2; + if (this->_internal_has_response_data()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.response_data_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetResponseRequestSingle::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + GetResponseRequestSingle::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetResponseRequestSingle::GetClassData() const { return &_class_data_; } + + +void GetResponseRequestSingle::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseRequestSingle) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_response_config()) { + _this->_internal_mutable_response_config()->::service::GetResponseRequest::MergeFrom( + from._internal_response_config()); + } + if (from._internal_has_response_data()) { + _this->_internal_mutable_response_data()->::service::GetResponseRequest::MergeFrom( + from._internal_response_data()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetResponseRequestSingle::CopyFrom(const GetResponseRequestSingle& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseRequestSingle) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseRequestSingle::IsInitialized() const { + return true; +} + +void GetResponseRequestSingle::InternalSwap(GetResponseRequestSingle* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(GetResponseRequestSingle, _impl_.response_data_) + + sizeof(GetResponseRequestSingle::_impl_.response_data_) + - PROTOBUF_FIELD_OFFSET(GetResponseRequestSingle, _impl_.response_config_)>( + reinterpret_cast(&_impl_.response_config_), + reinterpret_cast(&other->_impl_.response_config_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseRequestSingle::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[15]); +} + +// =================================================================== + +class GetResponseResponse_AudioResponse::_Internal { + public: + static const ::service::AudioConfig& audio_config(const GetResponseResponse_AudioResponse* msg); + static const ::service::VisemesData& visemes_data(const GetResponseResponse_AudioResponse* msg); + static const ::service::BlendShapesData& blendshapes_data(const GetResponseResponse_AudioResponse* msg); + static const ::service::ARKitBlendShapesData& face_emotion(const GetResponseResponse_AudioResponse* msg); + static const ::service::EmotionResponse& emotion_response(const GetResponseResponse_AudioResponse* msg); +}; + +const ::service::AudioConfig& +GetResponseResponse_AudioResponse::_Internal::audio_config(const GetResponseResponse_AudioResponse* msg) { + return *msg->_impl_.audio_config_; +} +const ::service::VisemesData& +GetResponseResponse_AudioResponse::_Internal::visemes_data(const GetResponseResponse_AudioResponse* msg) { + return *msg->_impl_.face_data_type_.visemes_data_; +} +const ::service::BlendShapesData& +GetResponseResponse_AudioResponse::_Internal::blendshapes_data(const GetResponseResponse_AudioResponse* msg) { + return *msg->_impl_.face_data_type_.blendshapes_data_; +} +const ::service::ARKitBlendShapesData& +GetResponseResponse_AudioResponse::_Internal::face_emotion(const GetResponseResponse_AudioResponse* msg) { + return *msg->_impl_.face_emotion_; +} +const ::service::EmotionResponse& +GetResponseResponse_AudioResponse::_Internal::emotion_response(const GetResponseResponse_AudioResponse* msg) { + return *msg->_impl_.emotion_response_; +} +void GetResponseResponse_AudioResponse::set_allocated_visemes_data(::service::VisemesData* visemes_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_face_data_type(); + if (visemes_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(visemes_data); + if (message_arena != submessage_arena) { + visemes_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, visemes_data, submessage_arena); + } + set_has_visemes_data(); + _impl_.face_data_type_.visemes_data_ = visemes_data; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.visemes_data) +} +void GetResponseResponse_AudioResponse::set_allocated_blendshapes_data(::service::BlendShapesData* blendshapes_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_face_data_type(); + if (blendshapes_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(blendshapes_data); + if (message_arena != submessage_arena) { + blendshapes_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, blendshapes_data, submessage_arena); + } + set_has_blendshapes_data(); + _impl_.face_data_type_.blendshapes_data_ = blendshapes_data; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.blendshapes_data) +} +void GetResponseResponse_AudioResponse::clear_face_emotion() { + if (GetArenaForAllocation() == nullptr && _impl_.face_emotion_ != nullptr) { + delete _impl_.face_emotion_; + } + _impl_.face_emotion_ = nullptr; +} +GetResponseResponse_AudioResponse::GetResponseResponse_AudioResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.GetResponseResponse.AudioResponse) +} +GetResponseResponse_AudioResponse::GetResponseResponse_AudioResponse(const GetResponseResponse_AudioResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + GetResponseResponse_AudioResponse* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.audio_data_){} + , decltype(_impl_.text_data_){} + , decltype(_impl_.face_data_){} + , decltype(_impl_.audio_config_){nullptr} + , decltype(_impl_.face_emotion_){nullptr} + , decltype(_impl_.emotion_response_){nullptr} + , decltype(_impl_.end_of_response_){} + , decltype(_impl_.face_data_type_){} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.audio_data_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.audio_data_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_audio_data().empty()) { + _this->_impl_.audio_data_.Set(from._internal_audio_data(), + _this->GetArenaForAllocation()); + } + _impl_.text_data_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.text_data_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_text_data().empty()) { + _this->_impl_.text_data_.Set(from._internal_text_data(), + _this->GetArenaForAllocation()); + } + _impl_.face_data_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.face_data_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_face_data().empty()) { + _this->_impl_.face_data_.Set(from._internal_face_data(), + _this->GetArenaForAllocation()); + } + if (from._internal_has_audio_config()) { + _this->_impl_.audio_config_ = new ::service::AudioConfig(*from._impl_.audio_config_); + } + if (from._internal_has_face_emotion()) { + _this->_impl_.face_emotion_ = new ::service::ARKitBlendShapesData(*from._impl_.face_emotion_); + } + if (from._internal_has_emotion_response()) { + _this->_impl_.emotion_response_ = new ::service::EmotionResponse(*from._impl_.emotion_response_); + } + _this->_impl_.end_of_response_ = from._impl_.end_of_response_; + clear_has_face_data_type(); + switch (from.face_data_type_case()) { + case kVisemesData: { + _this->_internal_mutable_visemes_data()->::service::VisemesData::MergeFrom( + from._internal_visemes_data()); + break; + } + case kBlendshapesData: { + _this->_internal_mutable_blendshapes_data()->::service::BlendShapesData::MergeFrom( + from._internal_blendshapes_data()); + break; + } + case FACE_DATA_TYPE_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseResponse.AudioResponse) +} + +inline void GetResponseResponse_AudioResponse::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.audio_data_){} + , decltype(_impl_.text_data_){} + , decltype(_impl_.face_data_){} + , decltype(_impl_.audio_config_){nullptr} + , decltype(_impl_.face_emotion_){nullptr} + , decltype(_impl_.emotion_response_){nullptr} + , decltype(_impl_.end_of_response_){false} + , decltype(_impl_.face_data_type_){} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{} + }; + _impl_.audio_data_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.audio_data_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.text_data_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.text_data_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.face_data_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.face_data_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + clear_has_face_data_type(); +} + +GetResponseResponse_AudioResponse::~GetResponseResponse_AudioResponse() { + // @@protoc_insertion_point(destructor:service.GetResponseResponse.AudioResponse) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void GetResponseResponse_AudioResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.audio_data_.Destroy(); + _impl_.text_data_.Destroy(); + _impl_.face_data_.Destroy(); + if (this != internal_default_instance()) delete _impl_.audio_config_; + if (this != internal_default_instance()) delete _impl_.face_emotion_; + if (this != internal_default_instance()) delete _impl_.emotion_response_; + if (has_face_data_type()) { + clear_face_data_type(); + } +} + +void GetResponseResponse_AudioResponse::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void GetResponseResponse_AudioResponse::clear_face_data_type() { +// @@protoc_insertion_point(one_of_clear_start:service.GetResponseResponse.AudioResponse) + switch (face_data_type_case()) { + case kVisemesData: { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.face_data_type_.visemes_data_; + } + break; + } + case kBlendshapesData: { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.face_data_type_.blendshapes_data_; + } + break; + } + case FACE_DATA_TYPE_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = FACE_DATA_TYPE_NOT_SET; +} + + +void GetResponseResponse_AudioResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseResponse.AudioResponse) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.audio_data_.ClearToEmpty(); + _impl_.text_data_.ClearToEmpty(); + _impl_.face_data_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && _impl_.audio_config_ != nullptr) { + delete _impl_.audio_config_; + } + _impl_.audio_config_ = nullptr; + if (GetArenaForAllocation() == nullptr && _impl_.face_emotion_ != nullptr) { + delete _impl_.face_emotion_; + } + _impl_.face_emotion_ = nullptr; + if (GetArenaForAllocation() == nullptr && _impl_.emotion_response_ != nullptr) { + delete _impl_.emotion_response_; + } + _impl_.emotion_response_ = nullptr; + _impl_.end_of_response_ = false; + clear_face_data_type(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseResponse_AudioResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // bytes audio_data = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_audio_data(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service.AudioConfig audio_config = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_audio_config(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string text_data = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + auto str = _internal_mutable_text_data(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseResponse.AudioResponse.text_data")); + } else + goto handle_unusual; + continue; + // bool end_of_response = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { + _impl_.end_of_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string face_data = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + auto str = _internal_mutable_face_data(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseResponse.AudioResponse.face_data")); + } else + goto handle_unusual; + continue; + // .service.VisemesData visemes_data = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { + ptr = ctx->ParseMessage(_internal_mutable_visemes_data(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service.BlendShapesData blendshapes_data = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + ptr = ctx->ParseMessage(_internal_mutable_blendshapes_data(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service.ARKitBlendShapesData face_emotion = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { + ptr = ctx->ParseMessage(_internal_mutable_face_emotion(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service.EmotionResponse emotion_response = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 74)) { + ptr = ctx->ParseMessage(_internal_mutable_emotion_response(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* GetResponseResponse_AudioResponse::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseResponse.AudioResponse) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // bytes audio_data = 1; + if (!this->_internal_audio_data().empty()) { + target = stream->WriteBytesMaybeAliased( + 1, this->_internal_audio_data(), target); + } + + // .service.AudioConfig audio_config = 2; + if (this->_internal_has_audio_config()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::audio_config(this), + _Internal::audio_config(this).GetCachedSize(), target, stream); + } + + // string text_data = 3; + if (!this->_internal_text_data().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_text_data().data(), static_cast(this->_internal_text_data().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.AudioResponse.text_data"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_text_data(), target); + } + + // bool end_of_response = 4; + if (this->_internal_end_of_response() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_end_of_response(), target); + } + + // string face_data = 5; + if (!this->_internal_face_data().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_face_data().data(), static_cast(this->_internal_face_data().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.AudioResponse.face_data"); + target = stream->WriteStringMaybeAliased( + 5, this->_internal_face_data(), target); + } + + // .service.VisemesData visemes_data = 6; + if (_internal_has_visemes_data()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(6, _Internal::visemes_data(this), + _Internal::visemes_data(this).GetCachedSize(), target, stream); + } + + // .service.BlendShapesData blendshapes_data = 7; + if (_internal_has_blendshapes_data()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(7, _Internal::blendshapes_data(this), + _Internal::blendshapes_data(this).GetCachedSize(), target, stream); + } + + // .service.ARKitBlendShapesData face_emotion = 8; + if (this->_internal_has_face_emotion()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(8, _Internal::face_emotion(this), + _Internal::face_emotion(this).GetCachedSize(), target, stream); + } + + // .service.EmotionResponse emotion_response = 9; + if (this->_internal_has_emotion_response()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(9, _Internal::emotion_response(this), + _Internal::emotion_response(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseResponse.AudioResponse) + return target; +} + +size_t GetResponseResponse_AudioResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseResponse.AudioResponse) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // bytes audio_data = 1; + if (!this->_internal_audio_data().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->_internal_audio_data()); + } + + // string text_data = 3; + if (!this->_internal_text_data().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_text_data()); + } + + // string face_data = 5; + if (!this->_internal_face_data().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_face_data()); + } + + // .service.AudioConfig audio_config = 2; + if (this->_internal_has_audio_config()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.audio_config_); + } + + // .service.ARKitBlendShapesData face_emotion = 8; + if (this->_internal_has_face_emotion()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.face_emotion_); + } + + // .service.EmotionResponse emotion_response = 9; + if (this->_internal_has_emotion_response()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.emotion_response_); + } + + // bool end_of_response = 4; + if (this->_internal_end_of_response() != 0) { + total_size += 1 + 1; + } + + switch (face_data_type_case()) { + // .service.VisemesData visemes_data = 6; + case kVisemesData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.face_data_type_.visemes_data_); + break; + } + // .service.BlendShapesData blendshapes_data = 7; + case kBlendshapesData: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.face_data_type_.blendshapes_data_); + break; + } + case FACE_DATA_TYPE_NOT_SET: { + break; + } + } + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetResponseResponse_AudioResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + GetResponseResponse_AudioResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetResponseResponse_AudioResponse::GetClassData() const { return &_class_data_; } + + +void GetResponseResponse_AudioResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseResponse.AudioResponse) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_audio_data().empty()) { + _this->_internal_set_audio_data(from._internal_audio_data()); + } + if (!from._internal_text_data().empty()) { + _this->_internal_set_text_data(from._internal_text_data()); + } + if (!from._internal_face_data().empty()) { + _this->_internal_set_face_data(from._internal_face_data()); + } + if (from._internal_has_audio_config()) { + _this->_internal_mutable_audio_config()->::service::AudioConfig::MergeFrom( + from._internal_audio_config()); + } + if (from._internal_has_face_emotion()) { + _this->_internal_mutable_face_emotion()->::service::ARKitBlendShapesData::MergeFrom( + from._internal_face_emotion()); + } + if (from._internal_has_emotion_response()) { + _this->_internal_mutable_emotion_response()->::service::EmotionResponse::MergeFrom( + from._internal_emotion_response()); + } + if (from._internal_end_of_response() != 0) { + _this->_internal_set_end_of_response(from._internal_end_of_response()); + } + switch (from.face_data_type_case()) { + case kVisemesData: { + _this->_internal_mutable_visemes_data()->::service::VisemesData::MergeFrom( + from._internal_visemes_data()); + break; + } + case kBlendshapesData: { + _this->_internal_mutable_blendshapes_data()->::service::BlendShapesData::MergeFrom( + from._internal_blendshapes_data()); + break; + } + case FACE_DATA_TYPE_NOT_SET: { + break; + } + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetResponseResponse_AudioResponse::CopyFrom(const GetResponseResponse_AudioResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseResponse.AudioResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseResponse_AudioResponse::IsInitialized() const { + return true; +} + +void GetResponseResponse_AudioResponse::InternalSwap(GetResponseResponse_AudioResponse* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.audio_data_, lhs_arena, + &other->_impl_.audio_data_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.text_data_, lhs_arena, + &other->_impl_.text_data_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.face_data_, lhs_arena, + &other->_impl_.face_data_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(GetResponseResponse_AudioResponse, _impl_.end_of_response_) + + sizeof(GetResponseResponse_AudioResponse::_impl_.end_of_response_) + - PROTOBUF_FIELD_OFFSET(GetResponseResponse_AudioResponse, _impl_.audio_config_)>( + reinterpret_cast(&_impl_.audio_config_), + reinterpret_cast(&other->_impl_.audio_config_)); + swap(_impl_.face_data_type_, other->_impl_.face_data_type_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseResponse_AudioResponse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[16]); +} + +// =================================================================== + +class GetResponseResponse_ActionResponse::_Internal { + public: +}; + +GetResponseResponse_ActionResponse::GetResponseResponse_ActionResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.GetResponseResponse.ActionResponse) +} +GetResponseResponse_ActionResponse::GetResponseResponse_ActionResponse(const GetResponseResponse_ActionResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + GetResponseResponse_ActionResponse* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.action_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.action_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.action_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_action().empty()) { + _this->_impl_.action_.Set(from._internal_action(), + _this->GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseResponse.ActionResponse) +} + +inline void GetResponseResponse_ActionResponse::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.action_){} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.action_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.action_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +GetResponseResponse_ActionResponse::~GetResponseResponse_ActionResponse() { + // @@protoc_insertion_point(destructor:service.GetResponseResponse.ActionResponse) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void GetResponseResponse_ActionResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.action_.Destroy(); +} + +void GetResponseResponse_ActionResponse::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void GetResponseResponse_ActionResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseResponse.ActionResponse) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.action_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseResponse_ActionResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string action = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_action(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseResponse.ActionResponse.action")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* GetResponseResponse_ActionResponse::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseResponse.ActionResponse) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string action = 1; + if (!this->_internal_action().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_action().data(), static_cast(this->_internal_action().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.ActionResponse.action"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_action(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseResponse.ActionResponse) + return target; +} + +size_t GetResponseResponse_ActionResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseResponse.ActionResponse) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string action = 1; + if (!this->_internal_action().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_action()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetResponseResponse_ActionResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + GetResponseResponse_ActionResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetResponseResponse_ActionResponse::GetClassData() const { return &_class_data_; } + + +void GetResponseResponse_ActionResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseResponse.ActionResponse) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_action().empty()) { + _this->_internal_set_action(from._internal_action()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetResponseResponse_ActionResponse::CopyFrom(const GetResponseResponse_ActionResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseResponse.ActionResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseResponse_ActionResponse::IsInitialized() const { + return true; +} + +void GetResponseResponse_ActionResponse::InternalSwap(GetResponseResponse_ActionResponse* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.action_, lhs_arena, + &other->_impl_.action_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseResponse_ActionResponse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[17]); +} + +// =================================================================== + +class GetResponseResponse_BehaviorTreeResponse::_Internal { + public: +}; + +GetResponseResponse_BehaviorTreeResponse::GetResponseResponse_BehaviorTreeResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.GetResponseResponse.BehaviorTreeResponse) +} +GetResponseResponse_BehaviorTreeResponse::GetResponseResponse_BehaviorTreeResponse(const GetResponseResponse_BehaviorTreeResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + GetResponseResponse_BehaviorTreeResponse* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.bt_code_){} + , decltype(_impl_.bt_constants_){} + , decltype(_impl_.narrative_section_id_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.bt_code_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.bt_code_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_bt_code().empty()) { + _this->_impl_.bt_code_.Set(from._internal_bt_code(), + _this->GetArenaForAllocation()); + } + _impl_.bt_constants_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.bt_constants_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_bt_constants().empty()) { + _this->_impl_.bt_constants_.Set(from._internal_bt_constants(), + _this->GetArenaForAllocation()); + } + _impl_.narrative_section_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.narrative_section_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_narrative_section_id().empty()) { + _this->_impl_.narrative_section_id_.Set(from._internal_narrative_section_id(), + _this->GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseResponse.BehaviorTreeResponse) +} + +inline void GetResponseResponse_BehaviorTreeResponse::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.bt_code_){} + , decltype(_impl_.bt_constants_){} + , decltype(_impl_.narrative_section_id_){} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.bt_code_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.bt_code_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.bt_constants_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.bt_constants_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.narrative_section_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.narrative_section_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +GetResponseResponse_BehaviorTreeResponse::~GetResponseResponse_BehaviorTreeResponse() { + // @@protoc_insertion_point(destructor:service.GetResponseResponse.BehaviorTreeResponse) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void GetResponseResponse_BehaviorTreeResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.bt_code_.Destroy(); + _impl_.bt_constants_.Destroy(); + _impl_.narrative_section_id_.Destroy(); +} + +void GetResponseResponse_BehaviorTreeResponse::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void GetResponseResponse_BehaviorTreeResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseResponse.BehaviorTreeResponse) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.bt_code_.ClearToEmpty(); + _impl_.bt_constants_.ClearToEmpty(); + _impl_.narrative_section_id_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseResponse_BehaviorTreeResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string bt_code = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_bt_code(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseResponse.BehaviorTreeResponse.bt_code")); + } else + goto handle_unusual; + continue; + // string bt_constants = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_bt_constants(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseResponse.BehaviorTreeResponse.bt_constants")); + } else + goto handle_unusual; + continue; + // string narrative_section_id = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + auto str = _internal_mutable_narrative_section_id(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* GetResponseResponse_BehaviorTreeResponse::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseResponse.BehaviorTreeResponse) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string bt_code = 1; + if (!this->_internal_bt_code().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_bt_code().data(), static_cast(this->_internal_bt_code().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.BehaviorTreeResponse.bt_code"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_bt_code(), target); + } + + // string bt_constants = 2; + if (!this->_internal_bt_constants().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_bt_constants().data(), static_cast(this->_internal_bt_constants().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.BehaviorTreeResponse.bt_constants"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_bt_constants(), target); + } + + // string narrative_section_id = 3; + if (!this->_internal_narrative_section_id().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_narrative_section_id().data(), static_cast(this->_internal_narrative_section_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_narrative_section_id(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseResponse.BehaviorTreeResponse) + return target; +} + +size_t GetResponseResponse_BehaviorTreeResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseResponse.BehaviorTreeResponse) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string bt_code = 1; + if (!this->_internal_bt_code().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_bt_code()); + } + + // string bt_constants = 2; + if (!this->_internal_bt_constants().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_bt_constants()); + } + + // string narrative_section_id = 3; + if (!this->_internal_narrative_section_id().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_narrative_section_id()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetResponseResponse_BehaviorTreeResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + GetResponseResponse_BehaviorTreeResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetResponseResponse_BehaviorTreeResponse::GetClassData() const { return &_class_data_; } + + +void GetResponseResponse_BehaviorTreeResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseResponse.BehaviorTreeResponse) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_bt_code().empty()) { + _this->_internal_set_bt_code(from._internal_bt_code()); + } + if (!from._internal_bt_constants().empty()) { + _this->_internal_set_bt_constants(from._internal_bt_constants()); + } + if (!from._internal_narrative_section_id().empty()) { + _this->_internal_set_narrative_section_id(from._internal_narrative_section_id()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetResponseResponse_BehaviorTreeResponse::CopyFrom(const GetResponseResponse_BehaviorTreeResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseResponse.BehaviorTreeResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseResponse_BehaviorTreeResponse::IsInitialized() const { + return true; +} + +void GetResponseResponse_BehaviorTreeResponse::InternalSwap(GetResponseResponse_BehaviorTreeResponse* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.bt_code_, lhs_arena, + &other->_impl_.bt_code_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.bt_constants_, lhs_arena, + &other->_impl_.bt_constants_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.narrative_section_id_, lhs_arena, + &other->_impl_.narrative_section_id_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseResponse_BehaviorTreeResponse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[18]); +} + +// =================================================================== + +class GetResponseResponse_UserTranscript::_Internal { + public: +}; + +GetResponseResponse_UserTranscript::GetResponseResponse_UserTranscript(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.GetResponseResponse.UserTranscript) +} +GetResponseResponse_UserTranscript::GetResponseResponse_UserTranscript(const GetResponseResponse_UserTranscript& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + GetResponseResponse_UserTranscript* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.text_data_){} + , decltype(_impl_.is_final_){} + , decltype(_impl_.end_of_response_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.text_data_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.text_data_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_text_data().empty()) { + _this->_impl_.text_data_.Set(from._internal_text_data(), + _this->GetArenaForAllocation()); + } + ::memcpy(&_impl_.is_final_, &from._impl_.is_final_, + static_cast(reinterpret_cast(&_impl_.end_of_response_) - + reinterpret_cast(&_impl_.is_final_)) + sizeof(_impl_.end_of_response_)); + // @@protoc_insertion_point(copy_constructor:service.GetResponseResponse.UserTranscript) +} + +inline void GetResponseResponse_UserTranscript::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.text_data_){} + , decltype(_impl_.is_final_){false} + , decltype(_impl_.end_of_response_){false} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.text_data_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.text_data_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +GetResponseResponse_UserTranscript::~GetResponseResponse_UserTranscript() { + // @@protoc_insertion_point(destructor:service.GetResponseResponse.UserTranscript) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void GetResponseResponse_UserTranscript::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.text_data_.Destroy(); +} + +void GetResponseResponse_UserTranscript::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void GetResponseResponse_UserTranscript::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseResponse.UserTranscript) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.text_data_.ClearToEmpty(); + ::memset(&_impl_.is_final_, 0, static_cast( + reinterpret_cast(&_impl_.end_of_response_) - + reinterpret_cast(&_impl_.is_final_)) + sizeof(_impl_.end_of_response_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseResponse_UserTranscript::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string text_data = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_text_data(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseResponse.UserTranscript.text_data")); + } else + goto handle_unusual; + continue; + // bool is_final = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + _impl_.is_final_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // bool end_of_response = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + _impl_.end_of_response_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* GetResponseResponse_UserTranscript::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseResponse.UserTranscript) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string text_data = 1; + if (!this->_internal_text_data().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_text_data().data(), static_cast(this->_internal_text_data().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.UserTranscript.text_data"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_text_data(), target); + } + + // bool is_final = 2; + if (this->_internal_is_final() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_is_final(), target); + } + + // bool end_of_response = 3; + if (this->_internal_end_of_response() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_end_of_response(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseResponse.UserTranscript) + return target; +} + +size_t GetResponseResponse_UserTranscript::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseResponse.UserTranscript) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string text_data = 1; + if (!this->_internal_text_data().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_text_data()); + } + + // bool is_final = 2; + if (this->_internal_is_final() != 0) { + total_size += 1 + 1; + } + + // bool end_of_response = 3; + if (this->_internal_end_of_response() != 0) { + total_size += 1 + 1; + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetResponseResponse_UserTranscript::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + GetResponseResponse_UserTranscript::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetResponseResponse_UserTranscript::GetClassData() const { return &_class_data_; } + + +void GetResponseResponse_UserTranscript::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseResponse.UserTranscript) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_text_data().empty()) { + _this->_internal_set_text_data(from._internal_text_data()); + } + if (from._internal_is_final() != 0) { + _this->_internal_set_is_final(from._internal_is_final()); + } + if (from._internal_end_of_response() != 0) { + _this->_internal_set_end_of_response(from._internal_end_of_response()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetResponseResponse_UserTranscript::CopyFrom(const GetResponseResponse_UserTranscript& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseResponse.UserTranscript) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseResponse_UserTranscript::IsInitialized() const { + return true; +} + +void GetResponseResponse_UserTranscript::InternalSwap(GetResponseResponse_UserTranscript* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.text_data_, lhs_arena, + &other->_impl_.text_data_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(GetResponseResponse_UserTranscript, _impl_.end_of_response_) + + sizeof(GetResponseResponse_UserTranscript::_impl_.end_of_response_) + - PROTOBUF_FIELD_OFFSET(GetResponseResponse_UserTranscript, _impl_.is_final_)>( + reinterpret_cast(&_impl_.is_final_), + reinterpret_cast(&other->_impl_.is_final_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseResponse_UserTranscript::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[19]); +} + +// =================================================================== + +class GetResponseResponse::_Internal { + public: + static const ::service::GetResponseResponse_ActionResponse& action_response(const GetResponseResponse* msg); + static const ::service::GetResponseResponse_AudioResponse& audio_response(const GetResponseResponse* msg); + static const ::service::GetResponseResponse_UserTranscript& user_query(const GetResponseResponse* msg); + static const ::service::GetResponseResponse_BehaviorTreeResponse& bt_response(const GetResponseResponse* msg); +}; + +const ::service::GetResponseResponse_ActionResponse& +GetResponseResponse::_Internal::action_response(const GetResponseResponse* msg) { + return *msg->_impl_.response_type_.action_response_; +} +const ::service::GetResponseResponse_AudioResponse& +GetResponseResponse::_Internal::audio_response(const GetResponseResponse* msg) { + return *msg->_impl_.response_type_.audio_response_; +} +const ::service::GetResponseResponse_UserTranscript& +GetResponseResponse::_Internal::user_query(const GetResponseResponse* msg) { + return *msg->_impl_.response_type_.user_query_; +} +const ::service::GetResponseResponse_BehaviorTreeResponse& +GetResponseResponse::_Internal::bt_response(const GetResponseResponse* msg) { + return *msg->_impl_.response_type_.bt_response_; +} +void GetResponseResponse::set_allocated_action_response(::service::GetResponseResponse_ActionResponse* action_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_response_type(); + if (action_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(action_response); + if (message_arena != submessage_arena) { + action_response = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, action_response, submessage_arena); + } + set_has_action_response(); + _impl_.response_type_.action_response_ = action_response; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.action_response) +} +void GetResponseResponse::set_allocated_audio_response(::service::GetResponseResponse_AudioResponse* audio_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_response_type(); + if (audio_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(audio_response); + if (message_arena != submessage_arena) { + audio_response = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, audio_response, submessage_arena); + } + set_has_audio_response(); + _impl_.response_type_.audio_response_ = audio_response; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.audio_response) +} +void GetResponseResponse::set_allocated_user_query(::service::GetResponseResponse_UserTranscript* user_query) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_response_type(); + if (user_query) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(user_query); + if (message_arena != submessage_arena) { + user_query = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, user_query, submessage_arena); + } + set_has_user_query(); + _impl_.response_type_.user_query_ = user_query; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.user_query) +} +void GetResponseResponse::set_allocated_bt_response(::service::GetResponseResponse_BehaviorTreeResponse* bt_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_response_type(); + if (bt_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(bt_response); + if (message_arena != submessage_arena) { + bt_response = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, bt_response, submessage_arena); + } + set_has_bt_response(); + _impl_.response_type_.bt_response_ = bt_response; + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.bt_response) +} +GetResponseResponse::GetResponseResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.GetResponseResponse) +} +GetResponseResponse::GetResponseResponse(const GetResponseResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + GetResponseResponse* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.session_id_){} + , decltype(_impl_.response_type_){} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.session_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.session_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_session_id().empty()) { + _this->_impl_.session_id_.Set(from._internal_session_id(), + _this->GetArenaForAllocation()); + } + clear_has_response_type(); + switch (from.response_type_case()) { + case kActionResponse: { + _this->_internal_mutable_action_response()->::service::GetResponseResponse_ActionResponse::MergeFrom( + from._internal_action_response()); + break; + } + case kAudioResponse: { + _this->_internal_mutable_audio_response()->::service::GetResponseResponse_AudioResponse::MergeFrom( + from._internal_audio_response()); + break; + } + case kDebugLog: { + _this->_internal_set_debug_log(from._internal_debug_log()); + break; + } + case kUserQuery: { + _this->_internal_mutable_user_query()->::service::GetResponseResponse_UserTranscript::MergeFrom( + from._internal_user_query()); + break; + } + case kBtResponse: { + _this->_internal_mutable_bt_response()->::service::GetResponseResponse_BehaviorTreeResponse::MergeFrom( + from._internal_bt_response()); + break; + } + case kEmotionResponse: { + _this->_internal_set_emotion_response(from._internal_emotion_response()); + break; + } + case kInteractionId: { + _this->_internal_set_interaction_id(from._internal_interaction_id()); + break; + } + case RESPONSE_TYPE_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:service.GetResponseResponse) +} + +inline void GetResponseResponse::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.session_id_){} + , decltype(_impl_.response_type_){} + , /*decltype(_impl_._cached_size_)*/{} + , /*decltype(_impl_._oneof_case_)*/{} + }; + _impl_.session_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.session_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + clear_has_response_type(); +} + +GetResponseResponse::~GetResponseResponse() { + // @@protoc_insertion_point(destructor:service.GetResponseResponse) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void GetResponseResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.session_id_.Destroy(); + if (has_response_type()) { + clear_response_type(); + } +} + +void GetResponseResponse::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void GetResponseResponse::clear_response_type() { +// @@protoc_insertion_point(one_of_clear_start:service.GetResponseResponse) + switch (response_type_case()) { + case kActionResponse: { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.response_type_.action_response_; + } + break; + } + case kAudioResponse: { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.response_type_.audio_response_; + } + break; + } + case kDebugLog: { + _impl_.response_type_.debug_log_.Destroy(); + break; + } + case kUserQuery: { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.response_type_.user_query_; + } + break; + } + case kBtResponse: { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.response_type_.bt_response_; + } + break; + } + case kEmotionResponse: { + _impl_.response_type_.emotion_response_.Destroy(); + break; + } + case kInteractionId: { + _impl_.response_type_.interaction_id_.Destroy(); + break; + } + case RESPONSE_TYPE_NOT_SET: { + break; + } + } + _impl_._oneof_case_[0] = RESPONSE_TYPE_NOT_SET; +} + + +void GetResponseResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.GetResponseResponse) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.session_id_.ClearToEmpty(); + clear_response_type(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetResponseResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string session_id = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_session_id(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseResponse.session_id")); + } else + goto handle_unusual; + continue; + // .service.GetResponseResponse.ActionResponse action_response = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_action_response(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service.GetResponseResponse.AudioResponse audio_response = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_audio_response(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string debug_log = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + auto str = _internal_mutable_debug_log(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseResponse.debug_log")); + } else + goto handle_unusual; + continue; + // .service.GetResponseResponse.UserTranscript user_query = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + ptr = ctx->ParseMessage(_internal_mutable_user_query(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .service.GetResponseResponse.BehaviorTreeResponse bt_response = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { + ptr = ctx->ParseMessage(_internal_mutable_bt_response(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string emotion_response = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + auto str = _internal_mutable_emotion_response(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseResponse.emotion_response")); + } else + goto handle_unusual; + continue; + // string interaction_id = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { + auto str = _internal_mutable_interaction_id(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.GetResponseResponse.interaction_id")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* GetResponseResponse::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.GetResponseResponse) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string session_id = 1; + if (!this->_internal_session_id().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_session_id().data(), static_cast(this->_internal_session_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.session_id"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_session_id(), target); + } + + // .service.GetResponseResponse.ActionResponse action_response = 2; + if (_internal_has_action_response()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::action_response(this), + _Internal::action_response(this).GetCachedSize(), target, stream); + } + + // .service.GetResponseResponse.AudioResponse audio_response = 3; + if (_internal_has_audio_response()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, _Internal::audio_response(this), + _Internal::audio_response(this).GetCachedSize(), target, stream); + } + + // string debug_log = 4; + if (_internal_has_debug_log()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_debug_log().data(), static_cast(this->_internal_debug_log().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.debug_log"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_debug_log(), target); + } + + // .service.GetResponseResponse.UserTranscript user_query = 5; + if (_internal_has_user_query()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(5, _Internal::user_query(this), + _Internal::user_query(this).GetCachedSize(), target, stream); + } + + // .service.GetResponseResponse.BehaviorTreeResponse bt_response = 6; + if (_internal_has_bt_response()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(6, _Internal::bt_response(this), + _Internal::bt_response(this).GetCachedSize(), target, stream); + } + + // string emotion_response = 7; + if (_internal_has_emotion_response()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_emotion_response().data(), static_cast(this->_internal_emotion_response().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.emotion_response"); + target = stream->WriteStringMaybeAliased( + 7, this->_internal_emotion_response(), target); + } + + // string interaction_id = 8; + if (_internal_has_interaction_id()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_interaction_id().data(), static_cast(this->_internal_interaction_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.GetResponseResponse.interaction_id"); + target = stream->WriteStringMaybeAliased( + 8, this->_internal_interaction_id(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.GetResponseResponse) + return target; +} + +size_t GetResponseResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.GetResponseResponse) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string session_id = 1; + if (!this->_internal_session_id().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_session_id()); + } + + switch (response_type_case()) { + // .service.GetResponseResponse.ActionResponse action_response = 2; + case kActionResponse: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.response_type_.action_response_); + break; + } + // .service.GetResponseResponse.AudioResponse audio_response = 3; + case kAudioResponse: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.response_type_.audio_response_); + break; + } + // string debug_log = 4; + case kDebugLog: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_debug_log()); + break; + } + // .service.GetResponseResponse.UserTranscript user_query = 5; + case kUserQuery: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.response_type_.user_query_); + break; + } + // .service.GetResponseResponse.BehaviorTreeResponse bt_response = 6; + case kBtResponse: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.response_type_.bt_response_); + break; + } + // string emotion_response = 7; + case kEmotionResponse: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_emotion_response()); + break; + } + // string interaction_id = 8; + case kInteractionId: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_interaction_id()); + break; + } + case RESPONSE_TYPE_NOT_SET: { + break; + } + } + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetResponseResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + GetResponseResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetResponseResponse::GetClassData() const { return &_class_data_; } + + +void GetResponseResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.GetResponseResponse) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_session_id().empty()) { + _this->_internal_set_session_id(from._internal_session_id()); + } + switch (from.response_type_case()) { + case kActionResponse: { + _this->_internal_mutable_action_response()->::service::GetResponseResponse_ActionResponse::MergeFrom( + from._internal_action_response()); + break; + } + case kAudioResponse: { + _this->_internal_mutable_audio_response()->::service::GetResponseResponse_AudioResponse::MergeFrom( + from._internal_audio_response()); + break; + } + case kDebugLog: { + _this->_internal_set_debug_log(from._internal_debug_log()); + break; + } + case kUserQuery: { + _this->_internal_mutable_user_query()->::service::GetResponseResponse_UserTranscript::MergeFrom( + from._internal_user_query()); + break; + } + case kBtResponse: { + _this->_internal_mutable_bt_response()->::service::GetResponseResponse_BehaviorTreeResponse::MergeFrom( + from._internal_bt_response()); + break; + } + case kEmotionResponse: { + _this->_internal_set_emotion_response(from._internal_emotion_response()); + break; + } + case kInteractionId: { + _this->_internal_set_interaction_id(from._internal_interaction_id()); + break; + } + case RESPONSE_TYPE_NOT_SET: { + break; + } + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetResponseResponse::CopyFrom(const GetResponseResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.GetResponseResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetResponseResponse::IsInitialized() const { + return true; +} + +void GetResponseResponse::InternalSwap(GetResponseResponse* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.session_id_, lhs_arena, + &other->_impl_.session_id_, rhs_arena + ); + swap(_impl_.response_type_, other->_impl_.response_type_); + swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetResponseResponse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[20]); +} + +// =================================================================== + +class VisemesData::_Internal { + public: + static const ::service::Viseme& visemes(const VisemesData* msg); +}; + +const ::service::Viseme& +VisemesData::_Internal::visemes(const VisemesData* msg) { + return *msg->_impl_.visemes_; +} +VisemesData::VisemesData(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.VisemesData) +} +VisemesData::VisemesData(const VisemesData& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + VisemesData* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.visemes_){nullptr} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_visemes()) { + _this->_impl_.visemes_ = new ::service::Viseme(*from._impl_.visemes_); + } + // @@protoc_insertion_point(copy_constructor:service.VisemesData) +} + +inline void VisemesData::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.visemes_){nullptr} + , /*decltype(_impl_._cached_size_)*/{} + }; +} + +VisemesData::~VisemesData() { + // @@protoc_insertion_point(destructor:service.VisemesData) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void VisemesData::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete _impl_.visemes_; +} + +void VisemesData::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void VisemesData::Clear() { +// @@protoc_insertion_point(message_clear_start:service.VisemesData) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && _impl_.visemes_ != nullptr) { + delete _impl_.visemes_; + } + _impl_.visemes_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* VisemesData::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .service.Viseme visemes = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_visemes(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* VisemesData::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.VisemesData) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .service.Viseme visemes = 1; + if (this->_internal_has_visemes()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::visemes(this), + _Internal::visemes(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.VisemesData) + return target; +} + +size_t VisemesData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.VisemesData) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .service.Viseme visemes = 1; + if (this->_internal_has_visemes()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.visemes_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData VisemesData::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + VisemesData::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*VisemesData::GetClassData() const { return &_class_data_; } + + +void VisemesData::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.VisemesData) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_visemes()) { + _this->_internal_mutable_visemes()->::service::Viseme::MergeFrom( + from._internal_visemes()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void VisemesData::CopyFrom(const VisemesData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.VisemesData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool VisemesData::IsInitialized() const { + return true; +} + +void VisemesData::InternalSwap(VisemesData* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_.visemes_, other->_impl_.visemes_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata VisemesData::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[21]); +} + +// =================================================================== + +class EmotionResponse::_Internal { + public: +}; + +EmotionResponse::EmotionResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.EmotionResponse) +} +EmotionResponse::EmotionResponse(const EmotionResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + EmotionResponse* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.emotion_){} + , decltype(_impl_.scale_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.emotion_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.emotion_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_emotion().empty()) { + _this->_impl_.emotion_.Set(from._internal_emotion(), + _this->GetArenaForAllocation()); + } + _impl_.scale_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.scale_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_scale().empty()) { + _this->_impl_.scale_.Set(from._internal_scale(), + _this->GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:service.EmotionResponse) +} + +inline void EmotionResponse::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.emotion_){} + , decltype(_impl_.scale_){} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.emotion_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.emotion_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.scale_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.scale_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +EmotionResponse::~EmotionResponse() { + // @@protoc_insertion_point(destructor:service.EmotionResponse) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void EmotionResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.emotion_.Destroy(); + _impl_.scale_.Destroy(); +} + +void EmotionResponse::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void EmotionResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.EmotionResponse) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.emotion_.ClearToEmpty(); + _impl_.scale_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* EmotionResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string emotion = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_emotion(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.EmotionResponse.emotion")); + } else + goto handle_unusual; + continue; + // string scale = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_scale(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.EmotionResponse.scale")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* EmotionResponse::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.EmotionResponse) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string emotion = 1; + if (!this->_internal_emotion().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_emotion().data(), static_cast(this->_internal_emotion().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.EmotionResponse.emotion"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_emotion(), target); + } + + // string scale = 2; + if (!this->_internal_scale().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_scale().data(), static_cast(this->_internal_scale().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.EmotionResponse.scale"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_scale(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.EmotionResponse) + return target; +} + +size_t EmotionResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.EmotionResponse) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string emotion = 1; + if (!this->_internal_emotion().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_emotion()); + } + + // string scale = 2; + if (!this->_internal_scale().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_scale()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData EmotionResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + EmotionResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*EmotionResponse::GetClassData() const { return &_class_data_; } + + +void EmotionResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.EmotionResponse) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_emotion().empty()) { + _this->_internal_set_emotion(from._internal_emotion()); + } + if (!from._internal_scale().empty()) { + _this->_internal_set_scale(from._internal_scale()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void EmotionResponse::CopyFrom(const EmotionResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.EmotionResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool EmotionResponse::IsInitialized() const { + return true; +} + +void EmotionResponse::InternalSwap(EmotionResponse* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.emotion_, lhs_arena, + &other->_impl_.emotion_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.scale_, lhs_arena, + &other->_impl_.scale_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata EmotionResponse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[22]); +} + +// =================================================================== + +class Viseme::_Internal { + public: +}; + +Viseme::Viseme(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.Viseme) +} +Viseme::Viseme(const Viseme& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + Viseme* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.sil_){} + , decltype(_impl_.pp_){} + , decltype(_impl_.ff_){} + , decltype(_impl_.th_){} + , decltype(_impl_.dd_){} + , decltype(_impl_.kk_){} + , decltype(_impl_.ch_){} + , decltype(_impl_.ss_){} + , decltype(_impl_.nn_){} + , decltype(_impl_.rr_){} + , decltype(_impl_.aa_){} + , decltype(_impl_.e_){} + , decltype(_impl_.ih_){} + , decltype(_impl_.oh_){} + , decltype(_impl_.ou_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::memcpy(&_impl_.sil_, &from._impl_.sil_, + static_cast(reinterpret_cast(&_impl_.ou_) - + reinterpret_cast(&_impl_.sil_)) + sizeof(_impl_.ou_)); + // @@protoc_insertion_point(copy_constructor:service.Viseme) +} + +inline void Viseme::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.sil_){0} + , decltype(_impl_.pp_){0} + , decltype(_impl_.ff_){0} + , decltype(_impl_.th_){0} + , decltype(_impl_.dd_){0} + , decltype(_impl_.kk_){0} + , decltype(_impl_.ch_){0} + , decltype(_impl_.ss_){0} + , decltype(_impl_.nn_){0} + , decltype(_impl_.rr_){0} + , decltype(_impl_.aa_){0} + , decltype(_impl_.e_){0} + , decltype(_impl_.ih_){0} + , decltype(_impl_.oh_){0} + , decltype(_impl_.ou_){0} + , /*decltype(_impl_._cached_size_)*/{} + }; +} + +Viseme::~Viseme() { + // @@protoc_insertion_point(destructor:service.Viseme) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void Viseme::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void Viseme::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void Viseme::Clear() { +// @@protoc_insertion_point(message_clear_start:service.Viseme) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::memset(&_impl_.sil_, 0, static_cast( + reinterpret_cast(&_impl_.ou_) - + reinterpret_cast(&_impl_.sil_)) + sizeof(_impl_.ou_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* Viseme::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // float sil = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 13)) { + _impl_.sil_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float pp = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 21)) { + _impl_.pp_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float ff = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 29)) { + _impl_.ff_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float th = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 37)) { + _impl_.th_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float dd = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 45)) { + _impl_.dd_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float kk = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 53)) { + _impl_.kk_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float ch = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 61)) { + _impl_.ch_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float ss = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 69)) { + _impl_.ss_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float nn = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 77)) { + _impl_.nn_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float rr = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 85)) { + _impl_.rr_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float aa = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 93)) { + _impl_.aa_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float e = 12; + case 12: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 101)) { + _impl_.e_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float ih = 13; + case 13: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 109)) { + _impl_.ih_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float oh = 14; + case 14: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 117)) { + _impl_.oh_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + // float ou = 15; + case 15: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 125)) { + _impl_.ou_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad(ptr); + ptr += sizeof(float); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* Viseme::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.Viseme) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // float sil = 1; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_sil = this->_internal_sil(); + uint32_t raw_sil; + memcpy(&raw_sil, &tmp_sil, sizeof(tmp_sil)); + if (raw_sil != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(1, this->_internal_sil(), target); + } + + // float pp = 2; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_pp = this->_internal_pp(); + uint32_t raw_pp; + memcpy(&raw_pp, &tmp_pp, sizeof(tmp_pp)); + if (raw_pp != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(2, this->_internal_pp(), target); + } + + // float ff = 3; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_ff = this->_internal_ff(); + uint32_t raw_ff; + memcpy(&raw_ff, &tmp_ff, sizeof(tmp_ff)); + if (raw_ff != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(3, this->_internal_ff(), target); + } + + // float th = 4; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_th = this->_internal_th(); + uint32_t raw_th; + memcpy(&raw_th, &tmp_th, sizeof(tmp_th)); + if (raw_th != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(4, this->_internal_th(), target); + } + + // float dd = 5; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_dd = this->_internal_dd(); + uint32_t raw_dd; + memcpy(&raw_dd, &tmp_dd, sizeof(tmp_dd)); + if (raw_dd != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(5, this->_internal_dd(), target); + } + + // float kk = 6; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_kk = this->_internal_kk(); + uint32_t raw_kk; + memcpy(&raw_kk, &tmp_kk, sizeof(tmp_kk)); + if (raw_kk != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(6, this->_internal_kk(), target); + } + + // float ch = 7; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_ch = this->_internal_ch(); + uint32_t raw_ch; + memcpy(&raw_ch, &tmp_ch, sizeof(tmp_ch)); + if (raw_ch != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(7, this->_internal_ch(), target); + } + + // float ss = 8; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_ss = this->_internal_ss(); + uint32_t raw_ss; + memcpy(&raw_ss, &tmp_ss, sizeof(tmp_ss)); + if (raw_ss != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(8, this->_internal_ss(), target); + } + + // float nn = 9; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_nn = this->_internal_nn(); + uint32_t raw_nn; + memcpy(&raw_nn, &tmp_nn, sizeof(tmp_nn)); + if (raw_nn != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(9, this->_internal_nn(), target); + } + + // float rr = 10; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_rr = this->_internal_rr(); + uint32_t raw_rr; + memcpy(&raw_rr, &tmp_rr, sizeof(tmp_rr)); + if (raw_rr != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(10, this->_internal_rr(), target); + } + + // float aa = 11; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_aa = this->_internal_aa(); + uint32_t raw_aa; + memcpy(&raw_aa, &tmp_aa, sizeof(tmp_aa)); + if (raw_aa != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(11, this->_internal_aa(), target); + } + + // float e = 12; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_e = this->_internal_e(); + uint32_t raw_e; + memcpy(&raw_e, &tmp_e, sizeof(tmp_e)); + if (raw_e != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(12, this->_internal_e(), target); + } + + // float ih = 13; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_ih = this->_internal_ih(); + uint32_t raw_ih; + memcpy(&raw_ih, &tmp_ih, sizeof(tmp_ih)); + if (raw_ih != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(13, this->_internal_ih(), target); + } + + // float oh = 14; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_oh = this->_internal_oh(); + uint32_t raw_oh; + memcpy(&raw_oh, &tmp_oh, sizeof(tmp_oh)); + if (raw_oh != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(14, this->_internal_oh(), target); + } + + // float ou = 15; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_ou = this->_internal_ou(); + uint32_t raw_ou; + memcpy(&raw_ou, &tmp_ou, sizeof(tmp_ou)); + if (raw_ou != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray(15, this->_internal_ou(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.Viseme) + return target; +} + +size_t Viseme::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.Viseme) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // float sil = 1; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_sil = this->_internal_sil(); + uint32_t raw_sil; + memcpy(&raw_sil, &tmp_sil, sizeof(tmp_sil)); + if (raw_sil != 0) { + total_size += 1 + 4; + } + + // float pp = 2; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_pp = this->_internal_pp(); + uint32_t raw_pp; + memcpy(&raw_pp, &tmp_pp, sizeof(tmp_pp)); + if (raw_pp != 0) { + total_size += 1 + 4; + } + + // float ff = 3; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_ff = this->_internal_ff(); + uint32_t raw_ff; + memcpy(&raw_ff, &tmp_ff, sizeof(tmp_ff)); + if (raw_ff != 0) { + total_size += 1 + 4; + } + + // float th = 4; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_th = this->_internal_th(); + uint32_t raw_th; + memcpy(&raw_th, &tmp_th, sizeof(tmp_th)); + if (raw_th != 0) { + total_size += 1 + 4; + } + + // float dd = 5; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_dd = this->_internal_dd(); + uint32_t raw_dd; + memcpy(&raw_dd, &tmp_dd, sizeof(tmp_dd)); + if (raw_dd != 0) { + total_size += 1 + 4; + } + + // float kk = 6; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_kk = this->_internal_kk(); + uint32_t raw_kk; + memcpy(&raw_kk, &tmp_kk, sizeof(tmp_kk)); + if (raw_kk != 0) { + total_size += 1 + 4; + } + + // float ch = 7; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_ch = this->_internal_ch(); + uint32_t raw_ch; + memcpy(&raw_ch, &tmp_ch, sizeof(tmp_ch)); + if (raw_ch != 0) { + total_size += 1 + 4; + } + + // float ss = 8; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_ss = this->_internal_ss(); + uint32_t raw_ss; + memcpy(&raw_ss, &tmp_ss, sizeof(tmp_ss)); + if (raw_ss != 0) { + total_size += 1 + 4; + } + + // float nn = 9; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_nn = this->_internal_nn(); + uint32_t raw_nn; + memcpy(&raw_nn, &tmp_nn, sizeof(tmp_nn)); + if (raw_nn != 0) { + total_size += 1 + 4; + } + + // float rr = 10; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_rr = this->_internal_rr(); + uint32_t raw_rr; + memcpy(&raw_rr, &tmp_rr, sizeof(tmp_rr)); + if (raw_rr != 0) { + total_size += 1 + 4; + } + + // float aa = 11; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_aa = this->_internal_aa(); + uint32_t raw_aa; + memcpy(&raw_aa, &tmp_aa, sizeof(tmp_aa)); + if (raw_aa != 0) { + total_size += 1 + 4; + } + + // float e = 12; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_e = this->_internal_e(); + uint32_t raw_e; + memcpy(&raw_e, &tmp_e, sizeof(tmp_e)); + if (raw_e != 0) { + total_size += 1 + 4; + } + + // float ih = 13; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_ih = this->_internal_ih(); + uint32_t raw_ih; + memcpy(&raw_ih, &tmp_ih, sizeof(tmp_ih)); + if (raw_ih != 0) { + total_size += 1 + 4; + } + + // float oh = 14; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_oh = this->_internal_oh(); + uint32_t raw_oh; + memcpy(&raw_oh, &tmp_oh, sizeof(tmp_oh)); + if (raw_oh != 0) { + total_size += 1 + 4; + } + + // float ou = 15; + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_ou = this->_internal_ou(); + uint32_t raw_ou; + memcpy(&raw_ou, &tmp_ou, sizeof(tmp_ou)); + if (raw_ou != 0) { + total_size += 1 + 4; + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Viseme::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + Viseme::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Viseme::GetClassData() const { return &_class_data_; } + + +void Viseme::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.Viseme) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_sil = from._internal_sil(); + uint32_t raw_sil; + memcpy(&raw_sil, &tmp_sil, sizeof(tmp_sil)); + if (raw_sil != 0) { + _this->_internal_set_sil(from._internal_sil()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_pp = from._internal_pp(); + uint32_t raw_pp; + memcpy(&raw_pp, &tmp_pp, sizeof(tmp_pp)); + if (raw_pp != 0) { + _this->_internal_set_pp(from._internal_pp()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_ff = from._internal_ff(); + uint32_t raw_ff; + memcpy(&raw_ff, &tmp_ff, sizeof(tmp_ff)); + if (raw_ff != 0) { + _this->_internal_set_ff(from._internal_ff()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_th = from._internal_th(); + uint32_t raw_th; + memcpy(&raw_th, &tmp_th, sizeof(tmp_th)); + if (raw_th != 0) { + _this->_internal_set_th(from._internal_th()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_dd = from._internal_dd(); + uint32_t raw_dd; + memcpy(&raw_dd, &tmp_dd, sizeof(tmp_dd)); + if (raw_dd != 0) { + _this->_internal_set_dd(from._internal_dd()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_kk = from._internal_kk(); + uint32_t raw_kk; + memcpy(&raw_kk, &tmp_kk, sizeof(tmp_kk)); + if (raw_kk != 0) { + _this->_internal_set_kk(from._internal_kk()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_ch = from._internal_ch(); + uint32_t raw_ch; + memcpy(&raw_ch, &tmp_ch, sizeof(tmp_ch)); + if (raw_ch != 0) { + _this->_internal_set_ch(from._internal_ch()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_ss = from._internal_ss(); + uint32_t raw_ss; + memcpy(&raw_ss, &tmp_ss, sizeof(tmp_ss)); + if (raw_ss != 0) { + _this->_internal_set_ss(from._internal_ss()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_nn = from._internal_nn(); + uint32_t raw_nn; + memcpy(&raw_nn, &tmp_nn, sizeof(tmp_nn)); + if (raw_nn != 0) { + _this->_internal_set_nn(from._internal_nn()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_rr = from._internal_rr(); + uint32_t raw_rr; + memcpy(&raw_rr, &tmp_rr, sizeof(tmp_rr)); + if (raw_rr != 0) { + _this->_internal_set_rr(from._internal_rr()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_aa = from._internal_aa(); + uint32_t raw_aa; + memcpy(&raw_aa, &tmp_aa, sizeof(tmp_aa)); + if (raw_aa != 0) { + _this->_internal_set_aa(from._internal_aa()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_e = from._internal_e(); + uint32_t raw_e; + memcpy(&raw_e, &tmp_e, sizeof(tmp_e)); + if (raw_e != 0) { + _this->_internal_set_e(from._internal_e()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_ih = from._internal_ih(); + uint32_t raw_ih; + memcpy(&raw_ih, &tmp_ih, sizeof(tmp_ih)); + if (raw_ih != 0) { + _this->_internal_set_ih(from._internal_ih()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_oh = from._internal_oh(); + uint32_t raw_oh; + memcpy(&raw_oh, &tmp_oh, sizeof(tmp_oh)); + if (raw_oh != 0) { + _this->_internal_set_oh(from._internal_oh()); + } + static_assert(sizeof(uint32_t) == sizeof(float), "Code assumes uint32_t and float are the same size."); + float tmp_ou = from._internal_ou(); + uint32_t raw_ou; + memcpy(&raw_ou, &tmp_ou, sizeof(tmp_ou)); + if (raw_ou != 0) { + _this->_internal_set_ou(from._internal_ou()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void Viseme::CopyFrom(const Viseme& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.Viseme) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool Viseme::IsInitialized() const { + return true; +} + +void Viseme::InternalSwap(Viseme* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(Viseme, _impl_.ou_) + + sizeof(Viseme::_impl_.ou_) + - PROTOBUF_FIELD_OFFSET(Viseme, _impl_.sil_)>( + reinterpret_cast(&_impl_.sil_), + reinterpret_cast(&other->_impl_.sil_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata Viseme::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[23]); +} + +// =================================================================== + +class BlendShapesData::_Internal { + public: +}; + +BlendShapesData::BlendShapesData(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.BlendShapesData) +} +BlendShapesData::BlendShapesData(const BlendShapesData& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + BlendShapesData* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.blendshape_data_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.blendshape_data_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.blendshape_data_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_blendshape_data().empty()) { + _this->_impl_.blendshape_data_.Set(from._internal_blendshape_data(), + _this->GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:service.BlendShapesData) +} + +inline void BlendShapesData::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.blendshape_data_){} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.blendshape_data_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.blendshape_data_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +BlendShapesData::~BlendShapesData() { + // @@protoc_insertion_point(destructor:service.BlendShapesData) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void BlendShapesData::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.blendshape_data_.Destroy(); +} + +void BlendShapesData::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void BlendShapesData::Clear() { +// @@protoc_insertion_point(message_clear_start:service.BlendShapesData) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.blendshape_data_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* BlendShapesData::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string blendshape_data = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_blendshape_data(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.BlendShapesData.blendshape_data")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* BlendShapesData::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.BlendShapesData) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string blendshape_data = 1; + if (!this->_internal_blendshape_data().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_blendshape_data().data(), static_cast(this->_internal_blendshape_data().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.BlendShapesData.blendshape_data"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_blendshape_data(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.BlendShapesData) + return target; +} + +size_t BlendShapesData::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.BlendShapesData) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string blendshape_data = 1; + if (!this->_internal_blendshape_data().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_blendshape_data()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData BlendShapesData::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + BlendShapesData::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*BlendShapesData::GetClassData() const { return &_class_data_; } + + +void BlendShapesData::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.BlendShapesData) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_blendshape_data().empty()) { + _this->_internal_set_blendshape_data(from._internal_blendshape_data()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void BlendShapesData::CopyFrom(const BlendShapesData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.BlendShapesData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool BlendShapesData::IsInitialized() const { + return true; +} + +void BlendShapesData::InternalSwap(BlendShapesData* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.blendshape_data_, lhs_arena, + &other->_impl_.blendshape_data_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata BlendShapesData::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[24]); +} + +// =================================================================== + +class HelloRequest::_Internal { + public: +}; + +HelloRequest::HelloRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.HelloRequest) +} +HelloRequest::HelloRequest(const HelloRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + HelloRequest* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_name().empty()) { + _this->_impl_.name_.Set(from._internal_name(), + _this->GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:service.HelloRequest) +} + +inline void HelloRequest::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +HelloRequest::~HelloRequest() { + // @@protoc_insertion_point(destructor:service.HelloRequest) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void HelloRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.name_.Destroy(); +} + +void HelloRequest::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void HelloRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:service.HelloRequest) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.name_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* HelloRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_name(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.HelloRequest.name")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* HelloRequest::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.HelloRequest) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string name = 1; + if (!this->_internal_name().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_name().data(), static_cast(this->_internal_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.HelloRequest.name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_name(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.HelloRequest) + return target; +} + +size_t HelloRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.HelloRequest) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string name = 1; + if (!this->_internal_name().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData HelloRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + HelloRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*HelloRequest::GetClassData() const { return &_class_data_; } + + +void HelloRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.HelloRequest) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void HelloRequest::CopyFrom(const HelloRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.HelloRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool HelloRequest::IsInitialized() const { + return true; +} + +void HelloRequest::InternalSwap(HelloRequest* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.name_, lhs_arena, + &other->_impl_.name_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata HelloRequest::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[25]); +} + +// =================================================================== + +class HelloResponse::_Internal { + public: +}; + +HelloResponse::HelloResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.HelloResponse) +} +HelloResponse::HelloResponse(const HelloResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + HelloResponse* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.message_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.message_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.message_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_message().empty()) { + _this->_impl_.message_.Set(from._internal_message(), + _this->GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:service.HelloResponse) +} + +inline void HelloResponse::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.message_){} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.message_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.message_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +HelloResponse::~HelloResponse() { + // @@protoc_insertion_point(destructor:service.HelloResponse) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void HelloResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.message_.Destroy(); +} + +void HelloResponse::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void HelloResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.HelloResponse) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.message_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* HelloResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string message = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_message(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.HelloResponse.message")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* HelloResponse::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.HelloResponse) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string message = 1; + if (!this->_internal_message().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_message().data(), static_cast(this->_internal_message().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.HelloResponse.message"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_message(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.HelloResponse) + return target; +} + +size_t HelloResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.HelloResponse) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string message = 1; + if (!this->_internal_message().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_message()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData HelloResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + HelloResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*HelloResponse::GetClassData() const { return &_class_data_; } + + +void HelloResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.HelloResponse) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_message().empty()) { + _this->_internal_set_message(from._internal_message()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void HelloResponse::CopyFrom(const HelloResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.HelloResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool HelloResponse::IsInitialized() const { + return true; +} + +void HelloResponse::InternalSwap(HelloResponse* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.message_, lhs_arena, + &other->_impl_.message_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata HelloResponse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[26]); +} + +// =================================================================== + +class FeedbackRequest_Feedback::_Internal { + public: +}; + +FeedbackRequest_Feedback::FeedbackRequest_Feedback(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.FeedbackRequest.Feedback) +} +FeedbackRequest_Feedback::FeedbackRequest_Feedback(const FeedbackRequest_Feedback& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + FeedbackRequest_Feedback* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.tags_){from._impl_.tags_} + , decltype(_impl_.feedback_text_){} + , decltype(_impl_.thumbs_up_){} + , decltype(_impl_.is_test_case_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.feedback_text_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.feedback_text_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_feedback_text().empty()) { + _this->_impl_.feedback_text_.Set(from._internal_feedback_text(), + _this->GetArenaForAllocation()); + } + ::memcpy(&_impl_.thumbs_up_, &from._impl_.thumbs_up_, + static_cast(reinterpret_cast(&_impl_.is_test_case_) - + reinterpret_cast(&_impl_.thumbs_up_)) + sizeof(_impl_.is_test_case_)); + // @@protoc_insertion_point(copy_constructor:service.FeedbackRequest.Feedback) +} + +inline void FeedbackRequest_Feedback::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.tags_){arena} + , decltype(_impl_.feedback_text_){} + , decltype(_impl_.thumbs_up_){false} + , decltype(_impl_.is_test_case_){false} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.feedback_text_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.feedback_text_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +FeedbackRequest_Feedback::~FeedbackRequest_Feedback() { + // @@protoc_insertion_point(destructor:service.FeedbackRequest.Feedback) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void FeedbackRequest_Feedback::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.tags_.~RepeatedPtrField(); + _impl_.feedback_text_.Destroy(); +} + +void FeedbackRequest_Feedback::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void FeedbackRequest_Feedback::Clear() { +// @@protoc_insertion_point(message_clear_start:service.FeedbackRequest.Feedback) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.tags_.Clear(); + _impl_.feedback_text_.ClearToEmpty(); + ::memset(&_impl_.thumbs_up_, 0, static_cast( + reinterpret_cast(&_impl_.is_test_case_) - + reinterpret_cast(&_impl_.thumbs_up_)) + sizeof(_impl_.is_test_case_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* FeedbackRequest_Feedback::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // bool thumbs_up = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + _impl_.thumbs_up_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string feedback_text = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_feedback_text(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.FeedbackRequest.Feedback.feedback_text")); + } else + goto handle_unusual; + continue; + // repeated string tags = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr -= 1; + do { + ptr += 1; + auto str = _internal_add_tags(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.FeedbackRequest.Feedback.tags")); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr)); + } else + goto handle_unusual; + continue; + // bool is_test_case = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { + _impl_.is_test_case_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* FeedbackRequest_Feedback::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.FeedbackRequest.Feedback) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // bool thumbs_up = 1; + if (this->_internal_thumbs_up() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_thumbs_up(), target); + } + + // string feedback_text = 2; + if (!this->_internal_feedback_text().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_feedback_text().data(), static_cast(this->_internal_feedback_text().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackRequest.Feedback.feedback_text"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_feedback_text(), target); + } + + // repeated string tags = 3; + for (int i = 0, n = this->_internal_tags_size(); i < n; i++) { + const auto& s = this->_internal_tags(i); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackRequest.Feedback.tags"); + target = stream->WriteString(3, s, target); + } + + // bool is_test_case = 4; + if (this->_internal_is_test_case() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_is_test_case(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.FeedbackRequest.Feedback) + return target; +} + +size_t FeedbackRequest_Feedback::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.FeedbackRequest.Feedback) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated string tags = 3; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_impl_.tags_.size()); + for (int i = 0, n = _impl_.tags_.size(); i < n; i++) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + _impl_.tags_.Get(i)); + } + + // string feedback_text = 2; + if (!this->_internal_feedback_text().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_feedback_text()); + } + + // bool thumbs_up = 1; + if (this->_internal_thumbs_up() != 0) { + total_size += 1 + 1; + } + + // bool is_test_case = 4; + if (this->_internal_is_test_case() != 0) { + total_size += 1 + 1; + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FeedbackRequest_Feedback::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + FeedbackRequest_Feedback::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FeedbackRequest_Feedback::GetClassData() const { return &_class_data_; } + + +void FeedbackRequest_Feedback::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.FeedbackRequest.Feedback) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_impl_.tags_.MergeFrom(from._impl_.tags_); + if (!from._internal_feedback_text().empty()) { + _this->_internal_set_feedback_text(from._internal_feedback_text()); + } + if (from._internal_thumbs_up() != 0) { + _this->_internal_set_thumbs_up(from._internal_thumbs_up()); + } + if (from._internal_is_test_case() != 0) { + _this->_internal_set_is_test_case(from._internal_is_test_case()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void FeedbackRequest_Feedback::CopyFrom(const FeedbackRequest_Feedback& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.FeedbackRequest.Feedback) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool FeedbackRequest_Feedback::IsInitialized() const { + return true; +} + +void FeedbackRequest_Feedback::InternalSwap(FeedbackRequest_Feedback* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.tags_.InternalSwap(&other->_impl_.tags_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.feedback_text_, lhs_arena, + &other->_impl_.feedback_text_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(FeedbackRequest_Feedback, _impl_.is_test_case_) + + sizeof(FeedbackRequest_Feedback::_impl_.is_test_case_) + - PROTOBUF_FIELD_OFFSET(FeedbackRequest_Feedback, _impl_.thumbs_up_)>( + reinterpret_cast(&_impl_.thumbs_up_), + reinterpret_cast(&other->_impl_.thumbs_up_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata FeedbackRequest_Feedback::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[27]); +} + +// =================================================================== + +class FeedbackRequest::_Internal { + public: + static const ::service::FeedbackRequest_Feedback& text_feedback(const FeedbackRequest* msg); +}; + +const ::service::FeedbackRequest_Feedback& +FeedbackRequest::_Internal::text_feedback(const FeedbackRequest* msg) { + return *msg->_impl_.text_feedback_; +} +FeedbackRequest::FeedbackRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.FeedbackRequest) +} +FeedbackRequest::FeedbackRequest(const FeedbackRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + FeedbackRequest* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.interaction_id_){} + , decltype(_impl_.character_id_){} + , decltype(_impl_.session_id_){} + , decltype(_impl_.user_query_){} + , decltype(_impl_.response_){} + , decltype(_impl_.text_feedback_){nullptr} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.interaction_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.interaction_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_interaction_id().empty()) { + _this->_impl_.interaction_id_.Set(from._internal_interaction_id(), + _this->GetArenaForAllocation()); + } + _impl_.character_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.character_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_character_id().empty()) { + _this->_impl_.character_id_.Set(from._internal_character_id(), + _this->GetArenaForAllocation()); + } + _impl_.session_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.session_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_session_id().empty()) { + _this->_impl_.session_id_.Set(from._internal_session_id(), + _this->GetArenaForAllocation()); + } + _impl_.user_query_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.user_query_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_user_query().empty()) { + _this->_impl_.user_query_.Set(from._internal_user_query(), + _this->GetArenaForAllocation()); + } + _impl_.response_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.response_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_response().empty()) { + _this->_impl_.response_.Set(from._internal_response(), + _this->GetArenaForAllocation()); + } + if (from._internal_has_text_feedback()) { + _this->_impl_.text_feedback_ = new ::service::FeedbackRequest_Feedback(*from._impl_.text_feedback_); + } + // @@protoc_insertion_point(copy_constructor:service.FeedbackRequest) +} + +inline void FeedbackRequest::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.interaction_id_){} + , decltype(_impl_.character_id_){} + , decltype(_impl_.session_id_){} + , decltype(_impl_.user_query_){} + , decltype(_impl_.response_){} + , decltype(_impl_.text_feedback_){nullptr} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.interaction_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.interaction_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.character_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.character_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.session_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.session_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.user_query_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.user_query_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.response_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.response_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +FeedbackRequest::~FeedbackRequest() { + // @@protoc_insertion_point(destructor:service.FeedbackRequest) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void FeedbackRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.interaction_id_.Destroy(); + _impl_.character_id_.Destroy(); + _impl_.session_id_.Destroy(); + _impl_.user_query_.Destroy(); + _impl_.response_.Destroy(); + if (this != internal_default_instance()) delete _impl_.text_feedback_; +} + +void FeedbackRequest::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void FeedbackRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:service.FeedbackRequest) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.interaction_id_.ClearToEmpty(); + _impl_.character_id_.ClearToEmpty(); + _impl_.session_id_.ClearToEmpty(); + _impl_.user_query_.ClearToEmpty(); + _impl_.response_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && _impl_.text_feedback_ != nullptr) { + delete _impl_.text_feedback_; + } + _impl_.text_feedback_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* FeedbackRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string interaction_id = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_interaction_id(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.FeedbackRequest.interaction_id")); + } else + goto handle_unusual; + continue; + // string character_id = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_character_id(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.FeedbackRequest.character_id")); + } else + goto handle_unusual; + continue; + // string session_id = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + auto str = _internal_mutable_session_id(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.FeedbackRequest.session_id")); + } else + goto handle_unusual; + continue; + // .service.FeedbackRequest.Feedback text_feedback = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + ptr = ctx->ParseMessage(_internal_mutable_text_feedback(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string user_query = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { + auto str = _internal_mutable_user_query(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.FeedbackRequest.user_query")); + } else + goto handle_unusual; + continue; + // string response = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + auto str = _internal_mutable_response(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.FeedbackRequest.response")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* FeedbackRequest::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.FeedbackRequest) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string interaction_id = 1; + if (!this->_internal_interaction_id().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_interaction_id().data(), static_cast(this->_internal_interaction_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackRequest.interaction_id"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_interaction_id(), target); + } + + // string character_id = 2; + if (!this->_internal_character_id().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_character_id().data(), static_cast(this->_internal_character_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackRequest.character_id"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_character_id(), target); + } + + // string session_id = 3; + if (!this->_internal_session_id().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_session_id().data(), static_cast(this->_internal_session_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackRequest.session_id"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_session_id(), target); + } + + // .service.FeedbackRequest.Feedback text_feedback = 5; + if (this->_internal_has_text_feedback()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(5, _Internal::text_feedback(this), + _Internal::text_feedback(this).GetCachedSize(), target, stream); + } + + // string user_query = 6; + if (!this->_internal_user_query().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_user_query().data(), static_cast(this->_internal_user_query().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackRequest.user_query"); + target = stream->WriteStringMaybeAliased( + 6, this->_internal_user_query(), target); + } + + // string response = 7; + if (!this->_internal_response().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_response().data(), static_cast(this->_internal_response().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackRequest.response"); + target = stream->WriteStringMaybeAliased( + 7, this->_internal_response(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.FeedbackRequest) + return target; +} + +size_t FeedbackRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.FeedbackRequest) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string interaction_id = 1; + if (!this->_internal_interaction_id().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_interaction_id()); + } + + // string character_id = 2; + if (!this->_internal_character_id().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_character_id()); + } + + // string session_id = 3; + if (!this->_internal_session_id().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_session_id()); + } + + // string user_query = 6; + if (!this->_internal_user_query().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_user_query()); + } + + // string response = 7; + if (!this->_internal_response().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_response()); + } + + // .service.FeedbackRequest.Feedback text_feedback = 5; + if (this->_internal_has_text_feedback()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.text_feedback_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FeedbackRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + FeedbackRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FeedbackRequest::GetClassData() const { return &_class_data_; } + + +void FeedbackRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.FeedbackRequest) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_interaction_id().empty()) { + _this->_internal_set_interaction_id(from._internal_interaction_id()); + } + if (!from._internal_character_id().empty()) { + _this->_internal_set_character_id(from._internal_character_id()); + } + if (!from._internal_session_id().empty()) { + _this->_internal_set_session_id(from._internal_session_id()); + } + if (!from._internal_user_query().empty()) { + _this->_internal_set_user_query(from._internal_user_query()); + } + if (!from._internal_response().empty()) { + _this->_internal_set_response(from._internal_response()); + } + if (from._internal_has_text_feedback()) { + _this->_internal_mutable_text_feedback()->::service::FeedbackRequest_Feedback::MergeFrom( + from._internal_text_feedback()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void FeedbackRequest::CopyFrom(const FeedbackRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.FeedbackRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool FeedbackRequest::IsInitialized() const { + return true; +} + +void FeedbackRequest::InternalSwap(FeedbackRequest* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.interaction_id_, lhs_arena, + &other->_impl_.interaction_id_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.character_id_, lhs_arena, + &other->_impl_.character_id_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.session_id_, lhs_arena, + &other->_impl_.session_id_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.user_query_, lhs_arena, + &other->_impl_.user_query_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.response_, lhs_arena, + &other->_impl_.response_, rhs_arena + ); + swap(_impl_.text_feedback_, other->_impl_.text_feedback_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata FeedbackRequest::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[28]); +} + +// =================================================================== + +class FeedbackResponse::_Internal { + public: +}; + +FeedbackResponse::FeedbackResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:service.FeedbackResponse) +} +FeedbackResponse::FeedbackResponse(const FeedbackResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + FeedbackResponse* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.feedback_response_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.feedback_response_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.feedback_response_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_feedback_response().empty()) { + _this->_impl_.feedback_response_.Set(from._internal_feedback_response(), + _this->GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:service.FeedbackResponse) +} + +inline void FeedbackResponse::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.feedback_response_){} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.feedback_response_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.feedback_response_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +FeedbackResponse::~FeedbackResponse() { + // @@protoc_insertion_point(destructor:service.FeedbackResponse) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void FeedbackResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.feedback_response_.Destroy(); +} + +void FeedbackResponse::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void FeedbackResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:service.FeedbackResponse) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.feedback_response_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* FeedbackResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string feedback_response = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_feedback_response(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "service.FeedbackResponse.feedback_response")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* FeedbackResponse::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:service.FeedbackResponse) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string feedback_response = 1; + if (!this->_internal_feedback_response().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_feedback_response().data(), static_cast(this->_internal_feedback_response().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "service.FeedbackResponse.feedback_response"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_feedback_response(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:service.FeedbackResponse) + return target; +} + +size_t FeedbackResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:service.FeedbackResponse) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string feedback_response = 1; + if (!this->_internal_feedback_response().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_feedback_response()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FeedbackResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + FeedbackResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FeedbackResponse::GetClassData() const { return &_class_data_; } + + +void FeedbackResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:service.FeedbackResponse) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_feedback_response().empty()) { + _this->_internal_set_feedback_response(from._internal_feedback_response()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void FeedbackResponse::CopyFrom(const FeedbackResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:service.FeedbackResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool FeedbackResponse::IsInitialized() const { + return true; +} + +void FeedbackResponse::InternalSwap(FeedbackResponse* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.feedback_response_, lhs_arena, + &other->_impl_.feedback_response_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata FeedbackResponse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_service_2eproto_getter, &descriptor_table_service_2eproto_once, + file_level_metadata_service_2eproto[29]); +} + +// @@protoc_insertion_point(namespace_scope) +} // namespace service +PROTOBUF_NAMESPACE_OPEN +template<> PROTOBUF_NOINLINE ::service::AudioConfig* +Arena::CreateMaybeMessage< ::service::AudioConfig >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::AudioConfig >(arena); +} +template<> PROTOBUF_NOINLINE ::service::TriggerConfig* +Arena::CreateMaybeMessage< ::service::TriggerConfig >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::TriggerConfig >(arena); +} +template<> PROTOBUF_NOINLINE ::service::ActionConfig_Character* +Arena::CreateMaybeMessage< ::service::ActionConfig_Character >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::ActionConfig_Character >(arena); +} +template<> PROTOBUF_NOINLINE ::service::ActionConfig_Object* +Arena::CreateMaybeMessage< ::service::ActionConfig_Object >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::ActionConfig_Object >(arena); +} +template<> PROTOBUF_NOINLINE ::service::ActionConfig* +Arena::CreateMaybeMessage< ::service::ActionConfig >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::ActionConfig >(arena); +} +template<> PROTOBUF_NOINLINE ::service::STTRequest* +Arena::CreateMaybeMessage< ::service::STTRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::STTRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::service::STTResponse* +Arena::CreateMaybeMessage< ::service::STTResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::STTResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::DynamicInfoConfig* +Arena::CreateMaybeMessage< ::service::DynamicInfoConfig >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::DynamicInfoConfig >(arena); +} +template<> PROTOBUF_NOINLINE ::service::VisionInput_ImageData* +Arena::CreateMaybeMessage< ::service::VisionInput_ImageData >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::VisionInput_ImageData >(arena); +} +template<> PROTOBUF_NOINLINE ::service::VisionInput_VideoData* +Arena::CreateMaybeMessage< ::service::VisionInput_VideoData >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::VisionInput_VideoData >(arena); +} +template<> PROTOBUF_NOINLINE ::service::VisionInput* +Arena::CreateMaybeMessage< ::service::VisionInput >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::VisionInput >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse* +Arena::CreateMaybeMessage< ::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseRequest_GetResponseConfig* +Arena::CreateMaybeMessage< ::service::GetResponseRequest_GetResponseConfig >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseRequest_GetResponseConfig >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseRequest_GetResponseData* +Arena::CreateMaybeMessage< ::service::GetResponseRequest_GetResponseData >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseRequest_GetResponseData >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseRequest* +Arena::CreateMaybeMessage< ::service::GetResponseRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseRequestSingle* +Arena::CreateMaybeMessage< ::service::GetResponseRequestSingle >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseRequestSingle >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseResponse_AudioResponse* +Arena::CreateMaybeMessage< ::service::GetResponseResponse_AudioResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseResponse_AudioResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseResponse_ActionResponse* +Arena::CreateMaybeMessage< ::service::GetResponseResponse_ActionResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseResponse_ActionResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseResponse_BehaviorTreeResponse* +Arena::CreateMaybeMessage< ::service::GetResponseResponse_BehaviorTreeResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseResponse_BehaviorTreeResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseResponse_UserTranscript* +Arena::CreateMaybeMessage< ::service::GetResponseResponse_UserTranscript >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseResponse_UserTranscript >(arena); +} +template<> PROTOBUF_NOINLINE ::service::GetResponseResponse* +Arena::CreateMaybeMessage< ::service::GetResponseResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::GetResponseResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::VisemesData* +Arena::CreateMaybeMessage< ::service::VisemesData >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::VisemesData >(arena); +} +template<> PROTOBUF_NOINLINE ::service::EmotionResponse* +Arena::CreateMaybeMessage< ::service::EmotionResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::EmotionResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::Viseme* +Arena::CreateMaybeMessage< ::service::Viseme >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::Viseme >(arena); +} +template<> PROTOBUF_NOINLINE ::service::BlendShapesData* +Arena::CreateMaybeMessage< ::service::BlendShapesData >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::BlendShapesData >(arena); +} +template<> PROTOBUF_NOINLINE ::service::HelloRequest* +Arena::CreateMaybeMessage< ::service::HelloRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::HelloRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::service::HelloResponse* +Arena::CreateMaybeMessage< ::service::HelloResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::HelloResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::service::FeedbackRequest_Feedback* +Arena::CreateMaybeMessage< ::service::FeedbackRequest_Feedback >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::FeedbackRequest_Feedback >(arena); +} +template<> PROTOBUF_NOINLINE ::service::FeedbackRequest* +Arena::CreateMaybeMessage< ::service::FeedbackRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::FeedbackRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::service::FeedbackResponse* +Arena::CreateMaybeMessage< ::service::FeedbackResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::service::FeedbackResponse >(arena); +} +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) +#include + +#endif diff --git a/ConvAI/Convai/Source/Convai/Private/Proto/service.pb.h b/ConvAI/Convai/Source/Convai/Private/Proto/service.pb.h new file mode 100644 index 0000000..9b98ccb --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/Proto/service.pb.h @@ -0,0 +1,23289 @@ +#if defined(_WIN32) || defined(__ANDROID__) +#if defined(_MSC_VER) + #pragma warning (disable:4018) // 'expression' : signed/unsigned mismatch + #pragma warning (disable:4065) // switch statement contains 'default' but no 'case' labels + #pragma warning (disable:4146) // unary minus operator applied to unsigned type, result still unsigned + #pragma warning (disable:4244) // 'conversion' conversion from 'type1' to 'type2', possible loss of data + #pragma warning (disable:4251) // 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' + #pragma warning (disable:4267) // 'var' : conversion from 'size_t' to 'type', possible loss of data + #pragma warning (disable:4305) // 'identifier' : truncation from 'type1' to 'type2' + #pragma warning (disable:4307) // 'operator' : integral constant overflow + #pragma warning (disable:4309) // 'conversion' : truncation of constant value + #pragma warning (disable:4334) // 'operator' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) + #pragma warning (disable:4355) // 'this' : used in base member initializer list + #pragma warning (disable:4506) // no definition for inline function 'function' + #pragma warning (disable:4996) // The compiler encountered a deprecated declaration. + #pragma warning (disable:4125) // decimal digit terminates octal escape sequence + #pragma warning (disable:4800) // decimal digit terminates octal escape sequence + #endif + + // Generated by the protocol buffer compiler. DO NOT EDIT! +// source: service.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_service_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_service_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3014000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3014000 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include +#include +#include +#include "arkit_blend_shapes.pb.h" +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_service_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_service_2eproto { + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[30] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; + static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; + static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_service_2eproto; +namespace service { +class ActionConfig; +class ActionConfigDefaultTypeInternal; +extern ActionConfigDefaultTypeInternal _ActionConfig_default_instance_; +class ActionConfig_Character; +class ActionConfig_CharacterDefaultTypeInternal; +extern ActionConfig_CharacterDefaultTypeInternal _ActionConfig_Character_default_instance_; +class ActionConfig_Object; +class ActionConfig_ObjectDefaultTypeInternal; +extern ActionConfig_ObjectDefaultTypeInternal _ActionConfig_Object_default_instance_; +class AudioConfig; +class AudioConfigDefaultTypeInternal; +extern AudioConfigDefaultTypeInternal _AudioConfig_default_instance_; +class BlendShapesData; +class BlendShapesDataDefaultTypeInternal; +extern BlendShapesDataDefaultTypeInternal _BlendShapesData_default_instance_; +class DynamicInfoConfig; +class DynamicInfoConfigDefaultTypeInternal; +extern DynamicInfoConfigDefaultTypeInternal _DynamicInfoConfig_default_instance_; +class EmotionResponse; +class EmotionResponseDefaultTypeInternal; +extern EmotionResponseDefaultTypeInternal _EmotionResponse_default_instance_; +class FeedbackRequest; +class FeedbackRequestDefaultTypeInternal; +extern FeedbackRequestDefaultTypeInternal _FeedbackRequest_default_instance_; +class FeedbackRequest_Feedback; +class FeedbackRequest_FeedbackDefaultTypeInternal; +extern FeedbackRequest_FeedbackDefaultTypeInternal _FeedbackRequest_Feedback_default_instance_; +class FeedbackResponse; +class FeedbackResponseDefaultTypeInternal; +extern FeedbackResponseDefaultTypeInternal _FeedbackResponse_default_instance_; +class GetResponseRequest; +class GetResponseRequestDefaultTypeInternal; +extern GetResponseRequestDefaultTypeInternal _GetResponseRequest_default_instance_; +class GetResponseRequestSingle; +class GetResponseRequestSingleDefaultTypeInternal; +extern GetResponseRequestSingleDefaultTypeInternal _GetResponseRequestSingle_default_instance_; +class GetResponseRequest_GetResponseConfig; +class GetResponseRequest_GetResponseConfigDefaultTypeInternal; +extern GetResponseRequest_GetResponseConfigDefaultTypeInternal _GetResponseRequest_GetResponseConfig_default_instance_; +class GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse; +class GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUseDefaultTypeInternal; +extern GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUseDefaultTypeInternal _GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse_default_instance_; +class GetResponseRequest_GetResponseData; +class GetResponseRequest_GetResponseDataDefaultTypeInternal; +extern GetResponseRequest_GetResponseDataDefaultTypeInternal _GetResponseRequest_GetResponseData_default_instance_; +class GetResponseResponse; +class GetResponseResponseDefaultTypeInternal; +extern GetResponseResponseDefaultTypeInternal _GetResponseResponse_default_instance_; +class GetResponseResponse_ActionResponse; +class GetResponseResponse_ActionResponseDefaultTypeInternal; +extern GetResponseResponse_ActionResponseDefaultTypeInternal _GetResponseResponse_ActionResponse_default_instance_; +class GetResponseResponse_AudioResponse; +class GetResponseResponse_AudioResponseDefaultTypeInternal; +extern GetResponseResponse_AudioResponseDefaultTypeInternal _GetResponseResponse_AudioResponse_default_instance_; +class GetResponseResponse_BehaviorTreeResponse; +class GetResponseResponse_BehaviorTreeResponseDefaultTypeInternal; +extern GetResponseResponse_BehaviorTreeResponseDefaultTypeInternal _GetResponseResponse_BehaviorTreeResponse_default_instance_; +class GetResponseResponse_UserTranscript; +class GetResponseResponse_UserTranscriptDefaultTypeInternal; +extern GetResponseResponse_UserTranscriptDefaultTypeInternal _GetResponseResponse_UserTranscript_default_instance_; +class HelloRequest; +class HelloRequestDefaultTypeInternal; +extern HelloRequestDefaultTypeInternal _HelloRequest_default_instance_; +class HelloResponse; +class HelloResponseDefaultTypeInternal; +extern HelloResponseDefaultTypeInternal _HelloResponse_default_instance_; +class STTRequest; +class STTRequestDefaultTypeInternal; +extern STTRequestDefaultTypeInternal _STTRequest_default_instance_; +class STTResponse; +class STTResponseDefaultTypeInternal; +extern STTResponseDefaultTypeInternal _STTResponse_default_instance_; +class TriggerConfig; +class TriggerConfigDefaultTypeInternal; +extern TriggerConfigDefaultTypeInternal _TriggerConfig_default_instance_; +class Viseme; +class VisemeDefaultTypeInternal; +extern VisemeDefaultTypeInternal _Viseme_default_instance_; +class VisemesData; +class VisemesDataDefaultTypeInternal; +extern VisemesDataDefaultTypeInternal _VisemesData_default_instance_; +class VisionInput; +class VisionInputDefaultTypeInternal; +extern VisionInputDefaultTypeInternal _VisionInput_default_instance_; +class VisionInput_ImageData; +class VisionInput_ImageDataDefaultTypeInternal; +extern VisionInput_ImageDataDefaultTypeInternal _VisionInput_ImageData_default_instance_; +class VisionInput_VideoData; +class VisionInput_VideoDataDefaultTypeInternal; +extern VisionInput_VideoDataDefaultTypeInternal _VisionInput_VideoData_default_instance_; +} // namespace service +PROTOBUF_NAMESPACE_OPEN +template<> ::service::ActionConfig* Arena::CreateMaybeMessage<::service::ActionConfig>(Arena*); +template<> ::service::ActionConfig_Character* Arena::CreateMaybeMessage<::service::ActionConfig_Character>(Arena*); +template<> ::service::ActionConfig_Object* Arena::CreateMaybeMessage<::service::ActionConfig_Object>(Arena*); +template<> ::service::AudioConfig* Arena::CreateMaybeMessage<::service::AudioConfig>(Arena*); +template<> ::service::BlendShapesData* Arena::CreateMaybeMessage<::service::BlendShapesData>(Arena*); +template<> ::service::DynamicInfoConfig* Arena::CreateMaybeMessage<::service::DynamicInfoConfig>(Arena*); +template<> ::service::EmotionResponse* Arena::CreateMaybeMessage<::service::EmotionResponse>(Arena*); +template<> ::service::FeedbackRequest* Arena::CreateMaybeMessage<::service::FeedbackRequest>(Arena*); +template<> ::service::FeedbackRequest_Feedback* Arena::CreateMaybeMessage<::service::FeedbackRequest_Feedback>(Arena*); +template<> ::service::FeedbackResponse* Arena::CreateMaybeMessage<::service::FeedbackResponse>(Arena*); +template<> ::service::GetResponseRequest* Arena::CreateMaybeMessage<::service::GetResponseRequest>(Arena*); +template<> ::service::GetResponseRequestSingle* Arena::CreateMaybeMessage<::service::GetResponseRequestSingle>(Arena*); +template<> ::service::GetResponseRequest_GetResponseConfig* Arena::CreateMaybeMessage<::service::GetResponseRequest_GetResponseConfig>(Arena*); +template<> ::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse* Arena::CreateMaybeMessage<::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse>(Arena*); +template<> ::service::GetResponseRequest_GetResponseData* Arena::CreateMaybeMessage<::service::GetResponseRequest_GetResponseData>(Arena*); +template<> ::service::GetResponseResponse* Arena::CreateMaybeMessage<::service::GetResponseResponse>(Arena*); +template<> ::service::GetResponseResponse_ActionResponse* Arena::CreateMaybeMessage<::service::GetResponseResponse_ActionResponse>(Arena*); +template<> ::service::GetResponseResponse_AudioResponse* Arena::CreateMaybeMessage<::service::GetResponseResponse_AudioResponse>(Arena*); +template<> ::service::GetResponseResponse_BehaviorTreeResponse* Arena::CreateMaybeMessage<::service::GetResponseResponse_BehaviorTreeResponse>(Arena*); +template<> ::service::GetResponseResponse_UserTranscript* Arena::CreateMaybeMessage<::service::GetResponseResponse_UserTranscript>(Arena*); +template<> ::service::HelloRequest* Arena::CreateMaybeMessage<::service::HelloRequest>(Arena*); +template<> ::service::HelloResponse* Arena::CreateMaybeMessage<::service::HelloResponse>(Arena*); +template<> ::service::STTRequest* Arena::CreateMaybeMessage<::service::STTRequest>(Arena*); +template<> ::service::STTResponse* Arena::CreateMaybeMessage<::service::STTResponse>(Arena*); +template<> ::service::TriggerConfig* Arena::CreateMaybeMessage<::service::TriggerConfig>(Arena*); +template<> ::service::Viseme* Arena::CreateMaybeMessage<::service::Viseme>(Arena*); +template<> ::service::VisemesData* Arena::CreateMaybeMessage<::service::VisemesData>(Arena*); +template<> ::service::VisionInput* Arena::CreateMaybeMessage<::service::VisionInput>(Arena*); +template<> ::service::VisionInput_ImageData* Arena::CreateMaybeMessage<::service::VisionInput_ImageData>(Arena*); +template<> ::service::VisionInput_VideoData* Arena::CreateMaybeMessage<::service::VisionInput_VideoData>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace service { + +enum FaceModel : int { + FACE_MODEL_UNSPECIFIED = 0, + FACE_MODEL_A_2F_MODEL_NAME = 1, + FACE_MODEL_PHONEMES_MODEL_NAME = 2, + FACE_MODEL_OVR_MODEL_NAME = 3, + FaceModel_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(), + FaceModel_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max() +}; +bool FaceModel_IsValid(int value); +constexpr FaceModel FaceModel_MIN = FACE_MODEL_UNSPECIFIED; +constexpr FaceModel FaceModel_MAX = FACE_MODEL_OVR_MODEL_NAME; +constexpr int FaceModel_ARRAYSIZE = FaceModel_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FaceModel_descriptor(); +template +inline const std::string& FaceModel_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function FaceModel_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + FaceModel_descriptor(), enum_t_value); +} +inline bool FaceModel_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, FaceModel* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + FaceModel_descriptor(), name, value); +} +// =================================================================== + +class AudioConfig PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.AudioConfig) */ { + public: + inline AudioConfig() : AudioConfig(nullptr) {} + virtual ~AudioConfig(); + + AudioConfig(const AudioConfig& from); + AudioConfig(AudioConfig&& from) noexcept + : AudioConfig() { + *this = ::std::move(from); + } + + inline AudioConfig& operator=(const AudioConfig& from) { + CopyFrom(from); + return *this; + } + inline AudioConfig& operator=(AudioConfig&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const AudioConfig& default_instance(); + + static inline const AudioConfig* internal_default_instance() { + return reinterpret_cast( + &_AudioConfig_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(AudioConfig& a, AudioConfig& b) { + a.Swap(&b); + } + inline void Swap(AudioConfig* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(AudioConfig* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline AudioConfig* New() const final { + return CreateMaybeMessage(nullptr); + } + + AudioConfig* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const AudioConfig& from); + void MergeFrom(const AudioConfig& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(AudioConfig* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.AudioConfig"; + } + protected: + explicit AudioConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kSampleRateHertzFieldNumber = 1, + kDisableAudioFieldNumber = 2, + kEnableFacialDataFieldNumber = 3, + kEnableFacialEmotionDataFieldNumber = 5, + kFaceModelFieldNumber = 4, + }; + // int32 sample_rate_hertz = 1; + void clear_sample_rate_hertz(); + ::PROTOBUF_NAMESPACE_ID::int32 sample_rate_hertz() const; + void set_sample_rate_hertz(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_sample_rate_hertz() const; + void _internal_set_sample_rate_hertz(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // bool disable_audio = 2; + void clear_disable_audio(); + bool disable_audio() const; + void set_disable_audio(bool value); + private: + bool _internal_disable_audio() const; + void _internal_set_disable_audio(bool value); + public: + + // bool enable_facial_data = 3; + void clear_enable_facial_data(); + bool enable_facial_data() const; + void set_enable_facial_data(bool value); + private: + bool _internal_enable_facial_data() const; + void _internal_set_enable_facial_data(bool value); + public: + + // bool enable_facial_emotion_data = 5; + void clear_enable_facial_emotion_data(); + bool enable_facial_emotion_data() const; + void set_enable_facial_emotion_data(bool value); + private: + bool _internal_enable_facial_emotion_data() const; + void _internal_set_enable_facial_emotion_data(bool value); + public: + + // .service.FaceModel face_model = 4; + void clear_face_model(); + ::service::FaceModel face_model() const; + void set_face_model(::service::FaceModel value); + private: + ::service::FaceModel _internal_face_model() const; + void _internal_set_face_model(::service::FaceModel value); + public: + + // @@protoc_insertion_point(class_scope:service.AudioConfig) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::int32 sample_rate_hertz_; + bool disable_audio_; + bool enable_facial_data_; + bool enable_facial_emotion_data_; + int face_model_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class TriggerConfig PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.TriggerConfig) */ { + public: + inline TriggerConfig() : TriggerConfig(nullptr) {} + virtual ~TriggerConfig(); + + TriggerConfig(const TriggerConfig& from); + TriggerConfig(TriggerConfig&& from) noexcept + : TriggerConfig() { + *this = ::std::move(from); + } + + inline TriggerConfig& operator=(const TriggerConfig& from) { + CopyFrom(from); + return *this; + } + inline TriggerConfig& operator=(TriggerConfig&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const TriggerConfig& default_instance(); + + static inline const TriggerConfig* internal_default_instance() { + return reinterpret_cast( + &_TriggerConfig_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + friend void swap(TriggerConfig& a, TriggerConfig& b) { + a.Swap(&b); + } + inline void Swap(TriggerConfig* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(TriggerConfig* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline TriggerConfig* New() const final { + return CreateMaybeMessage(nullptr); + } + + TriggerConfig* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const TriggerConfig& from); + void MergeFrom(const TriggerConfig& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(TriggerConfig* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.TriggerConfig"; + } + protected: + explicit TriggerConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kTriggerNameFieldNumber = 1, + kTriggerMessageFieldNumber = 2, + }; + // string trigger_name = 1; + void clear_trigger_name(); + const std::string& trigger_name() const; + void set_trigger_name(const std::string& value); + void set_trigger_name(std::string&& value); + void set_trigger_name(const char* value); + void set_trigger_name(const char* value, size_t size); + std::string* mutable_trigger_name(); + std::string* release_trigger_name(); + void set_allocated_trigger_name(std::string* trigger_name); + private: + const std::string& _internal_trigger_name() const; + void _internal_set_trigger_name(const std::string& value); + std::string* _internal_mutable_trigger_name(); + public: + + // string trigger_message = 2; + void clear_trigger_message(); + const std::string& trigger_message() const; + void set_trigger_message(const std::string& value); + void set_trigger_message(std::string&& value); + void set_trigger_message(const char* value); + void set_trigger_message(const char* value, size_t size); + std::string* mutable_trigger_message(); + std::string* release_trigger_message(); + void set_allocated_trigger_message(std::string* trigger_message); + private: + const std::string& _internal_trigger_message() const; + void _internal_set_trigger_message(const std::string& value); + std::string* _internal_mutable_trigger_message(); + public: + + // @@protoc_insertion_point(class_scope:service.TriggerConfig) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr trigger_name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr trigger_message_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class ActionConfig_Character PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.ActionConfig.Character) */ { + public: + inline ActionConfig_Character() : ActionConfig_Character(nullptr) {} + virtual ~ActionConfig_Character(); + + ActionConfig_Character(const ActionConfig_Character& from); + ActionConfig_Character(ActionConfig_Character&& from) noexcept + : ActionConfig_Character() { + *this = ::std::move(from); + } + + inline ActionConfig_Character& operator=(const ActionConfig_Character& from) { + CopyFrom(from); + return *this; + } + inline ActionConfig_Character& operator=(ActionConfig_Character&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const ActionConfig_Character& default_instance(); + + static inline const ActionConfig_Character* internal_default_instance() { + return reinterpret_cast( + &_ActionConfig_Character_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(ActionConfig_Character& a, ActionConfig_Character& b) { + a.Swap(&b); + } + inline void Swap(ActionConfig_Character* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ActionConfig_Character* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ActionConfig_Character* New() const final { + return CreateMaybeMessage(nullptr); + } + + ActionConfig_Character* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const ActionConfig_Character& from); + void MergeFrom(const ActionConfig_Character& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ActionConfig_Character* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.ActionConfig.Character"; + } + protected: + explicit ActionConfig_Character(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 1, + kBioFieldNumber = 2, + }; + // string name = 1; + void clear_name(); + const std::string& name() const; + void set_name(const std::string& value); + void set_name(std::string&& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + std::string* mutable_name(); + std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // string bio = 2; + void clear_bio(); + const std::string& bio() const; + void set_bio(const std::string& value); + void set_bio(std::string&& value); + void set_bio(const char* value); + void set_bio(const char* value, size_t size); + std::string* mutable_bio(); + std::string* release_bio(); + void set_allocated_bio(std::string* bio); + private: + const std::string& _internal_bio() const; + void _internal_set_bio(const std::string& value); + std::string* _internal_mutable_bio(); + public: + + // @@protoc_insertion_point(class_scope:service.ActionConfig.Character) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr bio_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class ActionConfig_Object PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.ActionConfig.Object) */ { + public: + inline ActionConfig_Object() : ActionConfig_Object(nullptr) {} + virtual ~ActionConfig_Object(); + + ActionConfig_Object(const ActionConfig_Object& from); + ActionConfig_Object(ActionConfig_Object&& from) noexcept + : ActionConfig_Object() { + *this = ::std::move(from); + } + + inline ActionConfig_Object& operator=(const ActionConfig_Object& from) { + CopyFrom(from); + return *this; + } + inline ActionConfig_Object& operator=(ActionConfig_Object&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const ActionConfig_Object& default_instance(); + + static inline const ActionConfig_Object* internal_default_instance() { + return reinterpret_cast( + &_ActionConfig_Object_default_instance_); + } + static constexpr int kIndexInFileMessages = + 3; + + friend void swap(ActionConfig_Object& a, ActionConfig_Object& b) { + a.Swap(&b); + } + inline void Swap(ActionConfig_Object* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ActionConfig_Object* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ActionConfig_Object* New() const final { + return CreateMaybeMessage(nullptr); + } + + ActionConfig_Object* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const ActionConfig_Object& from); + void MergeFrom(const ActionConfig_Object& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ActionConfig_Object* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.ActionConfig.Object"; + } + protected: + explicit ActionConfig_Object(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 1, + kDescriptionFieldNumber = 2, + }; + // string name = 1; + void clear_name(); + const std::string& name() const; + void set_name(const std::string& value); + void set_name(std::string&& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + std::string* mutable_name(); + std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // string description = 2; + void clear_description(); + const std::string& description() const; + void set_description(const std::string& value); + void set_description(std::string&& value); + void set_description(const char* value); + void set_description(const char* value, size_t size); + std::string* mutable_description(); + std::string* release_description(); + void set_allocated_description(std::string* description); + private: + const std::string& _internal_description() const; + void _internal_set_description(const std::string& value); + std::string* _internal_mutable_description(); + public: + + // @@protoc_insertion_point(class_scope:service.ActionConfig.Object) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr description_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class ActionConfig PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.ActionConfig) */ { + public: + inline ActionConfig() : ActionConfig(nullptr) {} + virtual ~ActionConfig(); + + ActionConfig(const ActionConfig& from); + ActionConfig(ActionConfig&& from) noexcept + : ActionConfig() { + *this = ::std::move(from); + } + + inline ActionConfig& operator=(const ActionConfig& from) { + CopyFrom(from); + return *this; + } + inline ActionConfig& operator=(ActionConfig&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const ActionConfig& default_instance(); + + static inline const ActionConfig* internal_default_instance() { + return reinterpret_cast( + &_ActionConfig_default_instance_); + } + static constexpr int kIndexInFileMessages = + 4; + + friend void swap(ActionConfig& a, ActionConfig& b) { + a.Swap(&b); + } + inline void Swap(ActionConfig* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ActionConfig* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ActionConfig* New() const final { + return CreateMaybeMessage(nullptr); + } + + ActionConfig* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const ActionConfig& from); + void MergeFrom(const ActionConfig& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ActionConfig* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.ActionConfig"; + } + protected: + explicit ActionConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + typedef ActionConfig_Character Character; + typedef ActionConfig_Object Object; + + // accessors ------------------------------------------------------- + + enum : int { + kActionsFieldNumber = 1, + kCharactersFieldNumber = 2, + kObjectsFieldNumber = 3, + kClassificationFieldNumber = 4, + kCurrentAttentionObjectFieldNumber = 6, + kContextLevelFieldNumber = 5, + }; + // repeated string actions = 1; + int actions_size() const; + private: + int _internal_actions_size() const; + public: + void clear_actions(); + const std::string& actions(int index) const; + std::string* mutable_actions(int index); + void set_actions(int index, const std::string& value); + void set_actions(int index, std::string&& value); + void set_actions(int index, const char* value); + void set_actions(int index, const char* value, size_t size); + std::string* add_actions(); + void add_actions(const std::string& value); + void add_actions(std::string&& value); + void add_actions(const char* value); + void add_actions(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& actions() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_actions(); + private: + const std::string& _internal_actions(int index) const; + std::string* _internal_add_actions(); + public: + + // repeated .service.ActionConfig.Character characters = 2; + int characters_size() const; + private: + int _internal_characters_size() const; + public: + void clear_characters(); + ::service::ActionConfig_Character* mutable_characters(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Character >* + mutable_characters(); + private: + const ::service::ActionConfig_Character& _internal_characters(int index) const; + ::service::ActionConfig_Character* _internal_add_characters(); + public: + const ::service::ActionConfig_Character& characters(int index) const; + ::service::ActionConfig_Character* add_characters(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Character >& + characters() const; + + // repeated .service.ActionConfig.Object objects = 3; + int objects_size() const; + private: + int _internal_objects_size() const; + public: + void clear_objects(); + ::service::ActionConfig_Object* mutable_objects(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Object >* + mutable_objects(); + private: + const ::service::ActionConfig_Object& _internal_objects(int index) const; + ::service::ActionConfig_Object* _internal_add_objects(); + public: + const ::service::ActionConfig_Object& objects(int index) const; + ::service::ActionConfig_Object* add_objects(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Object >& + objects() const; + + // string classification = 4; + void clear_classification(); + const std::string& classification() const; + void set_classification(const std::string& value); + void set_classification(std::string&& value); + void set_classification(const char* value); + void set_classification(const char* value, size_t size); + std::string* mutable_classification(); + std::string* release_classification(); + void set_allocated_classification(std::string* classification); + private: + const std::string& _internal_classification() const; + void _internal_set_classification(const std::string& value); + std::string* _internal_mutable_classification(); + public: + + // string current_attention_object = 6; + void clear_current_attention_object(); + const std::string& current_attention_object() const; + void set_current_attention_object(const std::string& value); + void set_current_attention_object(std::string&& value); + void set_current_attention_object(const char* value); + void set_current_attention_object(const char* value, size_t size); + std::string* mutable_current_attention_object(); + std::string* release_current_attention_object(); + void set_allocated_current_attention_object(std::string* current_attention_object); + private: + const std::string& _internal_current_attention_object() const; + void _internal_set_current_attention_object(const std::string& value); + std::string* _internal_mutable_current_attention_object(); + public: + + // int32 context_level = 5; + void clear_context_level(); + ::PROTOBUF_NAMESPACE_ID::int32 context_level() const; + void set_context_level(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_context_level() const; + void _internal_set_context_level(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // @@protoc_insertion_point(class_scope:service.ActionConfig) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField actions_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Character > characters_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Object > objects_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr classification_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr current_attention_object_; + ::PROTOBUF_NAMESPACE_ID::int32 context_level_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class STTRequest PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.STTRequest) */ { + public: + inline STTRequest() : STTRequest(nullptr) {} + virtual ~STTRequest(); + + STTRequest(const STTRequest& from); + STTRequest(STTRequest&& from) noexcept + : STTRequest() { + *this = ::std::move(from); + } + + inline STTRequest& operator=(const STTRequest& from) { + CopyFrom(from); + return *this; + } + inline STTRequest& operator=(STTRequest&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const STTRequest& default_instance(); + + enum RequestTypeCase { + kAudioConfig = 1, + kAudioChunk = 2, + REQUEST_TYPE_NOT_SET = 0, + }; + + static inline const STTRequest* internal_default_instance() { + return reinterpret_cast( + &_STTRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 5; + + friend void swap(STTRequest& a, STTRequest& b) { + a.Swap(&b); + } + inline void Swap(STTRequest* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(STTRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline STTRequest* New() const final { + return CreateMaybeMessage(nullptr); + } + + STTRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const STTRequest& from); + void MergeFrom(const STTRequest& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(STTRequest* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.STTRequest"; + } + protected: + explicit STTRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kAudioConfigFieldNumber = 1, + kAudioChunkFieldNumber = 2, + }; + // .service.AudioConfig audio_config = 1; + bool has_audio_config() const; + private: + bool _internal_has_audio_config() const; + public: + void clear_audio_config(); + const ::service::AudioConfig& audio_config() const; + ::service::AudioConfig* release_audio_config(); + ::service::AudioConfig* mutable_audio_config(); + void set_allocated_audio_config(::service::AudioConfig* audio_config); + private: + const ::service::AudioConfig& _internal_audio_config() const; + ::service::AudioConfig* _internal_mutable_audio_config(); + public: + void unsafe_arena_set_allocated_audio_config( + ::service::AudioConfig* audio_config); + ::service::AudioConfig* unsafe_arena_release_audio_config(); + + // bytes audio_chunk = 2; + private: + bool _internal_has_audio_chunk() const; + public: + void clear_audio_chunk(); + const std::string& audio_chunk() const; + void set_audio_chunk(const std::string& value); + void set_audio_chunk(std::string&& value); + void set_audio_chunk(const char* value); + void set_audio_chunk(const void* value, size_t size); + std::string* mutable_audio_chunk(); + std::string* release_audio_chunk(); + void set_allocated_audio_chunk(std::string* audio_chunk); + private: + const std::string& _internal_audio_chunk() const; + void _internal_set_audio_chunk(const std::string& value); + std::string* _internal_mutable_audio_chunk(); + public: + + void clear_request_type(); + RequestTypeCase request_type_case() const; + // @@protoc_insertion_point(class_scope:service.STTRequest) + private: + class _Internal; + void set_has_audio_config(); + void set_has_audio_chunk(); + + inline bool has_request_type() const; + inline void clear_has_request_type(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + union RequestTypeUnion { + RequestTypeUnion() {} + ::service::AudioConfig* audio_config_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr audio_chunk_; + } request_type_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1]; + + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class STTResponse PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.STTResponse) */ { + public: + inline STTResponse() : STTResponse(nullptr) {} + virtual ~STTResponse(); + + STTResponse(const STTResponse& from); + STTResponse(STTResponse&& from) noexcept + : STTResponse() { + *this = ::std::move(from); + } + + inline STTResponse& operator=(const STTResponse& from) { + CopyFrom(from); + return *this; + } + inline STTResponse& operator=(STTResponse&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const STTResponse& default_instance(); + + static inline const STTResponse* internal_default_instance() { + return reinterpret_cast( + &_STTResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 6; + + friend void swap(STTResponse& a, STTResponse& b) { + a.Swap(&b); + } + inline void Swap(STTResponse* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(STTResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline STTResponse* New() const final { + return CreateMaybeMessage(nullptr); + } + + STTResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const STTResponse& from); + void MergeFrom(const STTResponse& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(STTResponse* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.STTResponse"; + } + protected: + explicit STTResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kTextFieldNumber = 1, + }; + // string text = 1; + void clear_text(); + const std::string& text() const; + void set_text(const std::string& value); + void set_text(std::string&& value); + void set_text(const char* value); + void set_text(const char* value, size_t size); + std::string* mutable_text(); + std::string* release_text(); + void set_allocated_text(std::string* text); + private: + const std::string& _internal_text() const; + void _internal_set_text(const std::string& value); + std::string* _internal_mutable_text(); + public: + + // @@protoc_insertion_point(class_scope:service.STTResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class DynamicInfoConfig PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.DynamicInfoConfig) */ { + public: + inline DynamicInfoConfig() : DynamicInfoConfig(nullptr) {} + virtual ~DynamicInfoConfig(); + + DynamicInfoConfig(const DynamicInfoConfig& from); + DynamicInfoConfig(DynamicInfoConfig&& from) noexcept + : DynamicInfoConfig() { + *this = ::std::move(from); + } + + inline DynamicInfoConfig& operator=(const DynamicInfoConfig& from) { + CopyFrom(from); + return *this; + } + inline DynamicInfoConfig& operator=(DynamicInfoConfig&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const DynamicInfoConfig& default_instance(); + + static inline const DynamicInfoConfig* internal_default_instance() { + return reinterpret_cast( + &_DynamicInfoConfig_default_instance_); + } + static constexpr int kIndexInFileMessages = + 7; + + friend void swap(DynamicInfoConfig& a, DynamicInfoConfig& b) { + a.Swap(&b); + } + inline void Swap(DynamicInfoConfig* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(DynamicInfoConfig* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline DynamicInfoConfig* New() const final { + return CreateMaybeMessage(nullptr); + } + + DynamicInfoConfig* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const DynamicInfoConfig& from); + void MergeFrom(const DynamicInfoConfig& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(DynamicInfoConfig* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.DynamicInfoConfig"; + } + protected: + explicit DynamicInfoConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kTextFieldNumber = 1, + }; + // string text = 1; + void clear_text(); + const std::string& text() const; + void set_text(const std::string& value); + void set_text(std::string&& value); + void set_text(const char* value); + void set_text(const char* value, size_t size); + std::string* mutable_text(); + std::string* release_text(); + void set_allocated_text(std::string* text); + private: + const std::string& _internal_text() const; + void _internal_set_text(const std::string& value); + std::string* _internal_mutable_text(); + public: + + // @@protoc_insertion_point(class_scope:service.DynamicInfoConfig) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class VisionInput_ImageData PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.VisionInput.ImageData) */ { + public: + inline VisionInput_ImageData() : VisionInput_ImageData(nullptr) {} + virtual ~VisionInput_ImageData(); + + VisionInput_ImageData(const VisionInput_ImageData& from); + VisionInput_ImageData(VisionInput_ImageData&& from) noexcept + : VisionInput_ImageData() { + *this = ::std::move(from); + } + + inline VisionInput_ImageData& operator=(const VisionInput_ImageData& from) { + CopyFrom(from); + return *this; + } + inline VisionInput_ImageData& operator=(VisionInput_ImageData&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const VisionInput_ImageData& default_instance(); + + static inline const VisionInput_ImageData* internal_default_instance() { + return reinterpret_cast( + &_VisionInput_ImageData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 8; + + friend void swap(VisionInput_ImageData& a, VisionInput_ImageData& b) { + a.Swap(&b); + } + inline void Swap(VisionInput_ImageData* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(VisionInput_ImageData* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline VisionInput_ImageData* New() const final { + return CreateMaybeMessage(nullptr); + } + + VisionInput_ImageData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const VisionInput_ImageData& from); + void MergeFrom(const VisionInput_ImageData& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(VisionInput_ImageData* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.VisionInput.ImageData"; + } + protected: + explicit VisionInput_ImageData(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kDataFieldNumber = 3, + kWidthFieldNumber = 1, + kHeightFieldNumber = 2, + }; + // bytes data = 3; + void clear_data(); + const std::string& data() const; + void set_data(const std::string& value); + void set_data(std::string&& value); + void set_data(const char* value); + void set_data(const void* value, size_t size); + std::string* mutable_data(); + std::string* release_data(); + void set_allocated_data(std::string* data); + private: + const std::string& _internal_data() const; + void _internal_set_data(const std::string& value); + std::string* _internal_mutable_data(); + public: + + // int32 width = 1; + void clear_width(); + ::PROTOBUF_NAMESPACE_ID::int32 width() const; + void set_width(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_width() const; + void _internal_set_width(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // int32 height = 2; + void clear_height(); + ::PROTOBUF_NAMESPACE_ID::int32 height() const; + void set_height(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_height() const; + void _internal_set_height(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // @@protoc_insertion_point(class_scope:service.VisionInput.ImageData) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr data_; + ::PROTOBUF_NAMESPACE_ID::int32 width_; + ::PROTOBUF_NAMESPACE_ID::int32 height_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class VisionInput_VideoData PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.VisionInput.VideoData) */ { + public: + inline VisionInput_VideoData() : VisionInput_VideoData(nullptr) {} + virtual ~VisionInput_VideoData(); + + VisionInput_VideoData(const VisionInput_VideoData& from); + VisionInput_VideoData(VisionInput_VideoData&& from) noexcept + : VisionInput_VideoData() { + *this = ::std::move(from); + } + + inline VisionInput_VideoData& operator=(const VisionInput_VideoData& from) { + CopyFrom(from); + return *this; + } + inline VisionInput_VideoData& operator=(VisionInput_VideoData&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const VisionInput_VideoData& default_instance(); + + static inline const VisionInput_VideoData* internal_default_instance() { + return reinterpret_cast( + &_VisionInput_VideoData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 9; + + friend void swap(VisionInput_VideoData& a, VisionInput_VideoData& b) { + a.Swap(&b); + } + inline void Swap(VisionInput_VideoData* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(VisionInput_VideoData* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline VisionInput_VideoData* New() const final { + return CreateMaybeMessage(nullptr); + } + + VisionInput_VideoData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const VisionInput_VideoData& from); + void MergeFrom(const VisionInput_VideoData& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(VisionInput_VideoData* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.VisionInput.VideoData"; + } + protected: + explicit VisionInput_VideoData(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kDataFieldNumber = 4, + kFpsFieldNumber = 1, + kWidthFieldNumber = 2, + kHeightFieldNumber = 3, + }; + // bytes data = 4; + void clear_data(); + const std::string& data() const; + void set_data(const std::string& value); + void set_data(std::string&& value); + void set_data(const char* value); + void set_data(const void* value, size_t size); + std::string* mutable_data(); + std::string* release_data(); + void set_allocated_data(std::string* data); + private: + const std::string& _internal_data() const; + void _internal_set_data(const std::string& value); + std::string* _internal_mutable_data(); + public: + + // int32 fps = 1; + void clear_fps(); + ::PROTOBUF_NAMESPACE_ID::int32 fps() const; + void set_fps(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_fps() const; + void _internal_set_fps(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // int32 width = 2; + void clear_width(); + ::PROTOBUF_NAMESPACE_ID::int32 width() const; + void set_width(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_width() const; + void _internal_set_width(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // int32 height = 3; + void clear_height(); + ::PROTOBUF_NAMESPACE_ID::int32 height() const; + void set_height(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_height() const; + void _internal_set_height(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // @@protoc_insertion_point(class_scope:service.VisionInput.VideoData) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr data_; + ::PROTOBUF_NAMESPACE_ID::int32 fps_; + ::PROTOBUF_NAMESPACE_ID::int32 width_; + ::PROTOBUF_NAMESPACE_ID::int32 height_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class VisionInput PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.VisionInput) */ { + public: + inline VisionInput() : VisionInput(nullptr) {} + virtual ~VisionInput(); + + VisionInput(const VisionInput& from); + VisionInput(VisionInput&& from) noexcept + : VisionInput() { + *this = ::std::move(from); + } + + inline VisionInput& operator=(const VisionInput& from) { + CopyFrom(from); + return *this; + } + inline VisionInput& operator=(VisionInput&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const VisionInput& default_instance(); + + enum VisionDataCase { + kImageData = 1, + kVideoData = 2, + VISION_DATA_NOT_SET = 0, + }; + + static inline const VisionInput* internal_default_instance() { + return reinterpret_cast( + &_VisionInput_default_instance_); + } + static constexpr int kIndexInFileMessages = + 10; + + friend void swap(VisionInput& a, VisionInput& b) { + a.Swap(&b); + } + inline void Swap(VisionInput* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(VisionInput* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline VisionInput* New() const final { + return CreateMaybeMessage(nullptr); + } + + VisionInput* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const VisionInput& from); + void MergeFrom(const VisionInput& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(VisionInput* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.VisionInput"; + } + protected: + explicit VisionInput(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + typedef VisionInput_ImageData ImageData; + typedef VisionInput_VideoData VideoData; + + // accessors ------------------------------------------------------- + + enum : int { + kImageDataFieldNumber = 1, + kVideoDataFieldNumber = 2, + }; + // .service.VisionInput.ImageData image_data = 1; + bool has_image_data() const; + private: + bool _internal_has_image_data() const; + public: + void clear_image_data(); + const ::service::VisionInput_ImageData& image_data() const; + ::service::VisionInput_ImageData* release_image_data(); + ::service::VisionInput_ImageData* mutable_image_data(); + void set_allocated_image_data(::service::VisionInput_ImageData* image_data); + private: + const ::service::VisionInput_ImageData& _internal_image_data() const; + ::service::VisionInput_ImageData* _internal_mutable_image_data(); + public: + void unsafe_arena_set_allocated_image_data( + ::service::VisionInput_ImageData* image_data); + ::service::VisionInput_ImageData* unsafe_arena_release_image_data(); + + // .service.VisionInput.VideoData video_data = 2; + bool has_video_data() const; + private: + bool _internal_has_video_data() const; + public: + void clear_video_data(); + const ::service::VisionInput_VideoData& video_data() const; + ::service::VisionInput_VideoData* release_video_data(); + ::service::VisionInput_VideoData* mutable_video_data(); + void set_allocated_video_data(::service::VisionInput_VideoData* video_data); + private: + const ::service::VisionInput_VideoData& _internal_video_data() const; + ::service::VisionInput_VideoData* _internal_mutable_video_data(); + public: + void unsafe_arena_set_allocated_video_data( + ::service::VisionInput_VideoData* video_data); + ::service::VisionInput_VideoData* unsafe_arena_release_video_data(); + + void clear_vision_data(); + VisionDataCase vision_data_case() const; + // @@protoc_insertion_point(class_scope:service.VisionInput) + private: + class _Internal; + void set_has_image_data(); + void set_has_video_data(); + + inline bool has_vision_data() const; + inline void clear_has_vision_data(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + union VisionDataUnion { + VisionDataUnion() {} + ::service::VisionInput_ImageData* image_data_; + ::service::VisionInput_VideoData* video_data_; + } vision_data_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1]; + + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry { +public: + typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry SuperType; + GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse(); + explicit GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + void MergeFrom(const GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse& other); + static const GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse_default_instance_); } + static bool ValidateKey(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "service.GetResponseRequest.GetResponseConfig.NarrativeTemplateKeysEntry.key"); + } + static bool ValidateValue(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "service.GetResponseRequest.GetResponseConfig.NarrativeTemplateKeysEntry.value"); + } + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& other) final; + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[11]; + } + + public: +}; + +// ------------------------------------------------------------------- + +class GetResponseRequest_GetResponseConfig PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseRequest.GetResponseConfig) */ { + public: + inline GetResponseRequest_GetResponseConfig() : GetResponseRequest_GetResponseConfig(nullptr) {} + virtual ~GetResponseRequest_GetResponseConfig(); + + GetResponseRequest_GetResponseConfig(const GetResponseRequest_GetResponseConfig& from); + GetResponseRequest_GetResponseConfig(GetResponseRequest_GetResponseConfig&& from) noexcept + : GetResponseRequest_GetResponseConfig() { + *this = ::std::move(from); + } + + inline GetResponseRequest_GetResponseConfig& operator=(const GetResponseRequest_GetResponseConfig& from) { + CopyFrom(from); + return *this; + } + inline GetResponseRequest_GetResponseConfig& operator=(GetResponseRequest_GetResponseConfig&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const GetResponseRequest_GetResponseConfig& default_instance(); + + static inline const GetResponseRequest_GetResponseConfig* internal_default_instance() { + return reinterpret_cast( + &_GetResponseRequest_GetResponseConfig_default_instance_); + } + static constexpr int kIndexInFileMessages = + 12; + + friend void swap(GetResponseRequest_GetResponseConfig& a, GetResponseRequest_GetResponseConfig& b) { + a.Swap(&b); + } + inline void Swap(GetResponseRequest_GetResponseConfig* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseRequest_GetResponseConfig* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetResponseRequest_GetResponseConfig* New() const final { + return CreateMaybeMessage(nullptr); + } + + GetResponseRequest_GetResponseConfig* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const GetResponseRequest_GetResponseConfig& from); + void MergeFrom(const GetResponseRequest_GetResponseConfig& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseRequest_GetResponseConfig* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseRequest.GetResponseConfig"; + } + protected: + explicit GetResponseRequest_GetResponseConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + + // accessors ------------------------------------------------------- + + enum : int { + kNarrativeTemplateKeysFieldNumber = 11, + kCharacterIdFieldNumber = 2, + kApiKeyFieldNumber = 3, + kSessionIdFieldNumber = 4, + kSpeakerFieldNumber = 7, + kLanguageCodeFieldNumber = 8, + kSpeakerIdFieldNumber = 9, + kApiAuthTokenFieldNumber = 10, + kAudioConfigFieldNumber = 5, + kActionConfigFieldNumber = 6, + kDynamicInfoConfigFieldNumber = 12, + kVisionInputFieldNumber = 13, + }; + // map narrative_template_keys = 11; + int narrative_template_keys_size() const; + private: + int _internal_narrative_template_keys_size() const; + public: + void clear_narrative_template_keys(); + private: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& + _internal_narrative_template_keys() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* + _internal_mutable_narrative_template_keys(); + public: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& + narrative_template_keys() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* + mutable_narrative_template_keys(); + + // string character_id = 2; + void clear_character_id(); + const std::string& character_id() const; + void set_character_id(const std::string& value); + void set_character_id(std::string&& value); + void set_character_id(const char* value); + void set_character_id(const char* value, size_t size); + std::string* mutable_character_id(); + std::string* release_character_id(); + void set_allocated_character_id(std::string* character_id); + private: + const std::string& _internal_character_id() const; + void _internal_set_character_id(const std::string& value); + std::string* _internal_mutable_character_id(); + public: + + // string api_key = 3; + void clear_api_key(); + const std::string& api_key() const; + void set_api_key(const std::string& value); + void set_api_key(std::string&& value); + void set_api_key(const char* value); + void set_api_key(const char* value, size_t size); + std::string* mutable_api_key(); + std::string* release_api_key(); + void set_allocated_api_key(std::string* api_key); + private: + const std::string& _internal_api_key() const; + void _internal_set_api_key(const std::string& value); + std::string* _internal_mutable_api_key(); + public: + + // string session_id = 4; + void clear_session_id(); + const std::string& session_id() const; + void set_session_id(const std::string& value); + void set_session_id(std::string&& value); + void set_session_id(const char* value); + void set_session_id(const char* value, size_t size); + std::string* mutable_session_id(); + std::string* release_session_id(); + void set_allocated_session_id(std::string* session_id); + private: + const std::string& _internal_session_id() const; + void _internal_set_session_id(const std::string& value); + std::string* _internal_mutable_session_id(); + public: + + // string speaker = 7; + void clear_speaker(); + const std::string& speaker() const; + void set_speaker(const std::string& value); + void set_speaker(std::string&& value); + void set_speaker(const char* value); + void set_speaker(const char* value, size_t size); + std::string* mutable_speaker(); + std::string* release_speaker(); + void set_allocated_speaker(std::string* speaker); + private: + const std::string& _internal_speaker() const; + void _internal_set_speaker(const std::string& value); + std::string* _internal_mutable_speaker(); + public: + + // string language_code = 8; + void clear_language_code(); + const std::string& language_code() const; + void set_language_code(const std::string& value); + void set_language_code(std::string&& value); + void set_language_code(const char* value); + void set_language_code(const char* value, size_t size); + std::string* mutable_language_code(); + std::string* release_language_code(); + void set_allocated_language_code(std::string* language_code); + private: + const std::string& _internal_language_code() const; + void _internal_set_language_code(const std::string& value); + std::string* _internal_mutable_language_code(); + public: + + // string speaker_id = 9; + void clear_speaker_id(); + const std::string& speaker_id() const; + void set_speaker_id(const std::string& value); + void set_speaker_id(std::string&& value); + void set_speaker_id(const char* value); + void set_speaker_id(const char* value, size_t size); + std::string* mutable_speaker_id(); + std::string* release_speaker_id(); + void set_allocated_speaker_id(std::string* speaker_id); + private: + const std::string& _internal_speaker_id() const; + void _internal_set_speaker_id(const std::string& value); + std::string* _internal_mutable_speaker_id(); + public: + + // string api_auth_token = 10; + void clear_api_auth_token(); + const std::string& api_auth_token() const; + void set_api_auth_token(const std::string& value); + void set_api_auth_token(std::string&& value); + void set_api_auth_token(const char* value); + void set_api_auth_token(const char* value, size_t size); + std::string* mutable_api_auth_token(); + std::string* release_api_auth_token(); + void set_allocated_api_auth_token(std::string* api_auth_token); + private: + const std::string& _internal_api_auth_token() const; + void _internal_set_api_auth_token(const std::string& value); + std::string* _internal_mutable_api_auth_token(); + public: + + // .service.AudioConfig audio_config = 5; + bool has_audio_config() const; + private: + bool _internal_has_audio_config() const; + public: + void clear_audio_config(); + const ::service::AudioConfig& audio_config() const; + ::service::AudioConfig* release_audio_config(); + ::service::AudioConfig* mutable_audio_config(); + void set_allocated_audio_config(::service::AudioConfig* audio_config); + private: + const ::service::AudioConfig& _internal_audio_config() const; + ::service::AudioConfig* _internal_mutable_audio_config(); + public: + void unsafe_arena_set_allocated_audio_config( + ::service::AudioConfig* audio_config); + ::service::AudioConfig* unsafe_arena_release_audio_config(); + + // .service.ActionConfig action_config = 6; + bool has_action_config() const; + private: + bool _internal_has_action_config() const; + public: + void clear_action_config(); + const ::service::ActionConfig& action_config() const; + ::service::ActionConfig* release_action_config(); + ::service::ActionConfig* mutable_action_config(); + void set_allocated_action_config(::service::ActionConfig* action_config); + private: + const ::service::ActionConfig& _internal_action_config() const; + ::service::ActionConfig* _internal_mutable_action_config(); + public: + void unsafe_arena_set_allocated_action_config( + ::service::ActionConfig* action_config); + ::service::ActionConfig* unsafe_arena_release_action_config(); + + // .service.DynamicInfoConfig dynamic_info_config = 12; + bool has_dynamic_info_config() const; + private: + bool _internal_has_dynamic_info_config() const; + public: + void clear_dynamic_info_config(); + const ::service::DynamicInfoConfig& dynamic_info_config() const; + ::service::DynamicInfoConfig* release_dynamic_info_config(); + ::service::DynamicInfoConfig* mutable_dynamic_info_config(); + void set_allocated_dynamic_info_config(::service::DynamicInfoConfig* dynamic_info_config); + private: + const ::service::DynamicInfoConfig& _internal_dynamic_info_config() const; + ::service::DynamicInfoConfig* _internal_mutable_dynamic_info_config(); + public: + void unsafe_arena_set_allocated_dynamic_info_config( + ::service::DynamicInfoConfig* dynamic_info_config); + ::service::DynamicInfoConfig* unsafe_arena_release_dynamic_info_config(); + + // .service.VisionInput vision_input = 13; + bool has_vision_input() const; + private: + bool _internal_has_vision_input() const; + public: + void clear_vision_input(); + const ::service::VisionInput& vision_input() const; + ::service::VisionInput* release_vision_input(); + ::service::VisionInput* mutable_vision_input(); + void set_allocated_vision_input(::service::VisionInput* vision_input); + private: + const ::service::VisionInput& _internal_vision_input() const; + ::service::VisionInput* _internal_mutable_vision_input(); + public: + void unsafe_arena_set_allocated_vision_input( + ::service::VisionInput* vision_input); + ::service::VisionInput* unsafe_arena_release_vision_input(); + + // @@protoc_insertion_point(class_scope:service.GetResponseRequest.GetResponseConfig) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::MapField< + GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse, + std::string, std::string, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> narrative_template_keys_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr character_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr api_key_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr session_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr speaker_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr language_code_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr speaker_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr api_auth_token_; + ::service::AudioConfig* audio_config_; + ::service::ActionConfig* action_config_; + ::service::DynamicInfoConfig* dynamic_info_config_; + ::service::VisionInput* vision_input_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseRequest_GetResponseData PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseRequest.GetResponseData) */ { + public: + inline GetResponseRequest_GetResponseData() : GetResponseRequest_GetResponseData(nullptr) {} + virtual ~GetResponseRequest_GetResponseData(); + + GetResponseRequest_GetResponseData(const GetResponseRequest_GetResponseData& from); + GetResponseRequest_GetResponseData(GetResponseRequest_GetResponseData&& from) noexcept + : GetResponseRequest_GetResponseData() { + *this = ::std::move(from); + } + + inline GetResponseRequest_GetResponseData& operator=(const GetResponseRequest_GetResponseData& from) { + CopyFrom(from); + return *this; + } + inline GetResponseRequest_GetResponseData& operator=(GetResponseRequest_GetResponseData&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const GetResponseRequest_GetResponseData& default_instance(); + + enum InputTypeCase { + kAudioData = 1, + kTextData = 2, + kTriggerData = 3, + INPUT_TYPE_NOT_SET = 0, + }; + + static inline const GetResponseRequest_GetResponseData* internal_default_instance() { + return reinterpret_cast( + &_GetResponseRequest_GetResponseData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 13; + + friend void swap(GetResponseRequest_GetResponseData& a, GetResponseRequest_GetResponseData& b) { + a.Swap(&b); + } + inline void Swap(GetResponseRequest_GetResponseData* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseRequest_GetResponseData* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetResponseRequest_GetResponseData* New() const final { + return CreateMaybeMessage(nullptr); + } + + GetResponseRequest_GetResponseData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const GetResponseRequest_GetResponseData& from); + void MergeFrom(const GetResponseRequest_GetResponseData& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseRequest_GetResponseData* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseRequest.GetResponseData"; + } + protected: + explicit GetResponseRequest_GetResponseData(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kAudioDataFieldNumber = 1, + kTextDataFieldNumber = 2, + kTriggerDataFieldNumber = 3, + }; + // bytes audio_data = 1; + private: + bool _internal_has_audio_data() const; + public: + void clear_audio_data(); + const std::string& audio_data() const; + void set_audio_data(const std::string& value); + void set_audio_data(std::string&& value); + void set_audio_data(const char* value); + void set_audio_data(const void* value, size_t size); + std::string* mutable_audio_data(); + std::string* release_audio_data(); + void set_allocated_audio_data(std::string* audio_data); + private: + const std::string& _internal_audio_data() const; + void _internal_set_audio_data(const std::string& value); + std::string* _internal_mutable_audio_data(); + public: + + // string text_data = 2; + private: + bool _internal_has_text_data() const; + public: + void clear_text_data(); + const std::string& text_data() const; + void set_text_data(const std::string& value); + void set_text_data(std::string&& value); + void set_text_data(const char* value); + void set_text_data(const char* value, size_t size); + std::string* mutable_text_data(); + std::string* release_text_data(); + void set_allocated_text_data(std::string* text_data); + private: + const std::string& _internal_text_data() const; + void _internal_set_text_data(const std::string& value); + std::string* _internal_mutable_text_data(); + public: + + // .service.TriggerConfig trigger_data = 3; + bool has_trigger_data() const; + private: + bool _internal_has_trigger_data() const; + public: + void clear_trigger_data(); + const ::service::TriggerConfig& trigger_data() const; + ::service::TriggerConfig* release_trigger_data(); + ::service::TriggerConfig* mutable_trigger_data(); + void set_allocated_trigger_data(::service::TriggerConfig* trigger_data); + private: + const ::service::TriggerConfig& _internal_trigger_data() const; + ::service::TriggerConfig* _internal_mutable_trigger_data(); + public: + void unsafe_arena_set_allocated_trigger_data( + ::service::TriggerConfig* trigger_data); + ::service::TriggerConfig* unsafe_arena_release_trigger_data(); + + void clear_input_type(); + InputTypeCase input_type_case() const; + // @@protoc_insertion_point(class_scope:service.GetResponseRequest.GetResponseData) + private: + class _Internal; + void set_has_audio_data(); + void set_has_text_data(); + void set_has_trigger_data(); + + inline bool has_input_type() const; + inline void clear_has_input_type(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + union InputTypeUnion { + InputTypeUnion() {} + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr audio_data_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_data_; + ::service::TriggerConfig* trigger_data_; + } input_type_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1]; + + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseRequest PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseRequest) */ { + public: + inline GetResponseRequest() : GetResponseRequest(nullptr) {} + virtual ~GetResponseRequest(); + + GetResponseRequest(const GetResponseRequest& from); + GetResponseRequest(GetResponseRequest&& from) noexcept + : GetResponseRequest() { + *this = ::std::move(from); + } + + inline GetResponseRequest& operator=(const GetResponseRequest& from) { + CopyFrom(from); + return *this; + } + inline GetResponseRequest& operator=(GetResponseRequest&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const GetResponseRequest& default_instance(); + + enum RequestTypeCase { + kGetResponseConfig = 1, + kGetResponseData = 2, + REQUEST_TYPE_NOT_SET = 0, + }; + + static inline const GetResponseRequest* internal_default_instance() { + return reinterpret_cast( + &_GetResponseRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 14; + + friend void swap(GetResponseRequest& a, GetResponseRequest& b) { + a.Swap(&b); + } + inline void Swap(GetResponseRequest* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetResponseRequest* New() const final { + return CreateMaybeMessage(nullptr); + } + + GetResponseRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const GetResponseRequest& from); + void MergeFrom(const GetResponseRequest& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseRequest* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseRequest"; + } + protected: + explicit GetResponseRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + typedef GetResponseRequest_GetResponseConfig GetResponseConfig; + typedef GetResponseRequest_GetResponseData GetResponseData; + + // accessors ------------------------------------------------------- + + enum : int { + kGetResponseConfigFieldNumber = 1, + kGetResponseDataFieldNumber = 2, + }; + // .service.GetResponseRequest.GetResponseConfig get_response_config = 1; + bool has_get_response_config() const; + private: + bool _internal_has_get_response_config() const; + public: + void clear_get_response_config(); + const ::service::GetResponseRequest_GetResponseConfig& get_response_config() const; + ::service::GetResponseRequest_GetResponseConfig* release_get_response_config(); + ::service::GetResponseRequest_GetResponseConfig* mutable_get_response_config(); + void set_allocated_get_response_config(::service::GetResponseRequest_GetResponseConfig* get_response_config); + private: + const ::service::GetResponseRequest_GetResponseConfig& _internal_get_response_config() const; + ::service::GetResponseRequest_GetResponseConfig* _internal_mutable_get_response_config(); + public: + void unsafe_arena_set_allocated_get_response_config( + ::service::GetResponseRequest_GetResponseConfig* get_response_config); + ::service::GetResponseRequest_GetResponseConfig* unsafe_arena_release_get_response_config(); + + // .service.GetResponseRequest.GetResponseData get_response_data = 2; + bool has_get_response_data() const; + private: + bool _internal_has_get_response_data() const; + public: + void clear_get_response_data(); + const ::service::GetResponseRequest_GetResponseData& get_response_data() const; + ::service::GetResponseRequest_GetResponseData* release_get_response_data(); + ::service::GetResponseRequest_GetResponseData* mutable_get_response_data(); + void set_allocated_get_response_data(::service::GetResponseRequest_GetResponseData* get_response_data); + private: + const ::service::GetResponseRequest_GetResponseData& _internal_get_response_data() const; + ::service::GetResponseRequest_GetResponseData* _internal_mutable_get_response_data(); + public: + void unsafe_arena_set_allocated_get_response_data( + ::service::GetResponseRequest_GetResponseData* get_response_data); + ::service::GetResponseRequest_GetResponseData* unsafe_arena_release_get_response_data(); + + void clear_request_type(); + RequestTypeCase request_type_case() const; + // @@protoc_insertion_point(class_scope:service.GetResponseRequest) + private: + class _Internal; + void set_has_get_response_config(); + void set_has_get_response_data(); + + inline bool has_request_type() const; + inline void clear_has_request_type(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + union RequestTypeUnion { + RequestTypeUnion() {} + ::service::GetResponseRequest_GetResponseConfig* get_response_config_; + ::service::GetResponseRequest_GetResponseData* get_response_data_; + } request_type_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1]; + + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseRequestSingle PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseRequestSingle) */ { + public: + inline GetResponseRequestSingle() : GetResponseRequestSingle(nullptr) {} + virtual ~GetResponseRequestSingle(); + + GetResponseRequestSingle(const GetResponseRequestSingle& from); + GetResponseRequestSingle(GetResponseRequestSingle&& from) noexcept + : GetResponseRequestSingle() { + *this = ::std::move(from); + } + + inline GetResponseRequestSingle& operator=(const GetResponseRequestSingle& from) { + CopyFrom(from); + return *this; + } + inline GetResponseRequestSingle& operator=(GetResponseRequestSingle&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const GetResponseRequestSingle& default_instance(); + + static inline const GetResponseRequestSingle* internal_default_instance() { + return reinterpret_cast( + &_GetResponseRequestSingle_default_instance_); + } + static constexpr int kIndexInFileMessages = + 15; + + friend void swap(GetResponseRequestSingle& a, GetResponseRequestSingle& b) { + a.Swap(&b); + } + inline void Swap(GetResponseRequestSingle* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseRequestSingle* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetResponseRequestSingle* New() const final { + return CreateMaybeMessage(nullptr); + } + + GetResponseRequestSingle* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const GetResponseRequestSingle& from); + void MergeFrom(const GetResponseRequestSingle& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseRequestSingle* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseRequestSingle"; + } + protected: + explicit GetResponseRequestSingle(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kResponseConfigFieldNumber = 1, + kResponseDataFieldNumber = 2, + }; + // .service.GetResponseRequest response_config = 1; + bool has_response_config() const; + private: + bool _internal_has_response_config() const; + public: + void clear_response_config(); + const ::service::GetResponseRequest& response_config() const; + ::service::GetResponseRequest* release_response_config(); + ::service::GetResponseRequest* mutable_response_config(); + void set_allocated_response_config(::service::GetResponseRequest* response_config); + private: + const ::service::GetResponseRequest& _internal_response_config() const; + ::service::GetResponseRequest* _internal_mutable_response_config(); + public: + void unsafe_arena_set_allocated_response_config( + ::service::GetResponseRequest* response_config); + ::service::GetResponseRequest* unsafe_arena_release_response_config(); + + // .service.GetResponseRequest response_data = 2; + bool has_response_data() const; + private: + bool _internal_has_response_data() const; + public: + void clear_response_data(); + const ::service::GetResponseRequest& response_data() const; + ::service::GetResponseRequest* release_response_data(); + ::service::GetResponseRequest* mutable_response_data(); + void set_allocated_response_data(::service::GetResponseRequest* response_data); + private: + const ::service::GetResponseRequest& _internal_response_data() const; + ::service::GetResponseRequest* _internal_mutable_response_data(); + public: + void unsafe_arena_set_allocated_response_data( + ::service::GetResponseRequest* response_data); + ::service::GetResponseRequest* unsafe_arena_release_response_data(); + + // @@protoc_insertion_point(class_scope:service.GetResponseRequestSingle) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::service::GetResponseRequest* response_config_; + ::service::GetResponseRequest* response_data_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseResponse_AudioResponse PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseResponse.AudioResponse) */ { + public: + inline GetResponseResponse_AudioResponse() : GetResponseResponse_AudioResponse(nullptr) {} + virtual ~GetResponseResponse_AudioResponse(); + + GetResponseResponse_AudioResponse(const GetResponseResponse_AudioResponse& from); + GetResponseResponse_AudioResponse(GetResponseResponse_AudioResponse&& from) noexcept + : GetResponseResponse_AudioResponse() { + *this = ::std::move(from); + } + + inline GetResponseResponse_AudioResponse& operator=(const GetResponseResponse_AudioResponse& from) { + CopyFrom(from); + return *this; + } + inline GetResponseResponse_AudioResponse& operator=(GetResponseResponse_AudioResponse&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const GetResponseResponse_AudioResponse& default_instance(); + + enum FaceDataTypeCase { + kVisemesData = 6, + kBlendshapesData = 7, + FACE_DATA_TYPE_NOT_SET = 0, + }; + + static inline const GetResponseResponse_AudioResponse* internal_default_instance() { + return reinterpret_cast( + &_GetResponseResponse_AudioResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 16; + + friend void swap(GetResponseResponse_AudioResponse& a, GetResponseResponse_AudioResponse& b) { + a.Swap(&b); + } + inline void Swap(GetResponseResponse_AudioResponse* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseResponse_AudioResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetResponseResponse_AudioResponse* New() const final { + return CreateMaybeMessage(nullptr); + } + + GetResponseResponse_AudioResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const GetResponseResponse_AudioResponse& from); + void MergeFrom(const GetResponseResponse_AudioResponse& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseResponse_AudioResponse* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseResponse.AudioResponse"; + } + protected: + explicit GetResponseResponse_AudioResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kAudioDataFieldNumber = 1, + kTextDataFieldNumber = 3, + kFaceDataFieldNumber = 5, + kAudioConfigFieldNumber = 2, + kFaceEmotionFieldNumber = 8, + kEmotionResponseFieldNumber = 9, + kEndOfResponseFieldNumber = 4, + kVisemesDataFieldNumber = 6, + kBlendshapesDataFieldNumber = 7, + }; + // bytes audio_data = 1; + void clear_audio_data(); + const std::string& audio_data() const; + void set_audio_data(const std::string& value); + void set_audio_data(std::string&& value); + void set_audio_data(const char* value); + void set_audio_data(const void* value, size_t size); + std::string* mutable_audio_data(); + std::string* release_audio_data(); + void set_allocated_audio_data(std::string* audio_data); + private: + const std::string& _internal_audio_data() const; + void _internal_set_audio_data(const std::string& value); + std::string* _internal_mutable_audio_data(); + public: + + // string text_data = 3; + void clear_text_data(); + const std::string& text_data() const; + void set_text_data(const std::string& value); + void set_text_data(std::string&& value); + void set_text_data(const char* value); + void set_text_data(const char* value, size_t size); + std::string* mutable_text_data(); + std::string* release_text_data(); + void set_allocated_text_data(std::string* text_data); + private: + const std::string& _internal_text_data() const; + void _internal_set_text_data(const std::string& value); + std::string* _internal_mutable_text_data(); + public: + + // string face_data = 5; + void clear_face_data(); + const std::string& face_data() const; + void set_face_data(const std::string& value); + void set_face_data(std::string&& value); + void set_face_data(const char* value); + void set_face_data(const char* value, size_t size); + std::string* mutable_face_data(); + std::string* release_face_data(); + void set_allocated_face_data(std::string* face_data); + private: + const std::string& _internal_face_data() const; + void _internal_set_face_data(const std::string& value); + std::string* _internal_mutable_face_data(); + public: + + // .service.AudioConfig audio_config = 2; + bool has_audio_config() const; + private: + bool _internal_has_audio_config() const; + public: + void clear_audio_config(); + const ::service::AudioConfig& audio_config() const; + ::service::AudioConfig* release_audio_config(); + ::service::AudioConfig* mutable_audio_config(); + void set_allocated_audio_config(::service::AudioConfig* audio_config); + private: + const ::service::AudioConfig& _internal_audio_config() const; + ::service::AudioConfig* _internal_mutable_audio_config(); + public: + void unsafe_arena_set_allocated_audio_config( + ::service::AudioConfig* audio_config); + ::service::AudioConfig* unsafe_arena_release_audio_config(); + + // .service.ARKitBlendShapesData face_emotion = 8; + bool has_face_emotion() const; + private: + bool _internal_has_face_emotion() const; + public: + void clear_face_emotion(); + const ::service::ARKitBlendShapesData& face_emotion() const; + ::service::ARKitBlendShapesData* release_face_emotion(); + ::service::ARKitBlendShapesData* mutable_face_emotion(); + void set_allocated_face_emotion(::service::ARKitBlendShapesData* face_emotion); + private: + const ::service::ARKitBlendShapesData& _internal_face_emotion() const; + ::service::ARKitBlendShapesData* _internal_mutable_face_emotion(); + public: + void unsafe_arena_set_allocated_face_emotion( + ::service::ARKitBlendShapesData* face_emotion); + ::service::ARKitBlendShapesData* unsafe_arena_release_face_emotion(); + + // .service.EmotionResponse emotion_response = 9; + bool has_emotion_response() const; + private: + bool _internal_has_emotion_response() const; + public: + void clear_emotion_response(); + const ::service::EmotionResponse& emotion_response() const; + ::service::EmotionResponse* release_emotion_response(); + ::service::EmotionResponse* mutable_emotion_response(); + void set_allocated_emotion_response(::service::EmotionResponse* emotion_response); + private: + const ::service::EmotionResponse& _internal_emotion_response() const; + ::service::EmotionResponse* _internal_mutable_emotion_response(); + public: + void unsafe_arena_set_allocated_emotion_response( + ::service::EmotionResponse* emotion_response); + ::service::EmotionResponse* unsafe_arena_release_emotion_response(); + + // bool end_of_response = 4; + void clear_end_of_response(); + bool end_of_response() const; + void set_end_of_response(bool value); + private: + bool _internal_end_of_response() const; + void _internal_set_end_of_response(bool value); + public: + + // .service.VisemesData visemes_data = 6; + bool has_visemes_data() const; + private: + bool _internal_has_visemes_data() const; + public: + void clear_visemes_data(); + const ::service::VisemesData& visemes_data() const; + ::service::VisemesData* release_visemes_data(); + ::service::VisemesData* mutable_visemes_data(); + void set_allocated_visemes_data(::service::VisemesData* visemes_data); + private: + const ::service::VisemesData& _internal_visemes_data() const; + ::service::VisemesData* _internal_mutable_visemes_data(); + public: + void unsafe_arena_set_allocated_visemes_data( + ::service::VisemesData* visemes_data); + ::service::VisemesData* unsafe_arena_release_visemes_data(); + + // .service.BlendShapesData blendshapes_data = 7; + bool has_blendshapes_data() const; + private: + bool _internal_has_blendshapes_data() const; + public: + void clear_blendshapes_data(); + const ::service::BlendShapesData& blendshapes_data() const; + ::service::BlendShapesData* release_blendshapes_data(); + ::service::BlendShapesData* mutable_blendshapes_data(); + void set_allocated_blendshapes_data(::service::BlendShapesData* blendshapes_data); + private: + const ::service::BlendShapesData& _internal_blendshapes_data() const; + ::service::BlendShapesData* _internal_mutable_blendshapes_data(); + public: + void unsafe_arena_set_allocated_blendshapes_data( + ::service::BlendShapesData* blendshapes_data); + ::service::BlendShapesData* unsafe_arena_release_blendshapes_data(); + + void clear_face_data_type(); + FaceDataTypeCase face_data_type_case() const; + // @@protoc_insertion_point(class_scope:service.GetResponseResponse.AudioResponse) + private: + class _Internal; + void set_has_visemes_data(); + void set_has_blendshapes_data(); + + inline bool has_face_data_type() const; + inline void clear_has_face_data_type(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr audio_data_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_data_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr face_data_; + ::service::AudioConfig* audio_config_; + ::service::ARKitBlendShapesData* face_emotion_; + ::service::EmotionResponse* emotion_response_; + bool end_of_response_; + union FaceDataTypeUnion { + FaceDataTypeUnion() {} + ::service::VisemesData* visemes_data_; + ::service::BlendShapesData* blendshapes_data_; + } face_data_type_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1]; + + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseResponse_ActionResponse PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseResponse.ActionResponse) */ { + public: + inline GetResponseResponse_ActionResponse() : GetResponseResponse_ActionResponse(nullptr) {} + virtual ~GetResponseResponse_ActionResponse(); + + GetResponseResponse_ActionResponse(const GetResponseResponse_ActionResponse& from); + GetResponseResponse_ActionResponse(GetResponseResponse_ActionResponse&& from) noexcept + : GetResponseResponse_ActionResponse() { + *this = ::std::move(from); + } + + inline GetResponseResponse_ActionResponse& operator=(const GetResponseResponse_ActionResponse& from) { + CopyFrom(from); + return *this; + } + inline GetResponseResponse_ActionResponse& operator=(GetResponseResponse_ActionResponse&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const GetResponseResponse_ActionResponse& default_instance(); + + static inline const GetResponseResponse_ActionResponse* internal_default_instance() { + return reinterpret_cast( + &_GetResponseResponse_ActionResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 17; + + friend void swap(GetResponseResponse_ActionResponse& a, GetResponseResponse_ActionResponse& b) { + a.Swap(&b); + } + inline void Swap(GetResponseResponse_ActionResponse* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseResponse_ActionResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetResponseResponse_ActionResponse* New() const final { + return CreateMaybeMessage(nullptr); + } + + GetResponseResponse_ActionResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const GetResponseResponse_ActionResponse& from); + void MergeFrom(const GetResponseResponse_ActionResponse& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseResponse_ActionResponse* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseResponse.ActionResponse"; + } + protected: + explicit GetResponseResponse_ActionResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kActionFieldNumber = 1, + }; + // string action = 1; + void clear_action(); + const std::string& action() const; + void set_action(const std::string& value); + void set_action(std::string&& value); + void set_action(const char* value); + void set_action(const char* value, size_t size); + std::string* mutable_action(); + std::string* release_action(); + void set_allocated_action(std::string* action); + private: + const std::string& _internal_action() const; + void _internal_set_action(const std::string& value); + std::string* _internal_mutable_action(); + public: + + // @@protoc_insertion_point(class_scope:service.GetResponseResponse.ActionResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr action_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseResponse_BehaviorTreeResponse PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseResponse.BehaviorTreeResponse) */ { + public: + inline GetResponseResponse_BehaviorTreeResponse() : GetResponseResponse_BehaviorTreeResponse(nullptr) {} + virtual ~GetResponseResponse_BehaviorTreeResponse(); + + GetResponseResponse_BehaviorTreeResponse(const GetResponseResponse_BehaviorTreeResponse& from); + GetResponseResponse_BehaviorTreeResponse(GetResponseResponse_BehaviorTreeResponse&& from) noexcept + : GetResponseResponse_BehaviorTreeResponse() { + *this = ::std::move(from); + } + + inline GetResponseResponse_BehaviorTreeResponse& operator=(const GetResponseResponse_BehaviorTreeResponse& from) { + CopyFrom(from); + return *this; + } + inline GetResponseResponse_BehaviorTreeResponse& operator=(GetResponseResponse_BehaviorTreeResponse&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const GetResponseResponse_BehaviorTreeResponse& default_instance(); + + static inline const GetResponseResponse_BehaviorTreeResponse* internal_default_instance() { + return reinterpret_cast( + &_GetResponseResponse_BehaviorTreeResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 18; + + friend void swap(GetResponseResponse_BehaviorTreeResponse& a, GetResponseResponse_BehaviorTreeResponse& b) { + a.Swap(&b); + } + inline void Swap(GetResponseResponse_BehaviorTreeResponse* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseResponse_BehaviorTreeResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetResponseResponse_BehaviorTreeResponse* New() const final { + return CreateMaybeMessage(nullptr); + } + + GetResponseResponse_BehaviorTreeResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const GetResponseResponse_BehaviorTreeResponse& from); + void MergeFrom(const GetResponseResponse_BehaviorTreeResponse& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseResponse_BehaviorTreeResponse* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseResponse.BehaviorTreeResponse"; + } + protected: + explicit GetResponseResponse_BehaviorTreeResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kBtCodeFieldNumber = 1, + kBtConstantsFieldNumber = 2, + kNarrativeSectionIdFieldNumber = 3, + }; + // string bt_code = 1; + void clear_bt_code(); + const std::string& bt_code() const; + void set_bt_code(const std::string& value); + void set_bt_code(std::string&& value); + void set_bt_code(const char* value); + void set_bt_code(const char* value, size_t size); + std::string* mutable_bt_code(); + std::string* release_bt_code(); + void set_allocated_bt_code(std::string* bt_code); + private: + const std::string& _internal_bt_code() const; + void _internal_set_bt_code(const std::string& value); + std::string* _internal_mutable_bt_code(); + public: + + // string bt_constants = 2; + void clear_bt_constants(); + const std::string& bt_constants() const; + void set_bt_constants(const std::string& value); + void set_bt_constants(std::string&& value); + void set_bt_constants(const char* value); + void set_bt_constants(const char* value, size_t size); + std::string* mutable_bt_constants(); + std::string* release_bt_constants(); + void set_allocated_bt_constants(std::string* bt_constants); + private: + const std::string& _internal_bt_constants() const; + void _internal_set_bt_constants(const std::string& value); + std::string* _internal_mutable_bt_constants(); + public: + + // string narrative_section_id = 3; + void clear_narrative_section_id(); + const std::string& narrative_section_id() const; + void set_narrative_section_id(const std::string& value); + void set_narrative_section_id(std::string&& value); + void set_narrative_section_id(const char* value); + void set_narrative_section_id(const char* value, size_t size); + std::string* mutable_narrative_section_id(); + std::string* release_narrative_section_id(); + void set_allocated_narrative_section_id(std::string* narrative_section_id); + private: + const std::string& _internal_narrative_section_id() const; + void _internal_set_narrative_section_id(const std::string& value); + std::string* _internal_mutable_narrative_section_id(); + public: + + // @@protoc_insertion_point(class_scope:service.GetResponseResponse.BehaviorTreeResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr bt_code_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr bt_constants_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr narrative_section_id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseResponse_UserTranscript PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseResponse.UserTranscript) */ { + public: + inline GetResponseResponse_UserTranscript() : GetResponseResponse_UserTranscript(nullptr) {} + virtual ~GetResponseResponse_UserTranscript(); + + GetResponseResponse_UserTranscript(const GetResponseResponse_UserTranscript& from); + GetResponseResponse_UserTranscript(GetResponseResponse_UserTranscript&& from) noexcept + : GetResponseResponse_UserTranscript() { + *this = ::std::move(from); + } + + inline GetResponseResponse_UserTranscript& operator=(const GetResponseResponse_UserTranscript& from) { + CopyFrom(from); + return *this; + } + inline GetResponseResponse_UserTranscript& operator=(GetResponseResponse_UserTranscript&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const GetResponseResponse_UserTranscript& default_instance(); + + static inline const GetResponseResponse_UserTranscript* internal_default_instance() { + return reinterpret_cast( + &_GetResponseResponse_UserTranscript_default_instance_); + } + static constexpr int kIndexInFileMessages = + 19; + + friend void swap(GetResponseResponse_UserTranscript& a, GetResponseResponse_UserTranscript& b) { + a.Swap(&b); + } + inline void Swap(GetResponseResponse_UserTranscript* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseResponse_UserTranscript* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetResponseResponse_UserTranscript* New() const final { + return CreateMaybeMessage(nullptr); + } + + GetResponseResponse_UserTranscript* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const GetResponseResponse_UserTranscript& from); + void MergeFrom(const GetResponseResponse_UserTranscript& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseResponse_UserTranscript* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseResponse.UserTranscript"; + } + protected: + explicit GetResponseResponse_UserTranscript(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kTextDataFieldNumber = 1, + kIsFinalFieldNumber = 2, + kEndOfResponseFieldNumber = 3, + }; + // string text_data = 1; + void clear_text_data(); + const std::string& text_data() const; + void set_text_data(const std::string& value); + void set_text_data(std::string&& value); + void set_text_data(const char* value); + void set_text_data(const char* value, size_t size); + std::string* mutable_text_data(); + std::string* release_text_data(); + void set_allocated_text_data(std::string* text_data); + private: + const std::string& _internal_text_data() const; + void _internal_set_text_data(const std::string& value); + std::string* _internal_mutable_text_data(); + public: + + // bool is_final = 2; + void clear_is_final(); + bool is_final() const; + void set_is_final(bool value); + private: + bool _internal_is_final() const; + void _internal_set_is_final(bool value); + public: + + // bool end_of_response = 3; + void clear_end_of_response(); + bool end_of_response() const; + void set_end_of_response(bool value); + private: + bool _internal_end_of_response() const; + void _internal_set_end_of_response(bool value); + public: + + // @@protoc_insertion_point(class_scope:service.GetResponseResponse.UserTranscript) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_data_; + bool is_final_; + bool end_of_response_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseResponse PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseResponse) */ { + public: + inline GetResponseResponse() : GetResponseResponse(nullptr) {} + virtual ~GetResponseResponse(); + + GetResponseResponse(const GetResponseResponse& from); + GetResponseResponse(GetResponseResponse&& from) noexcept + : GetResponseResponse() { + *this = ::std::move(from); + } + + inline GetResponseResponse& operator=(const GetResponseResponse& from) { + CopyFrom(from); + return *this; + } + inline GetResponseResponse& operator=(GetResponseResponse&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const GetResponseResponse& default_instance(); + + enum ResponseTypeCase { + kActionResponse = 2, + kAudioResponse = 3, + kDebugLog = 4, + kUserQuery = 5, + kBtResponse = 6, + kEmotionResponse = 7, + kInteractionId = 8, + RESPONSE_TYPE_NOT_SET = 0, + }; + + static inline const GetResponseResponse* internal_default_instance() { + return reinterpret_cast( + &_GetResponseResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 20; + + friend void swap(GetResponseResponse& a, GetResponseResponse& b) { + a.Swap(&b); + } + inline void Swap(GetResponseResponse* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GetResponseResponse* New() const final { + return CreateMaybeMessage(nullptr); + } + + GetResponseResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const GetResponseResponse& from); + void MergeFrom(const GetResponseResponse& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseResponse* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseResponse"; + } + protected: + explicit GetResponseResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + typedef GetResponseResponse_AudioResponse AudioResponse; + typedef GetResponseResponse_ActionResponse ActionResponse; + typedef GetResponseResponse_BehaviorTreeResponse BehaviorTreeResponse; + typedef GetResponseResponse_UserTranscript UserTranscript; + + // accessors ------------------------------------------------------- + + enum : int { + kSessionIdFieldNumber = 1, + kActionResponseFieldNumber = 2, + kAudioResponseFieldNumber = 3, + kDebugLogFieldNumber = 4, + kUserQueryFieldNumber = 5, + kBtResponseFieldNumber = 6, + kEmotionResponseFieldNumber = 7, + kInteractionIdFieldNumber = 8, + }; + // string session_id = 1; + void clear_session_id(); + const std::string& session_id() const; + void set_session_id(const std::string& value); + void set_session_id(std::string&& value); + void set_session_id(const char* value); + void set_session_id(const char* value, size_t size); + std::string* mutable_session_id(); + std::string* release_session_id(); + void set_allocated_session_id(std::string* session_id); + private: + const std::string& _internal_session_id() const; + void _internal_set_session_id(const std::string& value); + std::string* _internal_mutable_session_id(); + public: + + // .service.GetResponseResponse.ActionResponse action_response = 2; + bool has_action_response() const; + private: + bool _internal_has_action_response() const; + public: + void clear_action_response(); + const ::service::GetResponseResponse_ActionResponse& action_response() const; + ::service::GetResponseResponse_ActionResponse* release_action_response(); + ::service::GetResponseResponse_ActionResponse* mutable_action_response(); + void set_allocated_action_response(::service::GetResponseResponse_ActionResponse* action_response); + private: + const ::service::GetResponseResponse_ActionResponse& _internal_action_response() const; + ::service::GetResponseResponse_ActionResponse* _internal_mutable_action_response(); + public: + void unsafe_arena_set_allocated_action_response( + ::service::GetResponseResponse_ActionResponse* action_response); + ::service::GetResponseResponse_ActionResponse* unsafe_arena_release_action_response(); + + // .service.GetResponseResponse.AudioResponse audio_response = 3; + bool has_audio_response() const; + private: + bool _internal_has_audio_response() const; + public: + void clear_audio_response(); + const ::service::GetResponseResponse_AudioResponse& audio_response() const; + ::service::GetResponseResponse_AudioResponse* release_audio_response(); + ::service::GetResponseResponse_AudioResponse* mutable_audio_response(); + void set_allocated_audio_response(::service::GetResponseResponse_AudioResponse* audio_response); + private: + const ::service::GetResponseResponse_AudioResponse& _internal_audio_response() const; + ::service::GetResponseResponse_AudioResponse* _internal_mutable_audio_response(); + public: + void unsafe_arena_set_allocated_audio_response( + ::service::GetResponseResponse_AudioResponse* audio_response); + ::service::GetResponseResponse_AudioResponse* unsafe_arena_release_audio_response(); + + // string debug_log = 4; + private: + bool _internal_has_debug_log() const; + public: + void clear_debug_log(); + const std::string& debug_log() const; + void set_debug_log(const std::string& value); + void set_debug_log(std::string&& value); + void set_debug_log(const char* value); + void set_debug_log(const char* value, size_t size); + std::string* mutable_debug_log(); + std::string* release_debug_log(); + void set_allocated_debug_log(std::string* debug_log); + private: + const std::string& _internal_debug_log() const; + void _internal_set_debug_log(const std::string& value); + std::string* _internal_mutable_debug_log(); + public: + + // .service.GetResponseResponse.UserTranscript user_query = 5; + bool has_user_query() const; + private: + bool _internal_has_user_query() const; + public: + void clear_user_query(); + const ::service::GetResponseResponse_UserTranscript& user_query() const; + ::service::GetResponseResponse_UserTranscript* release_user_query(); + ::service::GetResponseResponse_UserTranscript* mutable_user_query(); + void set_allocated_user_query(::service::GetResponseResponse_UserTranscript* user_query); + private: + const ::service::GetResponseResponse_UserTranscript& _internal_user_query() const; + ::service::GetResponseResponse_UserTranscript* _internal_mutable_user_query(); + public: + void unsafe_arena_set_allocated_user_query( + ::service::GetResponseResponse_UserTranscript* user_query); + ::service::GetResponseResponse_UserTranscript* unsafe_arena_release_user_query(); + + // .service.GetResponseResponse.BehaviorTreeResponse bt_response = 6; + bool has_bt_response() const; + private: + bool _internal_has_bt_response() const; + public: + void clear_bt_response(); + const ::service::GetResponseResponse_BehaviorTreeResponse& bt_response() const; + ::service::GetResponseResponse_BehaviorTreeResponse* release_bt_response(); + ::service::GetResponseResponse_BehaviorTreeResponse* mutable_bt_response(); + void set_allocated_bt_response(::service::GetResponseResponse_BehaviorTreeResponse* bt_response); + private: + const ::service::GetResponseResponse_BehaviorTreeResponse& _internal_bt_response() const; + ::service::GetResponseResponse_BehaviorTreeResponse* _internal_mutable_bt_response(); + public: + void unsafe_arena_set_allocated_bt_response( + ::service::GetResponseResponse_BehaviorTreeResponse* bt_response); + ::service::GetResponseResponse_BehaviorTreeResponse* unsafe_arena_release_bt_response(); + + // string emotion_response = 7; + private: + bool _internal_has_emotion_response() const; + public: + void clear_emotion_response(); + const std::string& emotion_response() const; + void set_emotion_response(const std::string& value); + void set_emotion_response(std::string&& value); + void set_emotion_response(const char* value); + void set_emotion_response(const char* value, size_t size); + std::string* mutable_emotion_response(); + std::string* release_emotion_response(); + void set_allocated_emotion_response(std::string* emotion_response); + private: + const std::string& _internal_emotion_response() const; + void _internal_set_emotion_response(const std::string& value); + std::string* _internal_mutable_emotion_response(); + public: + + // string interaction_id = 8; + private: + bool _internal_has_interaction_id() const; + public: + void clear_interaction_id(); + const std::string& interaction_id() const; + void set_interaction_id(const std::string& value); + void set_interaction_id(std::string&& value); + void set_interaction_id(const char* value); + void set_interaction_id(const char* value, size_t size); + std::string* mutable_interaction_id(); + std::string* release_interaction_id(); + void set_allocated_interaction_id(std::string* interaction_id); + private: + const std::string& _internal_interaction_id() const; + void _internal_set_interaction_id(const std::string& value); + std::string* _internal_mutable_interaction_id(); + public: + + void clear_response_type(); + ResponseTypeCase response_type_case() const; + // @@protoc_insertion_point(class_scope:service.GetResponseResponse) + private: + class _Internal; + void set_has_action_response(); + void set_has_audio_response(); + void set_has_debug_log(); + void set_has_user_query(); + void set_has_bt_response(); + void set_has_emotion_response(); + void set_has_interaction_id(); + + inline bool has_response_type() const; + inline void clear_has_response_type(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr session_id_; + union ResponseTypeUnion { + ResponseTypeUnion() {} + ::service::GetResponseResponse_ActionResponse* action_response_; + ::service::GetResponseResponse_AudioResponse* audio_response_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr debug_log_; + ::service::GetResponseResponse_UserTranscript* user_query_; + ::service::GetResponseResponse_BehaviorTreeResponse* bt_response_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr emotion_response_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr interaction_id_; + } response_type_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1]; + + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class VisemesData PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.VisemesData) */ { + public: + inline VisemesData() : VisemesData(nullptr) {} + virtual ~VisemesData(); + + VisemesData(const VisemesData& from); + VisemesData(VisemesData&& from) noexcept + : VisemesData() { + *this = ::std::move(from); + } + + inline VisemesData& operator=(const VisemesData& from) { + CopyFrom(from); + return *this; + } + inline VisemesData& operator=(VisemesData&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const VisemesData& default_instance(); + + static inline const VisemesData* internal_default_instance() { + return reinterpret_cast( + &_VisemesData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 21; + + friend void swap(VisemesData& a, VisemesData& b) { + a.Swap(&b); + } + inline void Swap(VisemesData* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(VisemesData* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline VisemesData* New() const final { + return CreateMaybeMessage(nullptr); + } + + VisemesData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const VisemesData& from); + void MergeFrom(const VisemesData& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(VisemesData* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.VisemesData"; + } + protected: + explicit VisemesData(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kVisemesFieldNumber = 1, + }; + // .service.Viseme visemes = 1; + bool has_visemes() const; + private: + bool _internal_has_visemes() const; + public: + void clear_visemes(); + const ::service::Viseme& visemes() const; + ::service::Viseme* release_visemes(); + ::service::Viseme* mutable_visemes(); + void set_allocated_visemes(::service::Viseme* visemes); + private: + const ::service::Viseme& _internal_visemes() const; + ::service::Viseme* _internal_mutable_visemes(); + public: + void unsafe_arena_set_allocated_visemes( + ::service::Viseme* visemes); + ::service::Viseme* unsafe_arena_release_visemes(); + + // @@protoc_insertion_point(class_scope:service.VisemesData) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::service::Viseme* visemes_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class EmotionResponse PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.EmotionResponse) */ { + public: + inline EmotionResponse() : EmotionResponse(nullptr) {} + virtual ~EmotionResponse(); + + EmotionResponse(const EmotionResponse& from); + EmotionResponse(EmotionResponse&& from) noexcept + : EmotionResponse() { + *this = ::std::move(from); + } + + inline EmotionResponse& operator=(const EmotionResponse& from) { + CopyFrom(from); + return *this; + } + inline EmotionResponse& operator=(EmotionResponse&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const EmotionResponse& default_instance(); + + static inline const EmotionResponse* internal_default_instance() { + return reinterpret_cast( + &_EmotionResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 22; + + friend void swap(EmotionResponse& a, EmotionResponse& b) { + a.Swap(&b); + } + inline void Swap(EmotionResponse* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(EmotionResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline EmotionResponse* New() const final { + return CreateMaybeMessage(nullptr); + } + + EmotionResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const EmotionResponse& from); + void MergeFrom(const EmotionResponse& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(EmotionResponse* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.EmotionResponse"; + } + protected: + explicit EmotionResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kEmotionFieldNumber = 1, + kScaleFieldNumber = 2, + }; + // string emotion = 1; + void clear_emotion(); + const std::string& emotion() const; + void set_emotion(const std::string& value); + void set_emotion(std::string&& value); + void set_emotion(const char* value); + void set_emotion(const char* value, size_t size); + std::string* mutable_emotion(); + std::string* release_emotion(); + void set_allocated_emotion(std::string* emotion); + private: + const std::string& _internal_emotion() const; + void _internal_set_emotion(const std::string& value); + std::string* _internal_mutable_emotion(); + public: + + // string scale = 2; + void clear_scale(); + const std::string& scale() const; + void set_scale(const std::string& value); + void set_scale(std::string&& value); + void set_scale(const char* value); + void set_scale(const char* value, size_t size); + std::string* mutable_scale(); + std::string* release_scale(); + void set_allocated_scale(std::string* scale); + private: + const std::string& _internal_scale() const; + void _internal_set_scale(const std::string& value); + std::string* _internal_mutable_scale(); + public: + + // @@protoc_insertion_point(class_scope:service.EmotionResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr emotion_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr scale_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class Viseme PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.Viseme) */ { + public: + inline Viseme() : Viseme(nullptr) {} + virtual ~Viseme(); + + Viseme(const Viseme& from); + Viseme(Viseme&& from) noexcept + : Viseme() { + *this = ::std::move(from); + } + + inline Viseme& operator=(const Viseme& from) { + CopyFrom(from); + return *this; + } + inline Viseme& operator=(Viseme&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const Viseme& default_instance(); + + static inline const Viseme* internal_default_instance() { + return reinterpret_cast( + &_Viseme_default_instance_); + } + static constexpr int kIndexInFileMessages = + 23; + + friend void swap(Viseme& a, Viseme& b) { + a.Swap(&b); + } + inline void Swap(Viseme* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Viseme* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline Viseme* New() const final { + return CreateMaybeMessage(nullptr); + } + + Viseme* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const Viseme& from); + void MergeFrom(const Viseme& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(Viseme* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.Viseme"; + } + protected: + explicit Viseme(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kSilFieldNumber = 1, + kPpFieldNumber = 2, + kFfFieldNumber = 3, + kThFieldNumber = 4, + kDdFieldNumber = 5, + kKkFieldNumber = 6, + kChFieldNumber = 7, + kSsFieldNumber = 8, + kNnFieldNumber = 9, + kRrFieldNumber = 10, + kAaFieldNumber = 11, + kEFieldNumber = 12, + kIhFieldNumber = 13, + kOhFieldNumber = 14, + kOuFieldNumber = 15, + }; + // float sil = 1; + void clear_sil(); + float sil() const; + void set_sil(float value); + private: + float _internal_sil() const; + void _internal_set_sil(float value); + public: + + // float pp = 2; + void clear_pp(); + float pp() const; + void set_pp(float value); + private: + float _internal_pp() const; + void _internal_set_pp(float value); + public: + + // float ff = 3; + void clear_ff(); + float ff() const; + void set_ff(float value); + private: + float _internal_ff() const; + void _internal_set_ff(float value); + public: + + // float th = 4; + void clear_th(); + float th() const; + void set_th(float value); + private: + float _internal_th() const; + void _internal_set_th(float value); + public: + + // float dd = 5; + void clear_dd(); + float dd() const; + void set_dd(float value); + private: + float _internal_dd() const; + void _internal_set_dd(float value); + public: + + // float kk = 6; + void clear_kk(); + float kk() const; + void set_kk(float value); + private: + float _internal_kk() const; + void _internal_set_kk(float value); + public: + + // float ch = 7; + void clear_ch(); + float ch() const; + void set_ch(float value); + private: + float _internal_ch() const; + void _internal_set_ch(float value); + public: + + // float ss = 8; + void clear_ss(); + float ss() const; + void set_ss(float value); + private: + float _internal_ss() const; + void _internal_set_ss(float value); + public: + + // float nn = 9; + void clear_nn(); + float nn() const; + void set_nn(float value); + private: + float _internal_nn() const; + void _internal_set_nn(float value); + public: + + // float rr = 10; + void clear_rr(); + float rr() const; + void set_rr(float value); + private: + float _internal_rr() const; + void _internal_set_rr(float value); + public: + + // float aa = 11; + void clear_aa(); + float aa() const; + void set_aa(float value); + private: + float _internal_aa() const; + void _internal_set_aa(float value); + public: + + // float e = 12; + void clear_e(); + float e() const; + void set_e(float value); + private: + float _internal_e() const; + void _internal_set_e(float value); + public: + + // float ih = 13; + void clear_ih(); + float ih() const; + void set_ih(float value); + private: + float _internal_ih() const; + void _internal_set_ih(float value); + public: + + // float oh = 14; + void clear_oh(); + float oh() const; + void set_oh(float value); + private: + float _internal_oh() const; + void _internal_set_oh(float value); + public: + + // float ou = 15; + void clear_ou(); + float ou() const; + void set_ou(float value); + private: + float _internal_ou() const; + void _internal_set_ou(float value); + public: + + // @@protoc_insertion_point(class_scope:service.Viseme) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + float sil_; + float pp_; + float ff_; + float th_; + float dd_; + float kk_; + float ch_; + float ss_; + float nn_; + float rr_; + float aa_; + float e_; + float ih_; + float oh_; + float ou_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class BlendShapesData PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.BlendShapesData) */ { + public: + inline BlendShapesData() : BlendShapesData(nullptr) {} + virtual ~BlendShapesData(); + + BlendShapesData(const BlendShapesData& from); + BlendShapesData(BlendShapesData&& from) noexcept + : BlendShapesData() { + *this = ::std::move(from); + } + + inline BlendShapesData& operator=(const BlendShapesData& from) { + CopyFrom(from); + return *this; + } + inline BlendShapesData& operator=(BlendShapesData&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const BlendShapesData& default_instance(); + + static inline const BlendShapesData* internal_default_instance() { + return reinterpret_cast( + &_BlendShapesData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 24; + + friend void swap(BlendShapesData& a, BlendShapesData& b) { + a.Swap(&b); + } + inline void Swap(BlendShapesData* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(BlendShapesData* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline BlendShapesData* New() const final { + return CreateMaybeMessage(nullptr); + } + + BlendShapesData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const BlendShapesData& from); + void MergeFrom(const BlendShapesData& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(BlendShapesData* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.BlendShapesData"; + } + protected: + explicit BlendShapesData(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kBlendshapeDataFieldNumber = 1, + }; + // string blendshape_data = 1; + void clear_blendshape_data(); + const std::string& blendshape_data() const; + void set_blendshape_data(const std::string& value); + void set_blendshape_data(std::string&& value); + void set_blendshape_data(const char* value); + void set_blendshape_data(const char* value, size_t size); + std::string* mutable_blendshape_data(); + std::string* release_blendshape_data(); + void set_allocated_blendshape_data(std::string* blendshape_data); + private: + const std::string& _internal_blendshape_data() const; + void _internal_set_blendshape_data(const std::string& value); + std::string* _internal_mutable_blendshape_data(); + public: + + // @@protoc_insertion_point(class_scope:service.BlendShapesData) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr blendshape_data_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class HelloRequest PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.HelloRequest) */ { + public: + inline HelloRequest() : HelloRequest(nullptr) {} + virtual ~HelloRequest(); + + HelloRequest(const HelloRequest& from); + HelloRequest(HelloRequest&& from) noexcept + : HelloRequest() { + *this = ::std::move(from); + } + + inline HelloRequest& operator=(const HelloRequest& from) { + CopyFrom(from); + return *this; + } + inline HelloRequest& operator=(HelloRequest&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const HelloRequest& default_instance(); + + static inline const HelloRequest* internal_default_instance() { + return reinterpret_cast( + &_HelloRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 25; + + friend void swap(HelloRequest& a, HelloRequest& b) { + a.Swap(&b); + } + inline void Swap(HelloRequest* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(HelloRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline HelloRequest* New() const final { + return CreateMaybeMessage(nullptr); + } + + HelloRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const HelloRequest& from); + void MergeFrom(const HelloRequest& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(HelloRequest* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.HelloRequest"; + } + protected: + explicit HelloRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 1, + }; + // string name = 1; + void clear_name(); + const std::string& name() const; + void set_name(const std::string& value); + void set_name(std::string&& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + std::string* mutable_name(); + std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // @@protoc_insertion_point(class_scope:service.HelloRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class HelloResponse PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.HelloResponse) */ { + public: + inline HelloResponse() : HelloResponse(nullptr) {} + virtual ~HelloResponse(); + + HelloResponse(const HelloResponse& from); + HelloResponse(HelloResponse&& from) noexcept + : HelloResponse() { + *this = ::std::move(from); + } + + inline HelloResponse& operator=(const HelloResponse& from) { + CopyFrom(from); + return *this; + } + inline HelloResponse& operator=(HelloResponse&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const HelloResponse& default_instance(); + + static inline const HelloResponse* internal_default_instance() { + return reinterpret_cast( + &_HelloResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 26; + + friend void swap(HelloResponse& a, HelloResponse& b) { + a.Swap(&b); + } + inline void Swap(HelloResponse* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(HelloResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline HelloResponse* New() const final { + return CreateMaybeMessage(nullptr); + } + + HelloResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const HelloResponse& from); + void MergeFrom(const HelloResponse& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(HelloResponse* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.HelloResponse"; + } + protected: + explicit HelloResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kMessageFieldNumber = 1, + }; + // string message = 1; + void clear_message(); + const std::string& message() const; + void set_message(const std::string& value); + void set_message(std::string&& value); + void set_message(const char* value); + void set_message(const char* value, size_t size); + std::string* mutable_message(); + std::string* release_message(); + void set_allocated_message(std::string* message); + private: + const std::string& _internal_message() const; + void _internal_set_message(const std::string& value); + std::string* _internal_mutable_message(); + public: + + // @@protoc_insertion_point(class_scope:service.HelloResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr message_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class FeedbackRequest_Feedback PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.FeedbackRequest.Feedback) */ { + public: + inline FeedbackRequest_Feedback() : FeedbackRequest_Feedback(nullptr) {} + virtual ~FeedbackRequest_Feedback(); + + FeedbackRequest_Feedback(const FeedbackRequest_Feedback& from); + FeedbackRequest_Feedback(FeedbackRequest_Feedback&& from) noexcept + : FeedbackRequest_Feedback() { + *this = ::std::move(from); + } + + inline FeedbackRequest_Feedback& operator=(const FeedbackRequest_Feedback& from) { + CopyFrom(from); + return *this; + } + inline FeedbackRequest_Feedback& operator=(FeedbackRequest_Feedback&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const FeedbackRequest_Feedback& default_instance(); + + static inline const FeedbackRequest_Feedback* internal_default_instance() { + return reinterpret_cast( + &_FeedbackRequest_Feedback_default_instance_); + } + static constexpr int kIndexInFileMessages = + 27; + + friend void swap(FeedbackRequest_Feedback& a, FeedbackRequest_Feedback& b) { + a.Swap(&b); + } + inline void Swap(FeedbackRequest_Feedback* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FeedbackRequest_Feedback* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline FeedbackRequest_Feedback* New() const final { + return CreateMaybeMessage(nullptr); + } + + FeedbackRequest_Feedback* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const FeedbackRequest_Feedback& from); + void MergeFrom(const FeedbackRequest_Feedback& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FeedbackRequest_Feedback* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.FeedbackRequest.Feedback"; + } + protected: + explicit FeedbackRequest_Feedback(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kTagsFieldNumber = 3, + kFeedbackTextFieldNumber = 2, + kThumbsUpFieldNumber = 1, + kIsTestCaseFieldNumber = 4, + }; + // repeated string tags = 3; + int tags_size() const; + private: + int _internal_tags_size() const; + public: + void clear_tags(); + const std::string& tags(int index) const; + std::string* mutable_tags(int index); + void set_tags(int index, const std::string& value); + void set_tags(int index, std::string&& value); + void set_tags(int index, const char* value); + void set_tags(int index, const char* value, size_t size); + std::string* add_tags(); + void add_tags(const std::string& value); + void add_tags(std::string&& value); + void add_tags(const char* value); + void add_tags(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& tags() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_tags(); + private: + const std::string& _internal_tags(int index) const; + std::string* _internal_add_tags(); + public: + + // string feedback_text = 2; + void clear_feedback_text(); + const std::string& feedback_text() const; + void set_feedback_text(const std::string& value); + void set_feedback_text(std::string&& value); + void set_feedback_text(const char* value); + void set_feedback_text(const char* value, size_t size); + std::string* mutable_feedback_text(); + std::string* release_feedback_text(); + void set_allocated_feedback_text(std::string* feedback_text); + private: + const std::string& _internal_feedback_text() const; + void _internal_set_feedback_text(const std::string& value); + std::string* _internal_mutable_feedback_text(); + public: + + // bool thumbs_up = 1; + void clear_thumbs_up(); + bool thumbs_up() const; + void set_thumbs_up(bool value); + private: + bool _internal_thumbs_up() const; + void _internal_set_thumbs_up(bool value); + public: + + // bool is_test_case = 4; + void clear_is_test_case(); + bool is_test_case() const; + void set_is_test_case(bool value); + private: + bool _internal_is_test_case() const; + void _internal_set_is_test_case(bool value); + public: + + // @@protoc_insertion_point(class_scope:service.FeedbackRequest.Feedback) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField tags_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr feedback_text_; + bool thumbs_up_; + bool is_test_case_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class FeedbackRequest PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.FeedbackRequest) */ { + public: + inline FeedbackRequest() : FeedbackRequest(nullptr) {} + virtual ~FeedbackRequest(); + + FeedbackRequest(const FeedbackRequest& from); + FeedbackRequest(FeedbackRequest&& from) noexcept + : FeedbackRequest() { + *this = ::std::move(from); + } + + inline FeedbackRequest& operator=(const FeedbackRequest& from) { + CopyFrom(from); + return *this; + } + inline FeedbackRequest& operator=(FeedbackRequest&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const FeedbackRequest& default_instance(); + + static inline const FeedbackRequest* internal_default_instance() { + return reinterpret_cast( + &_FeedbackRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 28; + + friend void swap(FeedbackRequest& a, FeedbackRequest& b) { + a.Swap(&b); + } + inline void Swap(FeedbackRequest* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FeedbackRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline FeedbackRequest* New() const final { + return CreateMaybeMessage(nullptr); + } + + FeedbackRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const FeedbackRequest& from); + void MergeFrom(const FeedbackRequest& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FeedbackRequest* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.FeedbackRequest"; + } + protected: + explicit FeedbackRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + typedef FeedbackRequest_Feedback Feedback; + + // accessors ------------------------------------------------------- + + enum : int { + kInteractionIdFieldNumber = 1, + kCharacterIdFieldNumber = 2, + kSessionIdFieldNumber = 3, + kUserQueryFieldNumber = 6, + kResponseFieldNumber = 7, + kTextFeedbackFieldNumber = 5, + }; + // string interaction_id = 1; + void clear_interaction_id(); + const std::string& interaction_id() const; + void set_interaction_id(const std::string& value); + void set_interaction_id(std::string&& value); + void set_interaction_id(const char* value); + void set_interaction_id(const char* value, size_t size); + std::string* mutable_interaction_id(); + std::string* release_interaction_id(); + void set_allocated_interaction_id(std::string* interaction_id); + private: + const std::string& _internal_interaction_id() const; + void _internal_set_interaction_id(const std::string& value); + std::string* _internal_mutable_interaction_id(); + public: + + // string character_id = 2; + void clear_character_id(); + const std::string& character_id() const; + void set_character_id(const std::string& value); + void set_character_id(std::string&& value); + void set_character_id(const char* value); + void set_character_id(const char* value, size_t size); + std::string* mutable_character_id(); + std::string* release_character_id(); + void set_allocated_character_id(std::string* character_id); + private: + const std::string& _internal_character_id() const; + void _internal_set_character_id(const std::string& value); + std::string* _internal_mutable_character_id(); + public: + + // string session_id = 3; + void clear_session_id(); + const std::string& session_id() const; + void set_session_id(const std::string& value); + void set_session_id(std::string&& value); + void set_session_id(const char* value); + void set_session_id(const char* value, size_t size); + std::string* mutable_session_id(); + std::string* release_session_id(); + void set_allocated_session_id(std::string* session_id); + private: + const std::string& _internal_session_id() const; + void _internal_set_session_id(const std::string& value); + std::string* _internal_mutable_session_id(); + public: + + // string user_query = 6; + void clear_user_query(); + const std::string& user_query() const; + void set_user_query(const std::string& value); + void set_user_query(std::string&& value); + void set_user_query(const char* value); + void set_user_query(const char* value, size_t size); + std::string* mutable_user_query(); + std::string* release_user_query(); + void set_allocated_user_query(std::string* user_query); + private: + const std::string& _internal_user_query() const; + void _internal_set_user_query(const std::string& value); + std::string* _internal_mutable_user_query(); + public: + + // string response = 7; + void clear_response(); + const std::string& response() const; + void set_response(const std::string& value); + void set_response(std::string&& value); + void set_response(const char* value); + void set_response(const char* value, size_t size); + std::string* mutable_response(); + std::string* release_response(); + void set_allocated_response(std::string* response); + private: + const std::string& _internal_response() const; + void _internal_set_response(const std::string& value); + std::string* _internal_mutable_response(); + public: + + // .service.FeedbackRequest.Feedback text_feedback = 5; + bool has_text_feedback() const; + private: + bool _internal_has_text_feedback() const; + public: + void clear_text_feedback(); + const ::service::FeedbackRequest_Feedback& text_feedback() const; + ::service::FeedbackRequest_Feedback* release_text_feedback(); + ::service::FeedbackRequest_Feedback* mutable_text_feedback(); + void set_allocated_text_feedback(::service::FeedbackRequest_Feedback* text_feedback); + private: + const ::service::FeedbackRequest_Feedback& _internal_text_feedback() const; + ::service::FeedbackRequest_Feedback* _internal_mutable_text_feedback(); + public: + void unsafe_arena_set_allocated_text_feedback( + ::service::FeedbackRequest_Feedback* text_feedback); + ::service::FeedbackRequest_Feedback* unsafe_arena_release_text_feedback(); + + // @@protoc_insertion_point(class_scope:service.FeedbackRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr interaction_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr character_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr session_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr user_query_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr response_; + ::service::FeedbackRequest_Feedback* text_feedback_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class FeedbackResponse PROTOBUF_FINAL : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.FeedbackResponse) */ { + public: + inline FeedbackResponse() : FeedbackResponse(nullptr) {} + virtual ~FeedbackResponse(); + + FeedbackResponse(const FeedbackResponse& from); + FeedbackResponse(FeedbackResponse&& from) noexcept + : FeedbackResponse() { + *this = ::std::move(from); + } + + inline FeedbackResponse& operator=(const FeedbackResponse& from) { + CopyFrom(from); + return *this; + } + inline FeedbackResponse& operator=(FeedbackResponse&& from) noexcept { + if (GetArena() == from.GetArena()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return GetMetadataStatic().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return GetMetadataStatic().reflection; + } + static const FeedbackResponse& default_instance(); + + static inline const FeedbackResponse* internal_default_instance() { + return reinterpret_cast( + &_FeedbackResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 29; + + friend void swap(FeedbackResponse& a, FeedbackResponse& b) { + a.Swap(&b); + } + inline void Swap(FeedbackResponse* other) { + if (other == this) return; + if (GetArena() == other->GetArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FeedbackResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline FeedbackResponse* New() const final { + return CreateMaybeMessage(nullptr); + } + + FeedbackResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final; + void CopyFrom(const FeedbackResponse& from); + void MergeFrom(const FeedbackResponse& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + inline void SharedCtor(); + inline void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FeedbackResponse* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.FeedbackResponse"; + } + protected: + explicit FeedbackResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_service_2eproto); + return ::descriptor_table_service_2eproto.file_level_metadata[kIndexInFileMessages]; + } + + public: + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kFeedbackResponseFieldNumber = 1, + }; + // string feedback_response = 1; + void clear_feedback_response(); + const std::string& feedback_response() const; + void set_feedback_response(const std::string& value); + void set_feedback_response(std::string&& value); + void set_feedback_response(const char* value); + void set_feedback_response(const char* value, size_t size); + std::string* mutable_feedback_response(); + std::string* release_feedback_response(); + void set_allocated_feedback_response(std::string* feedback_response); + private: + const std::string& _internal_feedback_response() const; + void _internal_set_feedback_response(const std::string& value); + std::string* _internal_mutable_feedback_response(); + public: + + // @@protoc_insertion_point(class_scope:service.FeedbackResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr feedback_response_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_service_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// AudioConfig + +// int32 sample_rate_hertz = 1; +inline void AudioConfig::clear_sample_rate_hertz() { + sample_rate_hertz_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 AudioConfig::_internal_sample_rate_hertz() const { + return sample_rate_hertz_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 AudioConfig::sample_rate_hertz() const { + // @@protoc_insertion_point(field_get:service.AudioConfig.sample_rate_hertz) + return _internal_sample_rate_hertz(); +} +inline void AudioConfig::_internal_set_sample_rate_hertz(::PROTOBUF_NAMESPACE_ID::int32 value) { + + sample_rate_hertz_ = value; +} +inline void AudioConfig::set_sample_rate_hertz(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_sample_rate_hertz(value); + // @@protoc_insertion_point(field_set:service.AudioConfig.sample_rate_hertz) +} + +// bool disable_audio = 2; +inline void AudioConfig::clear_disable_audio() { + disable_audio_ = false; +} +inline bool AudioConfig::_internal_disable_audio() const { + return disable_audio_; +} +inline bool AudioConfig::disable_audio() const { + // @@protoc_insertion_point(field_get:service.AudioConfig.disable_audio) + return _internal_disable_audio(); +} +inline void AudioConfig::_internal_set_disable_audio(bool value) { + + disable_audio_ = value; +} +inline void AudioConfig::set_disable_audio(bool value) { + _internal_set_disable_audio(value); + // @@protoc_insertion_point(field_set:service.AudioConfig.disable_audio) +} + +// bool enable_facial_data = 3; +inline void AudioConfig::clear_enable_facial_data() { + enable_facial_data_ = false; +} +inline bool AudioConfig::_internal_enable_facial_data() const { + return enable_facial_data_; +} +inline bool AudioConfig::enable_facial_data() const { + // @@protoc_insertion_point(field_get:service.AudioConfig.enable_facial_data) + return _internal_enable_facial_data(); +} +inline void AudioConfig::_internal_set_enable_facial_data(bool value) { + + enable_facial_data_ = value; +} +inline void AudioConfig::set_enable_facial_data(bool value) { + _internal_set_enable_facial_data(value); + // @@protoc_insertion_point(field_set:service.AudioConfig.enable_facial_data) +} + +// .service.FaceModel face_model = 4; +inline void AudioConfig::clear_face_model() { + face_model_ = 0; +} +inline ::service::FaceModel AudioConfig::_internal_face_model() const { + return static_cast< ::service::FaceModel >(face_model_); +} +inline ::service::FaceModel AudioConfig::face_model() const { + // @@protoc_insertion_point(field_get:service.AudioConfig.face_model) + return _internal_face_model(); +} +inline void AudioConfig::_internal_set_face_model(::service::FaceModel value) { + + face_model_ = value; +} +inline void AudioConfig::set_face_model(::service::FaceModel value) { + _internal_set_face_model(value); + // @@protoc_insertion_point(field_set:service.AudioConfig.face_model) +} + +// bool enable_facial_emotion_data = 5; +inline void AudioConfig::clear_enable_facial_emotion_data() { + enable_facial_emotion_data_ = false; +} +inline bool AudioConfig::_internal_enable_facial_emotion_data() const { + return enable_facial_emotion_data_; +} +inline bool AudioConfig::enable_facial_emotion_data() const { + // @@protoc_insertion_point(field_get:service.AudioConfig.enable_facial_emotion_data) + return _internal_enable_facial_emotion_data(); +} +inline void AudioConfig::_internal_set_enable_facial_emotion_data(bool value) { + + enable_facial_emotion_data_ = value; +} +inline void AudioConfig::set_enable_facial_emotion_data(bool value) { + _internal_set_enable_facial_emotion_data(value); + // @@protoc_insertion_point(field_set:service.AudioConfig.enable_facial_emotion_data) +} + +// ------------------------------------------------------------------- + +// TriggerConfig + +// string trigger_name = 1; +inline void TriggerConfig::clear_trigger_name() { + trigger_name_.ClearToEmpty(); +} +inline const std::string& TriggerConfig::trigger_name() const { + // @@protoc_insertion_point(field_get:service.TriggerConfig.trigger_name) + return _internal_trigger_name(); +} +inline void TriggerConfig::set_trigger_name(const std::string& value) { + _internal_set_trigger_name(value); + // @@protoc_insertion_point(field_set:service.TriggerConfig.trigger_name) +} +inline std::string* TriggerConfig::mutable_trigger_name() { + // @@protoc_insertion_point(field_mutable:service.TriggerConfig.trigger_name) + return _internal_mutable_trigger_name(); +} +inline const std::string& TriggerConfig::_internal_trigger_name() const { + return trigger_name_.Get(); +} +inline void TriggerConfig::_internal_set_trigger_name(const std::string& value) { + + trigger_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void TriggerConfig::set_trigger_name(std::string&& value) { + + trigger_name_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.TriggerConfig.trigger_name) +} +inline void TriggerConfig::set_trigger_name(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + trigger_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.TriggerConfig.trigger_name) +} +inline void TriggerConfig::set_trigger_name(const char* value, + size_t size) { + + trigger_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.TriggerConfig.trigger_name) +} +inline std::string* TriggerConfig::_internal_mutable_trigger_name() { + + return trigger_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* TriggerConfig::release_trigger_name() { + // @@protoc_insertion_point(field_release:service.TriggerConfig.trigger_name) + return trigger_name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void TriggerConfig::set_allocated_trigger_name(std::string* trigger_name) { + if (trigger_name != nullptr) { + + } else { + + } + trigger_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), trigger_name, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.TriggerConfig.trigger_name) +} + +// string trigger_message = 2; +inline void TriggerConfig::clear_trigger_message() { + trigger_message_.ClearToEmpty(); +} +inline const std::string& TriggerConfig::trigger_message() const { + // @@protoc_insertion_point(field_get:service.TriggerConfig.trigger_message) + return _internal_trigger_message(); +} +inline void TriggerConfig::set_trigger_message(const std::string& value) { + _internal_set_trigger_message(value); + // @@protoc_insertion_point(field_set:service.TriggerConfig.trigger_message) +} +inline std::string* TriggerConfig::mutable_trigger_message() { + // @@protoc_insertion_point(field_mutable:service.TriggerConfig.trigger_message) + return _internal_mutable_trigger_message(); +} +inline const std::string& TriggerConfig::_internal_trigger_message() const { + return trigger_message_.Get(); +} +inline void TriggerConfig::_internal_set_trigger_message(const std::string& value) { + + trigger_message_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void TriggerConfig::set_trigger_message(std::string&& value) { + + trigger_message_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.TriggerConfig.trigger_message) +} +inline void TriggerConfig::set_trigger_message(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + trigger_message_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.TriggerConfig.trigger_message) +} +inline void TriggerConfig::set_trigger_message(const char* value, + size_t size) { + + trigger_message_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.TriggerConfig.trigger_message) +} +inline std::string* TriggerConfig::_internal_mutable_trigger_message() { + + return trigger_message_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* TriggerConfig::release_trigger_message() { + // @@protoc_insertion_point(field_release:service.TriggerConfig.trigger_message) + return trigger_message_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void TriggerConfig::set_allocated_trigger_message(std::string* trigger_message) { + if (trigger_message != nullptr) { + + } else { + + } + trigger_message_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), trigger_message, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.TriggerConfig.trigger_message) +} + +// ------------------------------------------------------------------- + +// ActionConfig_Character + +// string name = 1; +inline void ActionConfig_Character::clear_name() { + name_.ClearToEmpty(); +} +inline const std::string& ActionConfig_Character::name() const { + // @@protoc_insertion_point(field_get:service.ActionConfig.Character.name) + return _internal_name(); +} +inline void ActionConfig_Character::set_name(const std::string& value) { + _internal_set_name(value); + // @@protoc_insertion_point(field_set:service.ActionConfig.Character.name) +} +inline std::string* ActionConfig_Character::mutable_name() { + // @@protoc_insertion_point(field_mutable:service.ActionConfig.Character.name) + return _internal_mutable_name(); +} +inline const std::string& ActionConfig_Character::_internal_name() const { + return name_.Get(); +} +inline void ActionConfig_Character::_internal_set_name(const std::string& value) { + + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void ActionConfig_Character::set_name(std::string&& value) { + + name_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.ActionConfig.Character.name) +} +inline void ActionConfig_Character::set_name(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.ActionConfig.Character.name) +} +inline void ActionConfig_Character::set_name(const char* value, + size_t size) { + + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.ActionConfig.Character.name) +} +inline std::string* ActionConfig_Character::_internal_mutable_name() { + + return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* ActionConfig_Character::release_name() { + // @@protoc_insertion_point(field_release:service.ActionConfig.Character.name) + return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void ActionConfig_Character::set_allocated_name(std::string* name) { + if (name != nullptr) { + + } else { + + } + name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.ActionConfig.Character.name) +} + +// string bio = 2; +inline void ActionConfig_Character::clear_bio() { + bio_.ClearToEmpty(); +} +inline const std::string& ActionConfig_Character::bio() const { + // @@protoc_insertion_point(field_get:service.ActionConfig.Character.bio) + return _internal_bio(); +} +inline void ActionConfig_Character::set_bio(const std::string& value) { + _internal_set_bio(value); + // @@protoc_insertion_point(field_set:service.ActionConfig.Character.bio) +} +inline std::string* ActionConfig_Character::mutable_bio() { + // @@protoc_insertion_point(field_mutable:service.ActionConfig.Character.bio) + return _internal_mutable_bio(); +} +inline const std::string& ActionConfig_Character::_internal_bio() const { + return bio_.Get(); +} +inline void ActionConfig_Character::_internal_set_bio(const std::string& value) { + + bio_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void ActionConfig_Character::set_bio(std::string&& value) { + + bio_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.ActionConfig.Character.bio) +} +inline void ActionConfig_Character::set_bio(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + bio_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.ActionConfig.Character.bio) +} +inline void ActionConfig_Character::set_bio(const char* value, + size_t size) { + + bio_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.ActionConfig.Character.bio) +} +inline std::string* ActionConfig_Character::_internal_mutable_bio() { + + return bio_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* ActionConfig_Character::release_bio() { + // @@protoc_insertion_point(field_release:service.ActionConfig.Character.bio) + return bio_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void ActionConfig_Character::set_allocated_bio(std::string* bio) { + if (bio != nullptr) { + + } else { + + } + bio_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), bio, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.ActionConfig.Character.bio) +} + +// ------------------------------------------------------------------- + +// ActionConfig_Object + +// string name = 1; +inline void ActionConfig_Object::clear_name() { + name_.ClearToEmpty(); +} +inline const std::string& ActionConfig_Object::name() const { + // @@protoc_insertion_point(field_get:service.ActionConfig.Object.name) + return _internal_name(); +} +inline void ActionConfig_Object::set_name(const std::string& value) { + _internal_set_name(value); + // @@protoc_insertion_point(field_set:service.ActionConfig.Object.name) +} +inline std::string* ActionConfig_Object::mutable_name() { + // @@protoc_insertion_point(field_mutable:service.ActionConfig.Object.name) + return _internal_mutable_name(); +} +inline const std::string& ActionConfig_Object::_internal_name() const { + return name_.Get(); +} +inline void ActionConfig_Object::_internal_set_name(const std::string& value) { + + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void ActionConfig_Object::set_name(std::string&& value) { + + name_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.ActionConfig.Object.name) +} +inline void ActionConfig_Object::set_name(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.ActionConfig.Object.name) +} +inline void ActionConfig_Object::set_name(const char* value, + size_t size) { + + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.ActionConfig.Object.name) +} +inline std::string* ActionConfig_Object::_internal_mutable_name() { + + return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* ActionConfig_Object::release_name() { + // @@protoc_insertion_point(field_release:service.ActionConfig.Object.name) + return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void ActionConfig_Object::set_allocated_name(std::string* name) { + if (name != nullptr) { + + } else { + + } + name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.ActionConfig.Object.name) +} + +// string description = 2; +inline void ActionConfig_Object::clear_description() { + description_.ClearToEmpty(); +} +inline const std::string& ActionConfig_Object::description() const { + // @@protoc_insertion_point(field_get:service.ActionConfig.Object.description) + return _internal_description(); +} +inline void ActionConfig_Object::set_description(const std::string& value) { + _internal_set_description(value); + // @@protoc_insertion_point(field_set:service.ActionConfig.Object.description) +} +inline std::string* ActionConfig_Object::mutable_description() { + // @@protoc_insertion_point(field_mutable:service.ActionConfig.Object.description) + return _internal_mutable_description(); +} +inline const std::string& ActionConfig_Object::_internal_description() const { + return description_.Get(); +} +inline void ActionConfig_Object::_internal_set_description(const std::string& value) { + + description_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void ActionConfig_Object::set_description(std::string&& value) { + + description_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.ActionConfig.Object.description) +} +inline void ActionConfig_Object::set_description(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + description_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.ActionConfig.Object.description) +} +inline void ActionConfig_Object::set_description(const char* value, + size_t size) { + + description_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.ActionConfig.Object.description) +} +inline std::string* ActionConfig_Object::_internal_mutable_description() { + + return description_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* ActionConfig_Object::release_description() { + // @@protoc_insertion_point(field_release:service.ActionConfig.Object.description) + return description_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void ActionConfig_Object::set_allocated_description(std::string* description) { + if (description != nullptr) { + + } else { + + } + description_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), description, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.ActionConfig.Object.description) +} + +// ------------------------------------------------------------------- + +// ActionConfig + +// repeated string actions = 1; +inline int ActionConfig::_internal_actions_size() const { + return actions_.size(); +} +inline int ActionConfig::actions_size() const { + return _internal_actions_size(); +} +inline void ActionConfig::clear_actions() { + actions_.Clear(); +} +inline std::string* ActionConfig::add_actions() { + // @@protoc_insertion_point(field_add_mutable:service.ActionConfig.actions) + return _internal_add_actions(); +} +inline const std::string& ActionConfig::_internal_actions(int index) const { + return actions_.Get(index); +} +inline const std::string& ActionConfig::actions(int index) const { + // @@protoc_insertion_point(field_get:service.ActionConfig.actions) + return _internal_actions(index); +} +inline std::string* ActionConfig::mutable_actions(int index) { + // @@protoc_insertion_point(field_mutable:service.ActionConfig.actions) + return actions_.Mutable(index); +} +inline void ActionConfig::set_actions(int index, const std::string& value) { + // @@protoc_insertion_point(field_set:service.ActionConfig.actions) + actions_.Mutable(index)->assign(value); +} +inline void ActionConfig::set_actions(int index, std::string&& value) { + // @@protoc_insertion_point(field_set:service.ActionConfig.actions) + actions_.Mutable(index)->assign(std::move(value)); +} +inline void ActionConfig::set_actions(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + actions_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:service.ActionConfig.actions) +} +inline void ActionConfig::set_actions(int index, const char* value, size_t size) { + actions_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:service.ActionConfig.actions) +} +inline std::string* ActionConfig::_internal_add_actions() { + return actions_.Add(); +} +inline void ActionConfig::add_actions(const std::string& value) { + actions_.Add()->assign(value); + // @@protoc_insertion_point(field_add:service.ActionConfig.actions) +} +inline void ActionConfig::add_actions(std::string&& value) { + actions_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:service.ActionConfig.actions) +} +inline void ActionConfig::add_actions(const char* value) { + GOOGLE_DCHECK(value != nullptr); + actions_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:service.ActionConfig.actions) +} +inline void ActionConfig::add_actions(const char* value, size_t size) { + actions_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:service.ActionConfig.actions) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& +ActionConfig::actions() const { + // @@protoc_insertion_point(field_list:service.ActionConfig.actions) + return actions_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* +ActionConfig::mutable_actions() { + // @@protoc_insertion_point(field_mutable_list:service.ActionConfig.actions) + return &actions_; +} + +// repeated .service.ActionConfig.Character characters = 2; +inline int ActionConfig::_internal_characters_size() const { + return characters_.size(); +} +inline int ActionConfig::characters_size() const { + return _internal_characters_size(); +} +inline void ActionConfig::clear_characters() { + characters_.Clear(); +} +inline ::service::ActionConfig_Character* ActionConfig::mutable_characters(int index) { + // @@protoc_insertion_point(field_mutable:service.ActionConfig.characters) + return characters_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Character >* +ActionConfig::mutable_characters() { + // @@protoc_insertion_point(field_mutable_list:service.ActionConfig.characters) + return &characters_; +} +inline const ::service::ActionConfig_Character& ActionConfig::_internal_characters(int index) const { + return characters_.Get(index); +} +inline const ::service::ActionConfig_Character& ActionConfig::characters(int index) const { + // @@protoc_insertion_point(field_get:service.ActionConfig.characters) + return _internal_characters(index); +} +inline ::service::ActionConfig_Character* ActionConfig::_internal_add_characters() { + return characters_.Add(); +} +inline ::service::ActionConfig_Character* ActionConfig::add_characters() { + // @@protoc_insertion_point(field_add:service.ActionConfig.characters) + return _internal_add_characters(); +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Character >& +ActionConfig::characters() const { + // @@protoc_insertion_point(field_list:service.ActionConfig.characters) + return characters_; +} + +// repeated .service.ActionConfig.Object objects = 3; +inline int ActionConfig::_internal_objects_size() const { + return objects_.size(); +} +inline int ActionConfig::objects_size() const { + return _internal_objects_size(); +} +inline void ActionConfig::clear_objects() { + objects_.Clear(); +} +inline ::service::ActionConfig_Object* ActionConfig::mutable_objects(int index) { + // @@protoc_insertion_point(field_mutable:service.ActionConfig.objects) + return objects_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Object >* +ActionConfig::mutable_objects() { + // @@protoc_insertion_point(field_mutable_list:service.ActionConfig.objects) + return &objects_; +} +inline const ::service::ActionConfig_Object& ActionConfig::_internal_objects(int index) const { + return objects_.Get(index); +} +inline const ::service::ActionConfig_Object& ActionConfig::objects(int index) const { + // @@protoc_insertion_point(field_get:service.ActionConfig.objects) + return _internal_objects(index); +} +inline ::service::ActionConfig_Object* ActionConfig::_internal_add_objects() { + return objects_.Add(); +} +inline ::service::ActionConfig_Object* ActionConfig::add_objects() { + // @@protoc_insertion_point(field_add:service.ActionConfig.objects) + return _internal_add_objects(); +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Object >& +ActionConfig::objects() const { + // @@protoc_insertion_point(field_list:service.ActionConfig.objects) + return objects_; +} + +// string classification = 4; +inline void ActionConfig::clear_classification() { + classification_.ClearToEmpty(); +} +inline const std::string& ActionConfig::classification() const { + // @@protoc_insertion_point(field_get:service.ActionConfig.classification) + return _internal_classification(); +} +inline void ActionConfig::set_classification(const std::string& value) { + _internal_set_classification(value); + // @@protoc_insertion_point(field_set:service.ActionConfig.classification) +} +inline std::string* ActionConfig::mutable_classification() { + // @@protoc_insertion_point(field_mutable:service.ActionConfig.classification) + return _internal_mutable_classification(); +} +inline const std::string& ActionConfig::_internal_classification() const { + return classification_.Get(); +} +inline void ActionConfig::_internal_set_classification(const std::string& value) { + + classification_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void ActionConfig::set_classification(std::string&& value) { + + classification_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.ActionConfig.classification) +} +inline void ActionConfig::set_classification(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + classification_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.ActionConfig.classification) +} +inline void ActionConfig::set_classification(const char* value, + size_t size) { + + classification_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.ActionConfig.classification) +} +inline std::string* ActionConfig::_internal_mutable_classification() { + + return classification_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* ActionConfig::release_classification() { + // @@protoc_insertion_point(field_release:service.ActionConfig.classification) + return classification_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void ActionConfig::set_allocated_classification(std::string* classification) { + if (classification != nullptr) { + + } else { + + } + classification_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), classification, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.ActionConfig.classification) +} + +// int32 context_level = 5; +inline void ActionConfig::clear_context_level() { + context_level_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 ActionConfig::_internal_context_level() const { + return context_level_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 ActionConfig::context_level() const { + // @@protoc_insertion_point(field_get:service.ActionConfig.context_level) + return _internal_context_level(); +} +inline void ActionConfig::_internal_set_context_level(::PROTOBUF_NAMESPACE_ID::int32 value) { + + context_level_ = value; +} +inline void ActionConfig::set_context_level(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_context_level(value); + // @@protoc_insertion_point(field_set:service.ActionConfig.context_level) +} + +// string current_attention_object = 6; +inline void ActionConfig::clear_current_attention_object() { + current_attention_object_.ClearToEmpty(); +} +inline const std::string& ActionConfig::current_attention_object() const { + // @@protoc_insertion_point(field_get:service.ActionConfig.current_attention_object) + return _internal_current_attention_object(); +} +inline void ActionConfig::set_current_attention_object(const std::string& value) { + _internal_set_current_attention_object(value); + // @@protoc_insertion_point(field_set:service.ActionConfig.current_attention_object) +} +inline std::string* ActionConfig::mutable_current_attention_object() { + // @@protoc_insertion_point(field_mutable:service.ActionConfig.current_attention_object) + return _internal_mutable_current_attention_object(); +} +inline const std::string& ActionConfig::_internal_current_attention_object() const { + return current_attention_object_.Get(); +} +inline void ActionConfig::_internal_set_current_attention_object(const std::string& value) { + + current_attention_object_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void ActionConfig::set_current_attention_object(std::string&& value) { + + current_attention_object_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.ActionConfig.current_attention_object) +} +inline void ActionConfig::set_current_attention_object(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + current_attention_object_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.ActionConfig.current_attention_object) +} +inline void ActionConfig::set_current_attention_object(const char* value, + size_t size) { + + current_attention_object_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.ActionConfig.current_attention_object) +} +inline std::string* ActionConfig::_internal_mutable_current_attention_object() { + + return current_attention_object_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* ActionConfig::release_current_attention_object() { + // @@protoc_insertion_point(field_release:service.ActionConfig.current_attention_object) + return current_attention_object_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void ActionConfig::set_allocated_current_attention_object(std::string* current_attention_object) { + if (current_attention_object != nullptr) { + + } else { + + } + current_attention_object_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), current_attention_object, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.ActionConfig.current_attention_object) +} + +// ------------------------------------------------------------------- + +// STTRequest + +// .service.AudioConfig audio_config = 1; +inline bool STTRequest::_internal_has_audio_config() const { + return request_type_case() == kAudioConfig; +} +inline bool STTRequest::has_audio_config() const { + return _internal_has_audio_config(); +} +inline void STTRequest::set_has_audio_config() { + _oneof_case_[0] = kAudioConfig; +} +inline void STTRequest::clear_audio_config() { + if (_internal_has_audio_config()) { + if (GetArena() == nullptr) { + delete request_type_.audio_config_; + } + clear_has_request_type(); + } +} +inline ::service::AudioConfig* STTRequest::release_audio_config() { + // @@protoc_insertion_point(field_release:service.STTRequest.audio_config) + if (_internal_has_audio_config()) { + clear_has_request_type(); + ::service::AudioConfig* temp = request_type_.audio_config_; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + request_type_.audio_config_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::AudioConfig& STTRequest::_internal_audio_config() const { + return _internal_has_audio_config() + ? *request_type_.audio_config_ + : reinterpret_cast< ::service::AudioConfig&>(::service::_AudioConfig_default_instance_); +} +inline const ::service::AudioConfig& STTRequest::audio_config() const { + // @@protoc_insertion_point(field_get:service.STTRequest.audio_config) + return _internal_audio_config(); +} +inline ::service::AudioConfig* STTRequest::unsafe_arena_release_audio_config() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.STTRequest.audio_config) + if (_internal_has_audio_config()) { + clear_has_request_type(); + ::service::AudioConfig* temp = request_type_.audio_config_; + request_type_.audio_config_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void STTRequest::unsafe_arena_set_allocated_audio_config(::service::AudioConfig* audio_config) { + clear_request_type(); + if (audio_config) { + set_has_audio_config(); + request_type_.audio_config_ = audio_config; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.STTRequest.audio_config) +} +inline ::service::AudioConfig* STTRequest::_internal_mutable_audio_config() { + if (!_internal_has_audio_config()) { + clear_request_type(); + set_has_audio_config(); + request_type_.audio_config_ = CreateMaybeMessage< ::service::AudioConfig >(GetArena()); + } + return request_type_.audio_config_; +} +inline ::service::AudioConfig* STTRequest::mutable_audio_config() { + // @@protoc_insertion_point(field_mutable:service.STTRequest.audio_config) + return _internal_mutable_audio_config(); +} + +// bytes audio_chunk = 2; +inline bool STTRequest::_internal_has_audio_chunk() const { + return request_type_case() == kAudioChunk; +} +inline void STTRequest::set_has_audio_chunk() { + _oneof_case_[0] = kAudioChunk; +} +inline void STTRequest::clear_audio_chunk() { + if (_internal_has_audio_chunk()) { + request_type_.audio_chunk_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); + clear_has_request_type(); + } +} +inline const std::string& STTRequest::audio_chunk() const { + // @@protoc_insertion_point(field_get:service.STTRequest.audio_chunk) + return _internal_audio_chunk(); +} +inline void STTRequest::set_audio_chunk(const std::string& value) { + _internal_set_audio_chunk(value); + // @@protoc_insertion_point(field_set:service.STTRequest.audio_chunk) +} +inline std::string* STTRequest::mutable_audio_chunk() { + // @@protoc_insertion_point(field_mutable:service.STTRequest.audio_chunk) + return _internal_mutable_audio_chunk(); +} +inline const std::string& STTRequest::_internal_audio_chunk() const { + if (_internal_has_audio_chunk()) { + return request_type_.audio_chunk_.Get(); + } + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); +} +inline void STTRequest::_internal_set_audio_chunk(const std::string& value) { + if (!_internal_has_audio_chunk()) { + clear_request_type(); + set_has_audio_chunk(); + request_type_.audio_chunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + request_type_.audio_chunk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void STTRequest::set_audio_chunk(std::string&& value) { + // @@protoc_insertion_point(field_set:service.STTRequest.audio_chunk) + if (!_internal_has_audio_chunk()) { + clear_request_type(); + set_has_audio_chunk(); + request_type_.audio_chunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + request_type_.audio_chunk_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.STTRequest.audio_chunk) +} +inline void STTRequest::set_audio_chunk(const char* value) { + GOOGLE_DCHECK(value != nullptr); + if (!_internal_has_audio_chunk()) { + clear_request_type(); + set_has_audio_chunk(); + request_type_.audio_chunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + request_type_.audio_chunk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, + ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.STTRequest.audio_chunk) +} +inline void STTRequest::set_audio_chunk(const void* value, + size_t size) { + if (!_internal_has_audio_chunk()) { + clear_request_type(); + set_has_audio_chunk(); + request_type_.audio_chunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + request_type_.audio_chunk_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), + GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.STTRequest.audio_chunk) +} +inline std::string* STTRequest::_internal_mutable_audio_chunk() { + if (!_internal_has_audio_chunk()) { + clear_request_type(); + set_has_audio_chunk(); + request_type_.audio_chunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + return request_type_.audio_chunk_.Mutable( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* STTRequest::release_audio_chunk() { + // @@protoc_insertion_point(field_release:service.STTRequest.audio_chunk) + if (_internal_has_audio_chunk()) { + clear_has_request_type(); + return request_type_.audio_chunk_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + } else { + return nullptr; + } +} +inline void STTRequest::set_allocated_audio_chunk(std::string* audio_chunk) { + if (has_request_type()) { + clear_request_type(); + } + if (audio_chunk != nullptr) { + set_has_audio_chunk(); + request_type_.audio_chunk_.UnsafeSetDefault(audio_chunk); + ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); + if (arena != nullptr) { + arena->Own(audio_chunk); + } + } + // @@protoc_insertion_point(field_set_allocated:service.STTRequest.audio_chunk) +} + +inline bool STTRequest::has_request_type() const { + return request_type_case() != REQUEST_TYPE_NOT_SET; +} +inline void STTRequest::clear_has_request_type() { + _oneof_case_[0] = REQUEST_TYPE_NOT_SET; +} +inline STTRequest::RequestTypeCase STTRequest::request_type_case() const { + return STTRequest::RequestTypeCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// STTResponse + +// string text = 1; +inline void STTResponse::clear_text() { + text_.ClearToEmpty(); +} +inline const std::string& STTResponse::text() const { + // @@protoc_insertion_point(field_get:service.STTResponse.text) + return _internal_text(); +} +inline void STTResponse::set_text(const std::string& value) { + _internal_set_text(value); + // @@protoc_insertion_point(field_set:service.STTResponse.text) +} +inline std::string* STTResponse::mutable_text() { + // @@protoc_insertion_point(field_mutable:service.STTResponse.text) + return _internal_mutable_text(); +} +inline const std::string& STTResponse::_internal_text() const { + return text_.Get(); +} +inline void STTResponse::_internal_set_text(const std::string& value) { + + text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void STTResponse::set_text(std::string&& value) { + + text_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.STTResponse.text) +} +inline void STTResponse::set_text(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.STTResponse.text) +} +inline void STTResponse::set_text(const char* value, + size_t size) { + + text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.STTResponse.text) +} +inline std::string* STTResponse::_internal_mutable_text() { + + return text_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* STTResponse::release_text() { + // @@protoc_insertion_point(field_release:service.STTResponse.text) + return text_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void STTResponse::set_allocated_text(std::string* text) { + if (text != nullptr) { + + } else { + + } + text_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), text, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.STTResponse.text) +} + +// ------------------------------------------------------------------- + +// DynamicInfoConfig + +// string text = 1; +inline void DynamicInfoConfig::clear_text() { + text_.ClearToEmpty(); +} +inline const std::string& DynamicInfoConfig::text() const { + // @@protoc_insertion_point(field_get:service.DynamicInfoConfig.text) + return _internal_text(); +} +inline void DynamicInfoConfig::set_text(const std::string& value) { + _internal_set_text(value); + // @@protoc_insertion_point(field_set:service.DynamicInfoConfig.text) +} +inline std::string* DynamicInfoConfig::mutable_text() { + // @@protoc_insertion_point(field_mutable:service.DynamicInfoConfig.text) + return _internal_mutable_text(); +} +inline const std::string& DynamicInfoConfig::_internal_text() const { + return text_.Get(); +} +inline void DynamicInfoConfig::_internal_set_text(const std::string& value) { + + text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void DynamicInfoConfig::set_text(std::string&& value) { + + text_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.DynamicInfoConfig.text) +} +inline void DynamicInfoConfig::set_text(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.DynamicInfoConfig.text) +} +inline void DynamicInfoConfig::set_text(const char* value, + size_t size) { + + text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.DynamicInfoConfig.text) +} +inline std::string* DynamicInfoConfig::_internal_mutable_text() { + + return text_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* DynamicInfoConfig::release_text() { + // @@protoc_insertion_point(field_release:service.DynamicInfoConfig.text) + return text_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void DynamicInfoConfig::set_allocated_text(std::string* text) { + if (text != nullptr) { + + } else { + + } + text_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), text, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.DynamicInfoConfig.text) +} + +// ------------------------------------------------------------------- + +// VisionInput_ImageData + +// int32 width = 1; +inline void VisionInput_ImageData::clear_width() { + width_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 VisionInput_ImageData::_internal_width() const { + return width_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 VisionInput_ImageData::width() const { + // @@protoc_insertion_point(field_get:service.VisionInput.ImageData.width) + return _internal_width(); +} +inline void VisionInput_ImageData::_internal_set_width(::PROTOBUF_NAMESPACE_ID::int32 value) { + + width_ = value; +} +inline void VisionInput_ImageData::set_width(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_width(value); + // @@protoc_insertion_point(field_set:service.VisionInput.ImageData.width) +} + +// int32 height = 2; +inline void VisionInput_ImageData::clear_height() { + height_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 VisionInput_ImageData::_internal_height() const { + return height_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 VisionInput_ImageData::height() const { + // @@protoc_insertion_point(field_get:service.VisionInput.ImageData.height) + return _internal_height(); +} +inline void VisionInput_ImageData::_internal_set_height(::PROTOBUF_NAMESPACE_ID::int32 value) { + + height_ = value; +} +inline void VisionInput_ImageData::set_height(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_height(value); + // @@protoc_insertion_point(field_set:service.VisionInput.ImageData.height) +} + +// bytes data = 3; +inline void VisionInput_ImageData::clear_data() { + data_.ClearToEmpty(); +} +inline const std::string& VisionInput_ImageData::data() const { + // @@protoc_insertion_point(field_get:service.VisionInput.ImageData.data) + return _internal_data(); +} +inline void VisionInput_ImageData::set_data(const std::string& value) { + _internal_set_data(value); + // @@protoc_insertion_point(field_set:service.VisionInput.ImageData.data) +} +inline std::string* VisionInput_ImageData::mutable_data() { + // @@protoc_insertion_point(field_mutable:service.VisionInput.ImageData.data) + return _internal_mutable_data(); +} +inline const std::string& VisionInput_ImageData::_internal_data() const { + return data_.Get(); +} +inline void VisionInput_ImageData::_internal_set_data(const std::string& value) { + + data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void VisionInput_ImageData::set_data(std::string&& value) { + + data_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.VisionInput.ImageData.data) +} +inline void VisionInput_ImageData::set_data(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.VisionInput.ImageData.data) +} +inline void VisionInput_ImageData::set_data(const void* value, + size_t size) { + + data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.VisionInput.ImageData.data) +} +inline std::string* VisionInput_ImageData::_internal_mutable_data() { + + return data_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* VisionInput_ImageData::release_data() { + // @@protoc_insertion_point(field_release:service.VisionInput.ImageData.data) + return data_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void VisionInput_ImageData::set_allocated_data(std::string* data) { + if (data != nullptr) { + + } else { + + } + data_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), data, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.VisionInput.ImageData.data) +} + +// ------------------------------------------------------------------- + +// VisionInput_VideoData + +// int32 fps = 1; +inline void VisionInput_VideoData::clear_fps() { + fps_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 VisionInput_VideoData::_internal_fps() const { + return fps_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 VisionInput_VideoData::fps() const { + // @@protoc_insertion_point(field_get:service.VisionInput.VideoData.fps) + return _internal_fps(); +} +inline void VisionInput_VideoData::_internal_set_fps(::PROTOBUF_NAMESPACE_ID::int32 value) { + + fps_ = value; +} +inline void VisionInput_VideoData::set_fps(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_fps(value); + // @@protoc_insertion_point(field_set:service.VisionInput.VideoData.fps) +} + +// int32 width = 2; +inline void VisionInput_VideoData::clear_width() { + width_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 VisionInput_VideoData::_internal_width() const { + return width_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 VisionInput_VideoData::width() const { + // @@protoc_insertion_point(field_get:service.VisionInput.VideoData.width) + return _internal_width(); +} +inline void VisionInput_VideoData::_internal_set_width(::PROTOBUF_NAMESPACE_ID::int32 value) { + + width_ = value; +} +inline void VisionInput_VideoData::set_width(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_width(value); + // @@protoc_insertion_point(field_set:service.VisionInput.VideoData.width) +} + +// int32 height = 3; +inline void VisionInput_VideoData::clear_height() { + height_ = 0; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 VisionInput_VideoData::_internal_height() const { + return height_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 VisionInput_VideoData::height() const { + // @@protoc_insertion_point(field_get:service.VisionInput.VideoData.height) + return _internal_height(); +} +inline void VisionInput_VideoData::_internal_set_height(::PROTOBUF_NAMESPACE_ID::int32 value) { + + height_ = value; +} +inline void VisionInput_VideoData::set_height(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_height(value); + // @@protoc_insertion_point(field_set:service.VisionInput.VideoData.height) +} + +// bytes data = 4; +inline void VisionInput_VideoData::clear_data() { + data_.ClearToEmpty(); +} +inline const std::string& VisionInput_VideoData::data() const { + // @@protoc_insertion_point(field_get:service.VisionInput.VideoData.data) + return _internal_data(); +} +inline void VisionInput_VideoData::set_data(const std::string& value) { + _internal_set_data(value); + // @@protoc_insertion_point(field_set:service.VisionInput.VideoData.data) +} +inline std::string* VisionInput_VideoData::mutable_data() { + // @@protoc_insertion_point(field_mutable:service.VisionInput.VideoData.data) + return _internal_mutable_data(); +} +inline const std::string& VisionInput_VideoData::_internal_data() const { + return data_.Get(); +} +inline void VisionInput_VideoData::_internal_set_data(const std::string& value) { + + data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void VisionInput_VideoData::set_data(std::string&& value) { + + data_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.VisionInput.VideoData.data) +} +inline void VisionInput_VideoData::set_data(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.VisionInput.VideoData.data) +} +inline void VisionInput_VideoData::set_data(const void* value, + size_t size) { + + data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.VisionInput.VideoData.data) +} +inline std::string* VisionInput_VideoData::_internal_mutable_data() { + + return data_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* VisionInput_VideoData::release_data() { + // @@protoc_insertion_point(field_release:service.VisionInput.VideoData.data) + return data_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void VisionInput_VideoData::set_allocated_data(std::string* data) { + if (data != nullptr) { + + } else { + + } + data_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), data, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.VisionInput.VideoData.data) +} + +// ------------------------------------------------------------------- + +// VisionInput + +// .service.VisionInput.ImageData image_data = 1; +inline bool VisionInput::_internal_has_image_data() const { + return vision_data_case() == kImageData; +} +inline bool VisionInput::has_image_data() const { + return _internal_has_image_data(); +} +inline void VisionInput::set_has_image_data() { + _oneof_case_[0] = kImageData; +} +inline void VisionInput::clear_image_data() { + if (_internal_has_image_data()) { + if (GetArena() == nullptr) { + delete vision_data_.image_data_; + } + clear_has_vision_data(); + } +} +inline ::service::VisionInput_ImageData* VisionInput::release_image_data() { + // @@protoc_insertion_point(field_release:service.VisionInput.image_data) + if (_internal_has_image_data()) { + clear_has_vision_data(); + ::service::VisionInput_ImageData* temp = vision_data_.image_data_; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + vision_data_.image_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::VisionInput_ImageData& VisionInput::_internal_image_data() const { + return _internal_has_image_data() + ? *vision_data_.image_data_ + : reinterpret_cast< ::service::VisionInput_ImageData&>(::service::_VisionInput_ImageData_default_instance_); +} +inline const ::service::VisionInput_ImageData& VisionInput::image_data() const { + // @@protoc_insertion_point(field_get:service.VisionInput.image_data) + return _internal_image_data(); +} +inline ::service::VisionInput_ImageData* VisionInput::unsafe_arena_release_image_data() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.VisionInput.image_data) + if (_internal_has_image_data()) { + clear_has_vision_data(); + ::service::VisionInput_ImageData* temp = vision_data_.image_data_; + vision_data_.image_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void VisionInput::unsafe_arena_set_allocated_image_data(::service::VisionInput_ImageData* image_data) { + clear_vision_data(); + if (image_data) { + set_has_image_data(); + vision_data_.image_data_ = image_data; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.VisionInput.image_data) +} +inline ::service::VisionInput_ImageData* VisionInput::_internal_mutable_image_data() { + if (!_internal_has_image_data()) { + clear_vision_data(); + set_has_image_data(); + vision_data_.image_data_ = CreateMaybeMessage< ::service::VisionInput_ImageData >(GetArena()); + } + return vision_data_.image_data_; +} +inline ::service::VisionInput_ImageData* VisionInput::mutable_image_data() { + // @@protoc_insertion_point(field_mutable:service.VisionInput.image_data) + return _internal_mutable_image_data(); +} + +// .service.VisionInput.VideoData video_data = 2; +inline bool VisionInput::_internal_has_video_data() const { + return vision_data_case() == kVideoData; +} +inline bool VisionInput::has_video_data() const { + return _internal_has_video_data(); +} +inline void VisionInput::set_has_video_data() { + _oneof_case_[0] = kVideoData; +} +inline void VisionInput::clear_video_data() { + if (_internal_has_video_data()) { + if (GetArena() == nullptr) { + delete vision_data_.video_data_; + } + clear_has_vision_data(); + } +} +inline ::service::VisionInput_VideoData* VisionInput::release_video_data() { + // @@protoc_insertion_point(field_release:service.VisionInput.video_data) + if (_internal_has_video_data()) { + clear_has_vision_data(); + ::service::VisionInput_VideoData* temp = vision_data_.video_data_; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + vision_data_.video_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::VisionInput_VideoData& VisionInput::_internal_video_data() const { + return _internal_has_video_data() + ? *vision_data_.video_data_ + : reinterpret_cast< ::service::VisionInput_VideoData&>(::service::_VisionInput_VideoData_default_instance_); +} +inline const ::service::VisionInput_VideoData& VisionInput::video_data() const { + // @@protoc_insertion_point(field_get:service.VisionInput.video_data) + return _internal_video_data(); +} +inline ::service::VisionInput_VideoData* VisionInput::unsafe_arena_release_video_data() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.VisionInput.video_data) + if (_internal_has_video_data()) { + clear_has_vision_data(); + ::service::VisionInput_VideoData* temp = vision_data_.video_data_; + vision_data_.video_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void VisionInput::unsafe_arena_set_allocated_video_data(::service::VisionInput_VideoData* video_data) { + clear_vision_data(); + if (video_data) { + set_has_video_data(); + vision_data_.video_data_ = video_data; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.VisionInput.video_data) +} +inline ::service::VisionInput_VideoData* VisionInput::_internal_mutable_video_data() { + if (!_internal_has_video_data()) { + clear_vision_data(); + set_has_video_data(); + vision_data_.video_data_ = CreateMaybeMessage< ::service::VisionInput_VideoData >(GetArena()); + } + return vision_data_.video_data_; +} +inline ::service::VisionInput_VideoData* VisionInput::mutable_video_data() { + // @@protoc_insertion_point(field_mutable:service.VisionInput.video_data) + return _internal_mutable_video_data(); +} + +inline bool VisionInput::has_vision_data() const { + return vision_data_case() != VISION_DATA_NOT_SET; +} +inline void VisionInput::clear_has_vision_data() { + _oneof_case_[0] = VISION_DATA_NOT_SET; +} +inline VisionInput::VisionDataCase VisionInput::vision_data_case() const { + return VisionInput::VisionDataCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// GetResponseRequest_GetResponseConfig + +// string character_id = 2; +inline void GetResponseRequest_GetResponseConfig::clear_character_id() { + character_id_.ClearToEmpty(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::character_id() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.character_id) + return _internal_character_id(); +} +inline void GetResponseRequest_GetResponseConfig::set_character_id(const std::string& value) { + _internal_set_character_id(value); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseConfig.character_id) +} +inline std::string* GetResponseRequest_GetResponseConfig::mutable_character_id() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.character_id) + return _internal_mutable_character_id(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::_internal_character_id() const { + return character_id_.Get(); +} +inline void GetResponseRequest_GetResponseConfig::_internal_set_character_id(const std::string& value) { + + character_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseRequest_GetResponseConfig::set_character_id(std::string&& value) { + + character_id_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseRequest.GetResponseConfig.character_id) +} +inline void GetResponseRequest_GetResponseConfig::set_character_id(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + character_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseRequest.GetResponseConfig.character_id) +} +inline void GetResponseRequest_GetResponseConfig::set_character_id(const char* value, + size_t size) { + + character_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseRequest.GetResponseConfig.character_id) +} +inline std::string* GetResponseRequest_GetResponseConfig::_internal_mutable_character_id() { + + return character_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseRequest_GetResponseConfig::release_character_id() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.character_id) + return character_id_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_character_id(std::string* character_id) { + if (character_id != nullptr) { + + } else { + + } + character_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), character_id, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.character_id) +} + +// string api_key = 3; +inline void GetResponseRequest_GetResponseConfig::clear_api_key() { + api_key_.ClearToEmpty(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::api_key() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.api_key) + return _internal_api_key(); +} +inline void GetResponseRequest_GetResponseConfig::set_api_key(const std::string& value) { + _internal_set_api_key(value); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseConfig.api_key) +} +inline std::string* GetResponseRequest_GetResponseConfig::mutable_api_key() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.api_key) + return _internal_mutable_api_key(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::_internal_api_key() const { + return api_key_.Get(); +} +inline void GetResponseRequest_GetResponseConfig::_internal_set_api_key(const std::string& value) { + + api_key_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseRequest_GetResponseConfig::set_api_key(std::string&& value) { + + api_key_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseRequest.GetResponseConfig.api_key) +} +inline void GetResponseRequest_GetResponseConfig::set_api_key(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + api_key_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseRequest.GetResponseConfig.api_key) +} +inline void GetResponseRequest_GetResponseConfig::set_api_key(const char* value, + size_t size) { + + api_key_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseRequest.GetResponseConfig.api_key) +} +inline std::string* GetResponseRequest_GetResponseConfig::_internal_mutable_api_key() { + + return api_key_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseRequest_GetResponseConfig::release_api_key() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.api_key) + return api_key_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_api_key(std::string* api_key) { + if (api_key != nullptr) { + + } else { + + } + api_key_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), api_key, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.api_key) +} + +// string session_id = 4; +inline void GetResponseRequest_GetResponseConfig::clear_session_id() { + session_id_.ClearToEmpty(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::session_id() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.session_id) + return _internal_session_id(); +} +inline void GetResponseRequest_GetResponseConfig::set_session_id(const std::string& value) { + _internal_set_session_id(value); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseConfig.session_id) +} +inline std::string* GetResponseRequest_GetResponseConfig::mutable_session_id() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.session_id) + return _internal_mutable_session_id(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::_internal_session_id() const { + return session_id_.Get(); +} +inline void GetResponseRequest_GetResponseConfig::_internal_set_session_id(const std::string& value) { + + session_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseRequest_GetResponseConfig::set_session_id(std::string&& value) { + + session_id_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseRequest.GetResponseConfig.session_id) +} +inline void GetResponseRequest_GetResponseConfig::set_session_id(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + session_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseRequest.GetResponseConfig.session_id) +} +inline void GetResponseRequest_GetResponseConfig::set_session_id(const char* value, + size_t size) { + + session_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseRequest.GetResponseConfig.session_id) +} +inline std::string* GetResponseRequest_GetResponseConfig::_internal_mutable_session_id() { + + return session_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseRequest_GetResponseConfig::release_session_id() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.session_id) + return session_id_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_session_id(std::string* session_id) { + if (session_id != nullptr) { + + } else { + + } + session_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), session_id, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.session_id) +} + +// .service.AudioConfig audio_config = 5; +inline bool GetResponseRequest_GetResponseConfig::_internal_has_audio_config() const { + return this != internal_default_instance() && audio_config_ != nullptr; +} +inline bool GetResponseRequest_GetResponseConfig::has_audio_config() const { + return _internal_has_audio_config(); +} +inline void GetResponseRequest_GetResponseConfig::clear_audio_config() { + if (GetArena() == nullptr && audio_config_ != nullptr) { + delete audio_config_; + } + audio_config_ = nullptr; +} +inline const ::service::AudioConfig& GetResponseRequest_GetResponseConfig::_internal_audio_config() const { + const ::service::AudioConfig* p = audio_config_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_AudioConfig_default_instance_); +} +inline const ::service::AudioConfig& GetResponseRequest_GetResponseConfig::audio_config() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.audio_config) + return _internal_audio_config(); +} +inline void GetResponseRequest_GetResponseConfig::unsafe_arena_set_allocated_audio_config( + ::service::AudioConfig* audio_config) { + if (GetArena() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(audio_config_); + } + audio_config_ = audio_config; + if (audio_config) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequest.GetResponseConfig.audio_config) +} +inline ::service::AudioConfig* GetResponseRequest_GetResponseConfig::release_audio_config() { + + ::service::AudioConfig* temp = audio_config_; + audio_config_ = nullptr; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + return temp; +} +inline ::service::AudioConfig* GetResponseRequest_GetResponseConfig::unsafe_arena_release_audio_config() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.audio_config) + + ::service::AudioConfig* temp = audio_config_; + audio_config_ = nullptr; + return temp; +} +inline ::service::AudioConfig* GetResponseRequest_GetResponseConfig::_internal_mutable_audio_config() { + + if (audio_config_ == nullptr) { + auto* p = CreateMaybeMessage<::service::AudioConfig>(GetArena()); + audio_config_ = p; + } + return audio_config_; +} +inline ::service::AudioConfig* GetResponseRequest_GetResponseConfig::mutable_audio_config() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.audio_config) + return _internal_mutable_audio_config(); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_audio_config(::service::AudioConfig* audio_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + if (message_arena == nullptr) { + delete audio_config_; + } + if (audio_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(audio_config); + if (message_arena != submessage_arena) { + audio_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, audio_config, submessage_arena); + } + + } else { + + } + audio_config_ = audio_config; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.audio_config) +} + +// .service.ActionConfig action_config = 6; +inline bool GetResponseRequest_GetResponseConfig::_internal_has_action_config() const { + return this != internal_default_instance() && action_config_ != nullptr; +} +inline bool GetResponseRequest_GetResponseConfig::has_action_config() const { + return _internal_has_action_config(); +} +inline void GetResponseRequest_GetResponseConfig::clear_action_config() { + if (GetArena() == nullptr && action_config_ != nullptr) { + delete action_config_; + } + action_config_ = nullptr; +} +inline const ::service::ActionConfig& GetResponseRequest_GetResponseConfig::_internal_action_config() const { + const ::service::ActionConfig* p = action_config_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_ActionConfig_default_instance_); +} +inline const ::service::ActionConfig& GetResponseRequest_GetResponseConfig::action_config() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.action_config) + return _internal_action_config(); +} +inline void GetResponseRequest_GetResponseConfig::unsafe_arena_set_allocated_action_config( + ::service::ActionConfig* action_config) { + if (GetArena() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(action_config_); + } + action_config_ = action_config; + if (action_config) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequest.GetResponseConfig.action_config) +} +inline ::service::ActionConfig* GetResponseRequest_GetResponseConfig::release_action_config() { + + ::service::ActionConfig* temp = action_config_; + action_config_ = nullptr; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + return temp; +} +inline ::service::ActionConfig* GetResponseRequest_GetResponseConfig::unsafe_arena_release_action_config() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.action_config) + + ::service::ActionConfig* temp = action_config_; + action_config_ = nullptr; + return temp; +} +inline ::service::ActionConfig* GetResponseRequest_GetResponseConfig::_internal_mutable_action_config() { + + if (action_config_ == nullptr) { + auto* p = CreateMaybeMessage<::service::ActionConfig>(GetArena()); + action_config_ = p; + } + return action_config_; +} +inline ::service::ActionConfig* GetResponseRequest_GetResponseConfig::mutable_action_config() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.action_config) + return _internal_mutable_action_config(); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_action_config(::service::ActionConfig* action_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + if (message_arena == nullptr) { + delete action_config_; + } + if (action_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(action_config); + if (message_arena != submessage_arena) { + action_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, action_config, submessage_arena); + } + + } else { + + } + action_config_ = action_config; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.action_config) +} + +// string speaker = 7; +inline void GetResponseRequest_GetResponseConfig::clear_speaker() { + speaker_.ClearToEmpty(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::speaker() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.speaker) + return _internal_speaker(); +} +inline void GetResponseRequest_GetResponseConfig::set_speaker(const std::string& value) { + _internal_set_speaker(value); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseConfig.speaker) +} +inline std::string* GetResponseRequest_GetResponseConfig::mutable_speaker() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.speaker) + return _internal_mutable_speaker(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::_internal_speaker() const { + return speaker_.Get(); +} +inline void GetResponseRequest_GetResponseConfig::_internal_set_speaker(const std::string& value) { + + speaker_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseRequest_GetResponseConfig::set_speaker(std::string&& value) { + + speaker_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseRequest.GetResponseConfig.speaker) +} +inline void GetResponseRequest_GetResponseConfig::set_speaker(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + speaker_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseRequest.GetResponseConfig.speaker) +} +inline void GetResponseRequest_GetResponseConfig::set_speaker(const char* value, + size_t size) { + + speaker_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseRequest.GetResponseConfig.speaker) +} +inline std::string* GetResponseRequest_GetResponseConfig::_internal_mutable_speaker() { + + return speaker_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseRequest_GetResponseConfig::release_speaker() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.speaker) + return speaker_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_speaker(std::string* speaker) { + if (speaker != nullptr) { + + } else { + + } + speaker_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), speaker, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.speaker) +} + +// string language_code = 8; +inline void GetResponseRequest_GetResponseConfig::clear_language_code() { + language_code_.ClearToEmpty(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::language_code() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.language_code) + return _internal_language_code(); +} +inline void GetResponseRequest_GetResponseConfig::set_language_code(const std::string& value) { + _internal_set_language_code(value); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseConfig.language_code) +} +inline std::string* GetResponseRequest_GetResponseConfig::mutable_language_code() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.language_code) + return _internal_mutable_language_code(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::_internal_language_code() const { + return language_code_.Get(); +} +inline void GetResponseRequest_GetResponseConfig::_internal_set_language_code(const std::string& value) { + + language_code_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseRequest_GetResponseConfig::set_language_code(std::string&& value) { + + language_code_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseRequest.GetResponseConfig.language_code) +} +inline void GetResponseRequest_GetResponseConfig::set_language_code(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + language_code_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseRequest.GetResponseConfig.language_code) +} +inline void GetResponseRequest_GetResponseConfig::set_language_code(const char* value, + size_t size) { + + language_code_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseRequest.GetResponseConfig.language_code) +} +inline std::string* GetResponseRequest_GetResponseConfig::_internal_mutable_language_code() { + + return language_code_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseRequest_GetResponseConfig::release_language_code() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.language_code) + return language_code_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_language_code(std::string* language_code) { + if (language_code != nullptr) { + + } else { + + } + language_code_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), language_code, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.language_code) +} + +// string speaker_id = 9; +inline void GetResponseRequest_GetResponseConfig::clear_speaker_id() { + speaker_id_.ClearToEmpty(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::speaker_id() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.speaker_id) + return _internal_speaker_id(); +} +inline void GetResponseRequest_GetResponseConfig::set_speaker_id(const std::string& value) { + _internal_set_speaker_id(value); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseConfig.speaker_id) +} +inline std::string* GetResponseRequest_GetResponseConfig::mutable_speaker_id() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.speaker_id) + return _internal_mutable_speaker_id(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::_internal_speaker_id() const { + return speaker_id_.Get(); +} +inline void GetResponseRequest_GetResponseConfig::_internal_set_speaker_id(const std::string& value) { + + speaker_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseRequest_GetResponseConfig::set_speaker_id(std::string&& value) { + + speaker_id_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseRequest.GetResponseConfig.speaker_id) +} +inline void GetResponseRequest_GetResponseConfig::set_speaker_id(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + speaker_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseRequest.GetResponseConfig.speaker_id) +} +inline void GetResponseRequest_GetResponseConfig::set_speaker_id(const char* value, + size_t size) { + + speaker_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseRequest.GetResponseConfig.speaker_id) +} +inline std::string* GetResponseRequest_GetResponseConfig::_internal_mutable_speaker_id() { + + return speaker_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseRequest_GetResponseConfig::release_speaker_id() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.speaker_id) + return speaker_id_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_speaker_id(std::string* speaker_id) { + if (speaker_id != nullptr) { + + } else { + + } + speaker_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), speaker_id, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.speaker_id) +} + +// string api_auth_token = 10; +inline void GetResponseRequest_GetResponseConfig::clear_api_auth_token() { + api_auth_token_.ClearToEmpty(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::api_auth_token() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.api_auth_token) + return _internal_api_auth_token(); +} +inline void GetResponseRequest_GetResponseConfig::set_api_auth_token(const std::string& value) { + _internal_set_api_auth_token(value); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseConfig.api_auth_token) +} +inline std::string* GetResponseRequest_GetResponseConfig::mutable_api_auth_token() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.api_auth_token) + return _internal_mutable_api_auth_token(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::_internal_api_auth_token() const { + return api_auth_token_.Get(); +} +inline void GetResponseRequest_GetResponseConfig::_internal_set_api_auth_token(const std::string& value) { + + api_auth_token_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseRequest_GetResponseConfig::set_api_auth_token(std::string&& value) { + + api_auth_token_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseRequest.GetResponseConfig.api_auth_token) +} +inline void GetResponseRequest_GetResponseConfig::set_api_auth_token(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + api_auth_token_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseRequest.GetResponseConfig.api_auth_token) +} +inline void GetResponseRequest_GetResponseConfig::set_api_auth_token(const char* value, + size_t size) { + + api_auth_token_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseRequest.GetResponseConfig.api_auth_token) +} +inline std::string* GetResponseRequest_GetResponseConfig::_internal_mutable_api_auth_token() { + + return api_auth_token_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseRequest_GetResponseConfig::release_api_auth_token() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.api_auth_token) + return api_auth_token_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_api_auth_token(std::string* api_auth_token) { + if (api_auth_token != nullptr) { + + } else { + + } + api_auth_token_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), api_auth_token, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.api_auth_token) +} + +// map narrative_template_keys = 11; +inline int GetResponseRequest_GetResponseConfig::_internal_narrative_template_keys_size() const { + return narrative_template_keys_.size(); +} +inline int GetResponseRequest_GetResponseConfig::narrative_template_keys_size() const { + return _internal_narrative_template_keys_size(); +} +inline void GetResponseRequest_GetResponseConfig::clear_narrative_template_keys() { + narrative_template_keys_.Clear(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& +GetResponseRequest_GetResponseConfig::_internal_narrative_template_keys() const { + return narrative_template_keys_.GetMap(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& +GetResponseRequest_GetResponseConfig::narrative_template_keys() const { + // @@protoc_insertion_point(field_map:service.GetResponseRequest.GetResponseConfig.narrative_template_keys) + return _internal_narrative_template_keys(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* +GetResponseRequest_GetResponseConfig::_internal_mutable_narrative_template_keys() { + return narrative_template_keys_.MutableMap(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* +GetResponseRequest_GetResponseConfig::mutable_narrative_template_keys() { + // @@protoc_insertion_point(field_mutable_map:service.GetResponseRequest.GetResponseConfig.narrative_template_keys) + return _internal_mutable_narrative_template_keys(); +} + +// .service.DynamicInfoConfig dynamic_info_config = 12; +inline bool GetResponseRequest_GetResponseConfig::_internal_has_dynamic_info_config() const { + return this != internal_default_instance() && dynamic_info_config_ != nullptr; +} +inline bool GetResponseRequest_GetResponseConfig::has_dynamic_info_config() const { + return _internal_has_dynamic_info_config(); +} +inline void GetResponseRequest_GetResponseConfig::clear_dynamic_info_config() { + if (GetArena() == nullptr && dynamic_info_config_ != nullptr) { + delete dynamic_info_config_; + } + dynamic_info_config_ = nullptr; +} +inline const ::service::DynamicInfoConfig& GetResponseRequest_GetResponseConfig::_internal_dynamic_info_config() const { + const ::service::DynamicInfoConfig* p = dynamic_info_config_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_DynamicInfoConfig_default_instance_); +} +inline const ::service::DynamicInfoConfig& GetResponseRequest_GetResponseConfig::dynamic_info_config() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.dynamic_info_config) + return _internal_dynamic_info_config(); +} +inline void GetResponseRequest_GetResponseConfig::unsafe_arena_set_allocated_dynamic_info_config( + ::service::DynamicInfoConfig* dynamic_info_config) { + if (GetArena() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(dynamic_info_config_); + } + dynamic_info_config_ = dynamic_info_config; + if (dynamic_info_config) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequest.GetResponseConfig.dynamic_info_config) +} +inline ::service::DynamicInfoConfig* GetResponseRequest_GetResponseConfig::release_dynamic_info_config() { + + ::service::DynamicInfoConfig* temp = dynamic_info_config_; + dynamic_info_config_ = nullptr; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + return temp; +} +inline ::service::DynamicInfoConfig* GetResponseRequest_GetResponseConfig::unsafe_arena_release_dynamic_info_config() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.dynamic_info_config) + + ::service::DynamicInfoConfig* temp = dynamic_info_config_; + dynamic_info_config_ = nullptr; + return temp; +} +inline ::service::DynamicInfoConfig* GetResponseRequest_GetResponseConfig::_internal_mutable_dynamic_info_config() { + + if (dynamic_info_config_ == nullptr) { + auto* p = CreateMaybeMessage<::service::DynamicInfoConfig>(GetArena()); + dynamic_info_config_ = p; + } + return dynamic_info_config_; +} +inline ::service::DynamicInfoConfig* GetResponseRequest_GetResponseConfig::mutable_dynamic_info_config() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.dynamic_info_config) + return _internal_mutable_dynamic_info_config(); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_dynamic_info_config(::service::DynamicInfoConfig* dynamic_info_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + if (message_arena == nullptr) { + delete dynamic_info_config_; + } + if (dynamic_info_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(dynamic_info_config); + if (message_arena != submessage_arena) { + dynamic_info_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, dynamic_info_config, submessage_arena); + } + + } else { + + } + dynamic_info_config_ = dynamic_info_config; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.dynamic_info_config) +} + +// .service.VisionInput vision_input = 13; +inline bool GetResponseRequest_GetResponseConfig::_internal_has_vision_input() const { + return this != internal_default_instance() && vision_input_ != nullptr; +} +inline bool GetResponseRequest_GetResponseConfig::has_vision_input() const { + return _internal_has_vision_input(); +} +inline void GetResponseRequest_GetResponseConfig::clear_vision_input() { + if (GetArena() == nullptr && vision_input_ != nullptr) { + delete vision_input_; + } + vision_input_ = nullptr; +} +inline const ::service::VisionInput& GetResponseRequest_GetResponseConfig::_internal_vision_input() const { + const ::service::VisionInput* p = vision_input_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_VisionInput_default_instance_); +} +inline const ::service::VisionInput& GetResponseRequest_GetResponseConfig::vision_input() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.vision_input) + return _internal_vision_input(); +} +inline void GetResponseRequest_GetResponseConfig::unsafe_arena_set_allocated_vision_input( + ::service::VisionInput* vision_input) { + if (GetArena() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(vision_input_); + } + vision_input_ = vision_input; + if (vision_input) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequest.GetResponseConfig.vision_input) +} +inline ::service::VisionInput* GetResponseRequest_GetResponseConfig::release_vision_input() { + + ::service::VisionInput* temp = vision_input_; + vision_input_ = nullptr; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + return temp; +} +inline ::service::VisionInput* GetResponseRequest_GetResponseConfig::unsafe_arena_release_vision_input() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.vision_input) + + ::service::VisionInput* temp = vision_input_; + vision_input_ = nullptr; + return temp; +} +inline ::service::VisionInput* GetResponseRequest_GetResponseConfig::_internal_mutable_vision_input() { + + if (vision_input_ == nullptr) { + auto* p = CreateMaybeMessage<::service::VisionInput>(GetArena()); + vision_input_ = p; + } + return vision_input_; +} +inline ::service::VisionInput* GetResponseRequest_GetResponseConfig::mutable_vision_input() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.vision_input) + return _internal_mutable_vision_input(); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_vision_input(::service::VisionInput* vision_input) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + if (message_arena == nullptr) { + delete vision_input_; + } + if (vision_input) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(vision_input); + if (message_arena != submessage_arena) { + vision_input = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, vision_input, submessage_arena); + } + + } else { + + } + vision_input_ = vision_input; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.vision_input) +} + +// ------------------------------------------------------------------- + +// GetResponseRequest_GetResponseData + +// bytes audio_data = 1; +inline bool GetResponseRequest_GetResponseData::_internal_has_audio_data() const { + return input_type_case() == kAudioData; +} +inline void GetResponseRequest_GetResponseData::set_has_audio_data() { + _oneof_case_[0] = kAudioData; +} +inline void GetResponseRequest_GetResponseData::clear_audio_data() { + if (_internal_has_audio_data()) { + input_type_.audio_data_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); + clear_has_input_type(); + } +} +inline const std::string& GetResponseRequest_GetResponseData::audio_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseData.audio_data) + return _internal_audio_data(); +} +inline void GetResponseRequest_GetResponseData::set_audio_data(const std::string& value) { + _internal_set_audio_data(value); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseData.audio_data) +} +inline std::string* GetResponseRequest_GetResponseData::mutable_audio_data() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseData.audio_data) + return _internal_mutable_audio_data(); +} +inline const std::string& GetResponseRequest_GetResponseData::_internal_audio_data() const { + if (_internal_has_audio_data()) { + return input_type_.audio_data_.Get(); + } + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); +} +inline void GetResponseRequest_GetResponseData::_internal_set_audio_data(const std::string& value) { + if (!_internal_has_audio_data()) { + clear_input_type(); + set_has_audio_data(); + input_type_.audio_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + input_type_.audio_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseRequest_GetResponseData::set_audio_data(std::string&& value) { + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseData.audio_data) + if (!_internal_has_audio_data()) { + clear_input_type(); + set_has_audio_data(); + input_type_.audio_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + input_type_.audio_data_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseRequest.GetResponseData.audio_data) +} +inline void GetResponseRequest_GetResponseData::set_audio_data(const char* value) { + GOOGLE_DCHECK(value != nullptr); + if (!_internal_has_audio_data()) { + clear_input_type(); + set_has_audio_data(); + input_type_.audio_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + input_type_.audio_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, + ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseRequest.GetResponseData.audio_data) +} +inline void GetResponseRequest_GetResponseData::set_audio_data(const void* value, + size_t size) { + if (!_internal_has_audio_data()) { + clear_input_type(); + set_has_audio_data(); + input_type_.audio_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + input_type_.audio_data_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), + GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseRequest.GetResponseData.audio_data) +} +inline std::string* GetResponseRequest_GetResponseData::_internal_mutable_audio_data() { + if (!_internal_has_audio_data()) { + clear_input_type(); + set_has_audio_data(); + input_type_.audio_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + return input_type_.audio_data_.Mutable( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseRequest_GetResponseData::release_audio_data() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseData.audio_data) + if (_internal_has_audio_data()) { + clear_has_input_type(); + return input_type_.audio_data_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + } else { + return nullptr; + } +} +inline void GetResponseRequest_GetResponseData::set_allocated_audio_data(std::string* audio_data) { + if (has_input_type()) { + clear_input_type(); + } + if (audio_data != nullptr) { + set_has_audio_data(); + input_type_.audio_data_.UnsafeSetDefault(audio_data); + ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); + if (arena != nullptr) { + arena->Own(audio_data); + } + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseData.audio_data) +} + +// string text_data = 2; +inline bool GetResponseRequest_GetResponseData::_internal_has_text_data() const { + return input_type_case() == kTextData; +} +inline void GetResponseRequest_GetResponseData::set_has_text_data() { + _oneof_case_[0] = kTextData; +} +inline void GetResponseRequest_GetResponseData::clear_text_data() { + if (_internal_has_text_data()) { + input_type_.text_data_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); + clear_has_input_type(); + } +} +inline const std::string& GetResponseRequest_GetResponseData::text_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseData.text_data) + return _internal_text_data(); +} +inline void GetResponseRequest_GetResponseData::set_text_data(const std::string& value) { + _internal_set_text_data(value); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseData.text_data) +} +inline std::string* GetResponseRequest_GetResponseData::mutable_text_data() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseData.text_data) + return _internal_mutable_text_data(); +} +inline const std::string& GetResponseRequest_GetResponseData::_internal_text_data() const { + if (_internal_has_text_data()) { + return input_type_.text_data_.Get(); + } + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); +} +inline void GetResponseRequest_GetResponseData::_internal_set_text_data(const std::string& value) { + if (!_internal_has_text_data()) { + clear_input_type(); + set_has_text_data(); + input_type_.text_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + input_type_.text_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseRequest_GetResponseData::set_text_data(std::string&& value) { + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseData.text_data) + if (!_internal_has_text_data()) { + clear_input_type(); + set_has_text_data(); + input_type_.text_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + input_type_.text_data_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseRequest.GetResponseData.text_data) +} +inline void GetResponseRequest_GetResponseData::set_text_data(const char* value) { + GOOGLE_DCHECK(value != nullptr); + if (!_internal_has_text_data()) { + clear_input_type(); + set_has_text_data(); + input_type_.text_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + input_type_.text_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, + ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseRequest.GetResponseData.text_data) +} +inline void GetResponseRequest_GetResponseData::set_text_data(const char* value, + size_t size) { + if (!_internal_has_text_data()) { + clear_input_type(); + set_has_text_data(); + input_type_.text_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + input_type_.text_data_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), + GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseRequest.GetResponseData.text_data) +} +inline std::string* GetResponseRequest_GetResponseData::_internal_mutable_text_data() { + if (!_internal_has_text_data()) { + clear_input_type(); + set_has_text_data(); + input_type_.text_data_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + return input_type_.text_data_.Mutable( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseRequest_GetResponseData::release_text_data() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseData.text_data) + if (_internal_has_text_data()) { + clear_has_input_type(); + return input_type_.text_data_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + } else { + return nullptr; + } +} +inline void GetResponseRequest_GetResponseData::set_allocated_text_data(std::string* text_data) { + if (has_input_type()) { + clear_input_type(); + } + if (text_data != nullptr) { + set_has_text_data(); + input_type_.text_data_.UnsafeSetDefault(text_data); + ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); + if (arena != nullptr) { + arena->Own(text_data); + } + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseData.text_data) +} + +// .service.TriggerConfig trigger_data = 3; +inline bool GetResponseRequest_GetResponseData::_internal_has_trigger_data() const { + return input_type_case() == kTriggerData; +} +inline bool GetResponseRequest_GetResponseData::has_trigger_data() const { + return _internal_has_trigger_data(); +} +inline void GetResponseRequest_GetResponseData::set_has_trigger_data() { + _oneof_case_[0] = kTriggerData; +} +inline void GetResponseRequest_GetResponseData::clear_trigger_data() { + if (_internal_has_trigger_data()) { + if (GetArena() == nullptr) { + delete input_type_.trigger_data_; + } + clear_has_input_type(); + } +} +inline ::service::TriggerConfig* GetResponseRequest_GetResponseData::release_trigger_data() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseData.trigger_data) + if (_internal_has_trigger_data()) { + clear_has_input_type(); + ::service::TriggerConfig* temp = input_type_.trigger_data_; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + input_type_.trigger_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::TriggerConfig& GetResponseRequest_GetResponseData::_internal_trigger_data() const { + return _internal_has_trigger_data() + ? *input_type_.trigger_data_ + : reinterpret_cast< ::service::TriggerConfig&>(::service::_TriggerConfig_default_instance_); +} +inline const ::service::TriggerConfig& GetResponseRequest_GetResponseData::trigger_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseData.trigger_data) + return _internal_trigger_data(); +} +inline ::service::TriggerConfig* GetResponseRequest_GetResponseData::unsafe_arena_release_trigger_data() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseRequest.GetResponseData.trigger_data) + if (_internal_has_trigger_data()) { + clear_has_input_type(); + ::service::TriggerConfig* temp = input_type_.trigger_data_; + input_type_.trigger_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseRequest_GetResponseData::unsafe_arena_set_allocated_trigger_data(::service::TriggerConfig* trigger_data) { + clear_input_type(); + if (trigger_data) { + set_has_trigger_data(); + input_type_.trigger_data_ = trigger_data; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequest.GetResponseData.trigger_data) +} +inline ::service::TriggerConfig* GetResponseRequest_GetResponseData::_internal_mutable_trigger_data() { + if (!_internal_has_trigger_data()) { + clear_input_type(); + set_has_trigger_data(); + input_type_.trigger_data_ = CreateMaybeMessage< ::service::TriggerConfig >(GetArena()); + } + return input_type_.trigger_data_; +} +inline ::service::TriggerConfig* GetResponseRequest_GetResponseData::mutable_trigger_data() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseData.trigger_data) + return _internal_mutable_trigger_data(); +} + +inline bool GetResponseRequest_GetResponseData::has_input_type() const { + return input_type_case() != INPUT_TYPE_NOT_SET; +} +inline void GetResponseRequest_GetResponseData::clear_has_input_type() { + _oneof_case_[0] = INPUT_TYPE_NOT_SET; +} +inline GetResponseRequest_GetResponseData::InputTypeCase GetResponseRequest_GetResponseData::input_type_case() const { + return GetResponseRequest_GetResponseData::InputTypeCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// GetResponseRequest + +// .service.GetResponseRequest.GetResponseConfig get_response_config = 1; +inline bool GetResponseRequest::_internal_has_get_response_config() const { + return request_type_case() == kGetResponseConfig; +} +inline bool GetResponseRequest::has_get_response_config() const { + return _internal_has_get_response_config(); +} +inline void GetResponseRequest::set_has_get_response_config() { + _oneof_case_[0] = kGetResponseConfig; +} +inline void GetResponseRequest::clear_get_response_config() { + if (_internal_has_get_response_config()) { + if (GetArena() == nullptr) { + delete request_type_.get_response_config_; + } + clear_has_request_type(); + } +} +inline ::service::GetResponseRequest_GetResponseConfig* GetResponseRequest::release_get_response_config() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.get_response_config) + if (_internal_has_get_response_config()) { + clear_has_request_type(); + ::service::GetResponseRequest_GetResponseConfig* temp = request_type_.get_response_config_; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + request_type_.get_response_config_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::GetResponseRequest_GetResponseConfig& GetResponseRequest::_internal_get_response_config() const { + return _internal_has_get_response_config() + ? *request_type_.get_response_config_ + : reinterpret_cast< ::service::GetResponseRequest_GetResponseConfig&>(::service::_GetResponseRequest_GetResponseConfig_default_instance_); +} +inline const ::service::GetResponseRequest_GetResponseConfig& GetResponseRequest::get_response_config() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.get_response_config) + return _internal_get_response_config(); +} +inline ::service::GetResponseRequest_GetResponseConfig* GetResponseRequest::unsafe_arena_release_get_response_config() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseRequest.get_response_config) + if (_internal_has_get_response_config()) { + clear_has_request_type(); + ::service::GetResponseRequest_GetResponseConfig* temp = request_type_.get_response_config_; + request_type_.get_response_config_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseRequest::unsafe_arena_set_allocated_get_response_config(::service::GetResponseRequest_GetResponseConfig* get_response_config) { + clear_request_type(); + if (get_response_config) { + set_has_get_response_config(); + request_type_.get_response_config_ = get_response_config; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequest.get_response_config) +} +inline ::service::GetResponseRequest_GetResponseConfig* GetResponseRequest::_internal_mutable_get_response_config() { + if (!_internal_has_get_response_config()) { + clear_request_type(); + set_has_get_response_config(); + request_type_.get_response_config_ = CreateMaybeMessage< ::service::GetResponseRequest_GetResponseConfig >(GetArena()); + } + return request_type_.get_response_config_; +} +inline ::service::GetResponseRequest_GetResponseConfig* GetResponseRequest::mutable_get_response_config() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.get_response_config) + return _internal_mutable_get_response_config(); +} + +// .service.GetResponseRequest.GetResponseData get_response_data = 2; +inline bool GetResponseRequest::_internal_has_get_response_data() const { + return request_type_case() == kGetResponseData; +} +inline bool GetResponseRequest::has_get_response_data() const { + return _internal_has_get_response_data(); +} +inline void GetResponseRequest::set_has_get_response_data() { + _oneof_case_[0] = kGetResponseData; +} +inline void GetResponseRequest::clear_get_response_data() { + if (_internal_has_get_response_data()) { + if (GetArena() == nullptr) { + delete request_type_.get_response_data_; + } + clear_has_request_type(); + } +} +inline ::service::GetResponseRequest_GetResponseData* GetResponseRequest::release_get_response_data() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.get_response_data) + if (_internal_has_get_response_data()) { + clear_has_request_type(); + ::service::GetResponseRequest_GetResponseData* temp = request_type_.get_response_data_; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + request_type_.get_response_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::GetResponseRequest_GetResponseData& GetResponseRequest::_internal_get_response_data() const { + return _internal_has_get_response_data() + ? *request_type_.get_response_data_ + : reinterpret_cast< ::service::GetResponseRequest_GetResponseData&>(::service::_GetResponseRequest_GetResponseData_default_instance_); +} +inline const ::service::GetResponseRequest_GetResponseData& GetResponseRequest::get_response_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.get_response_data) + return _internal_get_response_data(); +} +inline ::service::GetResponseRequest_GetResponseData* GetResponseRequest::unsafe_arena_release_get_response_data() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseRequest.get_response_data) + if (_internal_has_get_response_data()) { + clear_has_request_type(); + ::service::GetResponseRequest_GetResponseData* temp = request_type_.get_response_data_; + request_type_.get_response_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseRequest::unsafe_arena_set_allocated_get_response_data(::service::GetResponseRequest_GetResponseData* get_response_data) { + clear_request_type(); + if (get_response_data) { + set_has_get_response_data(); + request_type_.get_response_data_ = get_response_data; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequest.get_response_data) +} +inline ::service::GetResponseRequest_GetResponseData* GetResponseRequest::_internal_mutable_get_response_data() { + if (!_internal_has_get_response_data()) { + clear_request_type(); + set_has_get_response_data(); + request_type_.get_response_data_ = CreateMaybeMessage< ::service::GetResponseRequest_GetResponseData >(GetArena()); + } + return request_type_.get_response_data_; +} +inline ::service::GetResponseRequest_GetResponseData* GetResponseRequest::mutable_get_response_data() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.get_response_data) + return _internal_mutable_get_response_data(); +} + +inline bool GetResponseRequest::has_request_type() const { + return request_type_case() != REQUEST_TYPE_NOT_SET; +} +inline void GetResponseRequest::clear_has_request_type() { + _oneof_case_[0] = REQUEST_TYPE_NOT_SET; +} +inline GetResponseRequest::RequestTypeCase GetResponseRequest::request_type_case() const { + return GetResponseRequest::RequestTypeCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// GetResponseRequestSingle + +// .service.GetResponseRequest response_config = 1; +inline bool GetResponseRequestSingle::_internal_has_response_config() const { + return this != internal_default_instance() && response_config_ != nullptr; +} +inline bool GetResponseRequestSingle::has_response_config() const { + return _internal_has_response_config(); +} +inline void GetResponseRequestSingle::clear_response_config() { + if (GetArena() == nullptr && response_config_ != nullptr) { + delete response_config_; + } + response_config_ = nullptr; +} +inline const ::service::GetResponseRequest& GetResponseRequestSingle::_internal_response_config() const { + const ::service::GetResponseRequest* p = response_config_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_GetResponseRequest_default_instance_); +} +inline const ::service::GetResponseRequest& GetResponseRequestSingle::response_config() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequestSingle.response_config) + return _internal_response_config(); +} +inline void GetResponseRequestSingle::unsafe_arena_set_allocated_response_config( + ::service::GetResponseRequest* response_config) { + if (GetArena() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(response_config_); + } + response_config_ = response_config; + if (response_config) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequestSingle.response_config) +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::release_response_config() { + + ::service::GetResponseRequest* temp = response_config_; + response_config_ = nullptr; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + return temp; +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::unsafe_arena_release_response_config() { + // @@protoc_insertion_point(field_release:service.GetResponseRequestSingle.response_config) + + ::service::GetResponseRequest* temp = response_config_; + response_config_ = nullptr; + return temp; +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::_internal_mutable_response_config() { + + if (response_config_ == nullptr) { + auto* p = CreateMaybeMessage<::service::GetResponseRequest>(GetArena()); + response_config_ = p; + } + return response_config_; +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::mutable_response_config() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequestSingle.response_config) + return _internal_mutable_response_config(); +} +inline void GetResponseRequestSingle::set_allocated_response_config(::service::GetResponseRequest* response_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + if (message_arena == nullptr) { + delete response_config_; + } + if (response_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(response_config); + if (message_arena != submessage_arena) { + response_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, response_config, submessage_arena); + } + + } else { + + } + response_config_ = response_config; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequestSingle.response_config) +} + +// .service.GetResponseRequest response_data = 2; +inline bool GetResponseRequestSingle::_internal_has_response_data() const { + return this != internal_default_instance() && response_data_ != nullptr; +} +inline bool GetResponseRequestSingle::has_response_data() const { + return _internal_has_response_data(); +} +inline void GetResponseRequestSingle::clear_response_data() { + if (GetArena() == nullptr && response_data_ != nullptr) { + delete response_data_; + } + response_data_ = nullptr; +} +inline const ::service::GetResponseRequest& GetResponseRequestSingle::_internal_response_data() const { + const ::service::GetResponseRequest* p = response_data_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_GetResponseRequest_default_instance_); +} +inline const ::service::GetResponseRequest& GetResponseRequestSingle::response_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequestSingle.response_data) + return _internal_response_data(); +} +inline void GetResponseRequestSingle::unsafe_arena_set_allocated_response_data( + ::service::GetResponseRequest* response_data) { + if (GetArena() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(response_data_); + } + response_data_ = response_data; + if (response_data) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequestSingle.response_data) +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::release_response_data() { + + ::service::GetResponseRequest* temp = response_data_; + response_data_ = nullptr; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + return temp; +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::unsafe_arena_release_response_data() { + // @@protoc_insertion_point(field_release:service.GetResponseRequestSingle.response_data) + + ::service::GetResponseRequest* temp = response_data_; + response_data_ = nullptr; + return temp; +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::_internal_mutable_response_data() { + + if (response_data_ == nullptr) { + auto* p = CreateMaybeMessage<::service::GetResponseRequest>(GetArena()); + response_data_ = p; + } + return response_data_; +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::mutable_response_data() { + // @@protoc_insertion_point(field_mutable:service.GetResponseRequestSingle.response_data) + return _internal_mutable_response_data(); +} +inline void GetResponseRequestSingle::set_allocated_response_data(::service::GetResponseRequest* response_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + if (message_arena == nullptr) { + delete response_data_; + } + if (response_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(response_data); + if (message_arena != submessage_arena) { + response_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, response_data, submessage_arena); + } + + } else { + + } + response_data_ = response_data; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequestSingle.response_data) +} + +// ------------------------------------------------------------------- + +// GetResponseResponse_AudioResponse + +// bytes audio_data = 1; +inline void GetResponseResponse_AudioResponse::clear_audio_data() { + audio_data_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_AudioResponse::audio_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.audio_data) + return _internal_audio_data(); +} +inline void GetResponseResponse_AudioResponse::set_audio_data(const std::string& value) { + _internal_set_audio_data(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.AudioResponse.audio_data) +} +inline std::string* GetResponseResponse_AudioResponse::mutable_audio_data() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.audio_data) + return _internal_mutable_audio_data(); +} +inline const std::string& GetResponseResponse_AudioResponse::_internal_audio_data() const { + return audio_data_.Get(); +} +inline void GetResponseResponse_AudioResponse::_internal_set_audio_data(const std::string& value) { + + audio_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseResponse_AudioResponse::set_audio_data(std::string&& value) { + + audio_data_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseResponse.AudioResponse.audio_data) +} +inline void GetResponseResponse_AudioResponse::set_audio_data(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + audio_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseResponse.AudioResponse.audio_data) +} +inline void GetResponseResponse_AudioResponse::set_audio_data(const void* value, + size_t size) { + + audio_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseResponse.AudioResponse.audio_data) +} +inline std::string* GetResponseResponse_AudioResponse::_internal_mutable_audio_data() { + + return audio_data_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseResponse_AudioResponse::release_audio_data() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.audio_data) + return audio_data_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseResponse_AudioResponse::set_allocated_audio_data(std::string* audio_data) { + if (audio_data != nullptr) { + + } else { + + } + audio_data_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), audio_data, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.audio_data) +} + +// .service.AudioConfig audio_config = 2; +inline bool GetResponseResponse_AudioResponse::_internal_has_audio_config() const { + return this != internal_default_instance() && audio_config_ != nullptr; +} +inline bool GetResponseResponse_AudioResponse::has_audio_config() const { + return _internal_has_audio_config(); +} +inline void GetResponseResponse_AudioResponse::clear_audio_config() { + if (GetArena() == nullptr && audio_config_ != nullptr) { + delete audio_config_; + } + audio_config_ = nullptr; +} +inline const ::service::AudioConfig& GetResponseResponse_AudioResponse::_internal_audio_config() const { + const ::service::AudioConfig* p = audio_config_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_AudioConfig_default_instance_); +} +inline const ::service::AudioConfig& GetResponseResponse_AudioResponse::audio_config() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.audio_config) + return _internal_audio_config(); +} +inline void GetResponseResponse_AudioResponse::unsafe_arena_set_allocated_audio_config( + ::service::AudioConfig* audio_config) { + if (GetArena() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(audio_config_); + } + audio_config_ = audio_config; + if (audio_config) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.AudioResponse.audio_config) +} +inline ::service::AudioConfig* GetResponseResponse_AudioResponse::release_audio_config() { + + ::service::AudioConfig* temp = audio_config_; + audio_config_ = nullptr; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + return temp; +} +inline ::service::AudioConfig* GetResponseResponse_AudioResponse::unsafe_arena_release_audio_config() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.audio_config) + + ::service::AudioConfig* temp = audio_config_; + audio_config_ = nullptr; + return temp; +} +inline ::service::AudioConfig* GetResponseResponse_AudioResponse::_internal_mutable_audio_config() { + + if (audio_config_ == nullptr) { + auto* p = CreateMaybeMessage<::service::AudioConfig>(GetArena()); + audio_config_ = p; + } + return audio_config_; +} +inline ::service::AudioConfig* GetResponseResponse_AudioResponse::mutable_audio_config() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.audio_config) + return _internal_mutable_audio_config(); +} +inline void GetResponseResponse_AudioResponse::set_allocated_audio_config(::service::AudioConfig* audio_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + if (message_arena == nullptr) { + delete audio_config_; + } + if (audio_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(audio_config); + if (message_arena != submessage_arena) { + audio_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, audio_config, submessage_arena); + } + + } else { + + } + audio_config_ = audio_config; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.audio_config) +} + +// string text_data = 3; +inline void GetResponseResponse_AudioResponse::clear_text_data() { + text_data_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_AudioResponse::text_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.text_data) + return _internal_text_data(); +} +inline void GetResponseResponse_AudioResponse::set_text_data(const std::string& value) { + _internal_set_text_data(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.AudioResponse.text_data) +} +inline std::string* GetResponseResponse_AudioResponse::mutable_text_data() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.text_data) + return _internal_mutable_text_data(); +} +inline const std::string& GetResponseResponse_AudioResponse::_internal_text_data() const { + return text_data_.Get(); +} +inline void GetResponseResponse_AudioResponse::_internal_set_text_data(const std::string& value) { + + text_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseResponse_AudioResponse::set_text_data(std::string&& value) { + + text_data_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseResponse.AudioResponse.text_data) +} +inline void GetResponseResponse_AudioResponse::set_text_data(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + text_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseResponse.AudioResponse.text_data) +} +inline void GetResponseResponse_AudioResponse::set_text_data(const char* value, + size_t size) { + + text_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseResponse.AudioResponse.text_data) +} +inline std::string* GetResponseResponse_AudioResponse::_internal_mutable_text_data() { + + return text_data_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseResponse_AudioResponse::release_text_data() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.text_data) + return text_data_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseResponse_AudioResponse::set_allocated_text_data(std::string* text_data) { + if (text_data != nullptr) { + + } else { + + } + text_data_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), text_data, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.text_data) +} + +// bool end_of_response = 4; +inline void GetResponseResponse_AudioResponse::clear_end_of_response() { + end_of_response_ = false; +} +inline bool GetResponseResponse_AudioResponse::_internal_end_of_response() const { + return end_of_response_; +} +inline bool GetResponseResponse_AudioResponse::end_of_response() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.end_of_response) + return _internal_end_of_response(); +} +inline void GetResponseResponse_AudioResponse::_internal_set_end_of_response(bool value) { + + end_of_response_ = value; +} +inline void GetResponseResponse_AudioResponse::set_end_of_response(bool value) { + _internal_set_end_of_response(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.AudioResponse.end_of_response) +} + +// string face_data = 5; +inline void GetResponseResponse_AudioResponse::clear_face_data() { + face_data_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_AudioResponse::face_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.face_data) + return _internal_face_data(); +} +inline void GetResponseResponse_AudioResponse::set_face_data(const std::string& value) { + _internal_set_face_data(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.AudioResponse.face_data) +} +inline std::string* GetResponseResponse_AudioResponse::mutable_face_data() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.face_data) + return _internal_mutable_face_data(); +} +inline const std::string& GetResponseResponse_AudioResponse::_internal_face_data() const { + return face_data_.Get(); +} +inline void GetResponseResponse_AudioResponse::_internal_set_face_data(const std::string& value) { + + face_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseResponse_AudioResponse::set_face_data(std::string&& value) { + + face_data_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseResponse.AudioResponse.face_data) +} +inline void GetResponseResponse_AudioResponse::set_face_data(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + face_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseResponse.AudioResponse.face_data) +} +inline void GetResponseResponse_AudioResponse::set_face_data(const char* value, + size_t size) { + + face_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseResponse.AudioResponse.face_data) +} +inline std::string* GetResponseResponse_AudioResponse::_internal_mutable_face_data() { + + return face_data_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseResponse_AudioResponse::release_face_data() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.face_data) + return face_data_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseResponse_AudioResponse::set_allocated_face_data(std::string* face_data) { + if (face_data != nullptr) { + + } else { + + } + face_data_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), face_data, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.face_data) +} + +// .service.VisemesData visemes_data = 6; +inline bool GetResponseResponse_AudioResponse::_internal_has_visemes_data() const { + return face_data_type_case() == kVisemesData; +} +inline bool GetResponseResponse_AudioResponse::has_visemes_data() const { + return _internal_has_visemes_data(); +} +inline void GetResponseResponse_AudioResponse::set_has_visemes_data() { + _oneof_case_[0] = kVisemesData; +} +inline void GetResponseResponse_AudioResponse::clear_visemes_data() { + if (_internal_has_visemes_data()) { + if (GetArena() == nullptr) { + delete face_data_type_.visemes_data_; + } + clear_has_face_data_type(); + } +} +inline ::service::VisemesData* GetResponseResponse_AudioResponse::release_visemes_data() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.visemes_data) + if (_internal_has_visemes_data()) { + clear_has_face_data_type(); + ::service::VisemesData* temp = face_data_type_.visemes_data_; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + face_data_type_.visemes_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::VisemesData& GetResponseResponse_AudioResponse::_internal_visemes_data() const { + return _internal_has_visemes_data() + ? *face_data_type_.visemes_data_ + : reinterpret_cast< ::service::VisemesData&>(::service::_VisemesData_default_instance_); +} +inline const ::service::VisemesData& GetResponseResponse_AudioResponse::visemes_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.visemes_data) + return _internal_visemes_data(); +} +inline ::service::VisemesData* GetResponseResponse_AudioResponse::unsafe_arena_release_visemes_data() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseResponse.AudioResponse.visemes_data) + if (_internal_has_visemes_data()) { + clear_has_face_data_type(); + ::service::VisemesData* temp = face_data_type_.visemes_data_; + face_data_type_.visemes_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseResponse_AudioResponse::unsafe_arena_set_allocated_visemes_data(::service::VisemesData* visemes_data) { + clear_face_data_type(); + if (visemes_data) { + set_has_visemes_data(); + face_data_type_.visemes_data_ = visemes_data; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.AudioResponse.visemes_data) +} +inline ::service::VisemesData* GetResponseResponse_AudioResponse::_internal_mutable_visemes_data() { + if (!_internal_has_visemes_data()) { + clear_face_data_type(); + set_has_visemes_data(); + face_data_type_.visemes_data_ = CreateMaybeMessage< ::service::VisemesData >(GetArena()); + } + return face_data_type_.visemes_data_; +} +inline ::service::VisemesData* GetResponseResponse_AudioResponse::mutable_visemes_data() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.visemes_data) + return _internal_mutable_visemes_data(); +} + +// .service.BlendShapesData blendshapes_data = 7; +inline bool GetResponseResponse_AudioResponse::_internal_has_blendshapes_data() const { + return face_data_type_case() == kBlendshapesData; +} +inline bool GetResponseResponse_AudioResponse::has_blendshapes_data() const { + return _internal_has_blendshapes_data(); +} +inline void GetResponseResponse_AudioResponse::set_has_blendshapes_data() { + _oneof_case_[0] = kBlendshapesData; +} +inline void GetResponseResponse_AudioResponse::clear_blendshapes_data() { + if (_internal_has_blendshapes_data()) { + if (GetArena() == nullptr) { + delete face_data_type_.blendshapes_data_; + } + clear_has_face_data_type(); + } +} +inline ::service::BlendShapesData* GetResponseResponse_AudioResponse::release_blendshapes_data() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.blendshapes_data) + if (_internal_has_blendshapes_data()) { + clear_has_face_data_type(); + ::service::BlendShapesData* temp = face_data_type_.blendshapes_data_; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + face_data_type_.blendshapes_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::BlendShapesData& GetResponseResponse_AudioResponse::_internal_blendshapes_data() const { + return _internal_has_blendshapes_data() + ? *face_data_type_.blendshapes_data_ + : reinterpret_cast< ::service::BlendShapesData&>(::service::_BlendShapesData_default_instance_); +} +inline const ::service::BlendShapesData& GetResponseResponse_AudioResponse::blendshapes_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.blendshapes_data) + return _internal_blendshapes_data(); +} +inline ::service::BlendShapesData* GetResponseResponse_AudioResponse::unsafe_arena_release_blendshapes_data() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseResponse.AudioResponse.blendshapes_data) + if (_internal_has_blendshapes_data()) { + clear_has_face_data_type(); + ::service::BlendShapesData* temp = face_data_type_.blendshapes_data_; + face_data_type_.blendshapes_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseResponse_AudioResponse::unsafe_arena_set_allocated_blendshapes_data(::service::BlendShapesData* blendshapes_data) { + clear_face_data_type(); + if (blendshapes_data) { + set_has_blendshapes_data(); + face_data_type_.blendshapes_data_ = blendshapes_data; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.AudioResponse.blendshapes_data) +} +inline ::service::BlendShapesData* GetResponseResponse_AudioResponse::_internal_mutable_blendshapes_data() { + if (!_internal_has_blendshapes_data()) { + clear_face_data_type(); + set_has_blendshapes_data(); + face_data_type_.blendshapes_data_ = CreateMaybeMessage< ::service::BlendShapesData >(GetArena()); + } + return face_data_type_.blendshapes_data_; +} +inline ::service::BlendShapesData* GetResponseResponse_AudioResponse::mutable_blendshapes_data() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.blendshapes_data) + return _internal_mutable_blendshapes_data(); +} + +// .service.ARKitBlendShapesData face_emotion = 8; +inline bool GetResponseResponse_AudioResponse::_internal_has_face_emotion() const { + return this != internal_default_instance() && face_emotion_ != nullptr; +} +inline bool GetResponseResponse_AudioResponse::has_face_emotion() const { + return _internal_has_face_emotion(); +} +inline const ::service::ARKitBlendShapesData& GetResponseResponse_AudioResponse::_internal_face_emotion() const { + const ::service::ARKitBlendShapesData* p = face_emotion_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_ARKitBlendShapesData_default_instance_); +} +inline const ::service::ARKitBlendShapesData& GetResponseResponse_AudioResponse::face_emotion() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.face_emotion) + return _internal_face_emotion(); +} +inline void GetResponseResponse_AudioResponse::unsafe_arena_set_allocated_face_emotion( + ::service::ARKitBlendShapesData* face_emotion) { + if (GetArena() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(face_emotion_); + } + face_emotion_ = face_emotion; + if (face_emotion) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.AudioResponse.face_emotion) +} +inline ::service::ARKitBlendShapesData* GetResponseResponse_AudioResponse::release_face_emotion() { + + ::service::ARKitBlendShapesData* temp = face_emotion_; + face_emotion_ = nullptr; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + return temp; +} +inline ::service::ARKitBlendShapesData* GetResponseResponse_AudioResponse::unsafe_arena_release_face_emotion() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.face_emotion) + + ::service::ARKitBlendShapesData* temp = face_emotion_; + face_emotion_ = nullptr; + return temp; +} +inline ::service::ARKitBlendShapesData* GetResponseResponse_AudioResponse::_internal_mutable_face_emotion() { + + if (face_emotion_ == nullptr) { + auto* p = CreateMaybeMessage<::service::ARKitBlendShapesData>(GetArena()); + face_emotion_ = p; + } + return face_emotion_; +} +inline ::service::ARKitBlendShapesData* GetResponseResponse_AudioResponse::mutable_face_emotion() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.face_emotion) + return _internal_mutable_face_emotion(); +} +inline void GetResponseResponse_AudioResponse::set_allocated_face_emotion(::service::ARKitBlendShapesData* face_emotion) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(face_emotion_); + } + if (face_emotion) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(face_emotion)->GetArena(); + if (message_arena != submessage_arena) { + face_emotion = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, face_emotion, submessage_arena); + } + + } else { + + } + face_emotion_ = face_emotion; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.face_emotion) +} + +// .service.EmotionResponse emotion_response = 9; +inline bool GetResponseResponse_AudioResponse::_internal_has_emotion_response() const { + return this != internal_default_instance() && emotion_response_ != nullptr; +} +inline bool GetResponseResponse_AudioResponse::has_emotion_response() const { + return _internal_has_emotion_response(); +} +inline void GetResponseResponse_AudioResponse::clear_emotion_response() { + if (GetArena() == nullptr && emotion_response_ != nullptr) { + delete emotion_response_; + } + emotion_response_ = nullptr; +} +inline const ::service::EmotionResponse& GetResponseResponse_AudioResponse::_internal_emotion_response() const { + const ::service::EmotionResponse* p = emotion_response_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_EmotionResponse_default_instance_); +} +inline const ::service::EmotionResponse& GetResponseResponse_AudioResponse::emotion_response() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.emotion_response) + return _internal_emotion_response(); +} +inline void GetResponseResponse_AudioResponse::unsafe_arena_set_allocated_emotion_response( + ::service::EmotionResponse* emotion_response) { + if (GetArena() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(emotion_response_); + } + emotion_response_ = emotion_response; + if (emotion_response) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.AudioResponse.emotion_response) +} +inline ::service::EmotionResponse* GetResponseResponse_AudioResponse::release_emotion_response() { + + ::service::EmotionResponse* temp = emotion_response_; + emotion_response_ = nullptr; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + return temp; +} +inline ::service::EmotionResponse* GetResponseResponse_AudioResponse::unsafe_arena_release_emotion_response() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.emotion_response) + + ::service::EmotionResponse* temp = emotion_response_; + emotion_response_ = nullptr; + return temp; +} +inline ::service::EmotionResponse* GetResponseResponse_AudioResponse::_internal_mutable_emotion_response() { + + if (emotion_response_ == nullptr) { + auto* p = CreateMaybeMessage<::service::EmotionResponse>(GetArena()); + emotion_response_ = p; + } + return emotion_response_; +} +inline ::service::EmotionResponse* GetResponseResponse_AudioResponse::mutable_emotion_response() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.emotion_response) + return _internal_mutable_emotion_response(); +} +inline void GetResponseResponse_AudioResponse::set_allocated_emotion_response(::service::EmotionResponse* emotion_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + if (message_arena == nullptr) { + delete emotion_response_; + } + if (emotion_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(emotion_response); + if (message_arena != submessage_arena) { + emotion_response = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, emotion_response, submessage_arena); + } + + } else { + + } + emotion_response_ = emotion_response; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.emotion_response) +} + +inline bool GetResponseResponse_AudioResponse::has_face_data_type() const { + return face_data_type_case() != FACE_DATA_TYPE_NOT_SET; +} +inline void GetResponseResponse_AudioResponse::clear_has_face_data_type() { + _oneof_case_[0] = FACE_DATA_TYPE_NOT_SET; +} +inline GetResponseResponse_AudioResponse::FaceDataTypeCase GetResponseResponse_AudioResponse::face_data_type_case() const { + return GetResponseResponse_AudioResponse::FaceDataTypeCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// GetResponseResponse_ActionResponse + +// string action = 1; +inline void GetResponseResponse_ActionResponse::clear_action() { + action_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_ActionResponse::action() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.ActionResponse.action) + return _internal_action(); +} +inline void GetResponseResponse_ActionResponse::set_action(const std::string& value) { + _internal_set_action(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.ActionResponse.action) +} +inline std::string* GetResponseResponse_ActionResponse::mutable_action() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.ActionResponse.action) + return _internal_mutable_action(); +} +inline const std::string& GetResponseResponse_ActionResponse::_internal_action() const { + return action_.Get(); +} +inline void GetResponseResponse_ActionResponse::_internal_set_action(const std::string& value) { + + action_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseResponse_ActionResponse::set_action(std::string&& value) { + + action_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseResponse.ActionResponse.action) +} +inline void GetResponseResponse_ActionResponse::set_action(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + action_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseResponse.ActionResponse.action) +} +inline void GetResponseResponse_ActionResponse::set_action(const char* value, + size_t size) { + + action_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseResponse.ActionResponse.action) +} +inline std::string* GetResponseResponse_ActionResponse::_internal_mutable_action() { + + return action_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseResponse_ActionResponse::release_action() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.ActionResponse.action) + return action_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseResponse_ActionResponse::set_allocated_action(std::string* action) { + if (action != nullptr) { + + } else { + + } + action_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), action, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.ActionResponse.action) +} + +// ------------------------------------------------------------------- + +// GetResponseResponse_BehaviorTreeResponse + +// string bt_code = 1; +inline void GetResponseResponse_BehaviorTreeResponse::clear_bt_code() { + bt_code_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_BehaviorTreeResponse::bt_code() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.BehaviorTreeResponse.bt_code) + return _internal_bt_code(); +} +inline void GetResponseResponse_BehaviorTreeResponse::set_bt_code(const std::string& value) { + _internal_set_bt_code(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.BehaviorTreeResponse.bt_code) +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::mutable_bt_code() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.BehaviorTreeResponse.bt_code) + return _internal_mutable_bt_code(); +} +inline const std::string& GetResponseResponse_BehaviorTreeResponse::_internal_bt_code() const { + return bt_code_.Get(); +} +inline void GetResponseResponse_BehaviorTreeResponse::_internal_set_bt_code(const std::string& value) { + + bt_code_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseResponse_BehaviorTreeResponse::set_bt_code(std::string&& value) { + + bt_code_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseResponse.BehaviorTreeResponse.bt_code) +} +inline void GetResponseResponse_BehaviorTreeResponse::set_bt_code(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + bt_code_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseResponse.BehaviorTreeResponse.bt_code) +} +inline void GetResponseResponse_BehaviorTreeResponse::set_bt_code(const char* value, + size_t size) { + + bt_code_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseResponse.BehaviorTreeResponse.bt_code) +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::_internal_mutable_bt_code() { + + return bt_code_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::release_bt_code() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.BehaviorTreeResponse.bt_code) + return bt_code_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseResponse_BehaviorTreeResponse::set_allocated_bt_code(std::string* bt_code) { + if (bt_code != nullptr) { + + } else { + + } + bt_code_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), bt_code, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.BehaviorTreeResponse.bt_code) +} + +// string bt_constants = 2; +inline void GetResponseResponse_BehaviorTreeResponse::clear_bt_constants() { + bt_constants_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_BehaviorTreeResponse::bt_constants() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.BehaviorTreeResponse.bt_constants) + return _internal_bt_constants(); +} +inline void GetResponseResponse_BehaviorTreeResponse::set_bt_constants(const std::string& value) { + _internal_set_bt_constants(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.BehaviorTreeResponse.bt_constants) +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::mutable_bt_constants() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.BehaviorTreeResponse.bt_constants) + return _internal_mutable_bt_constants(); +} +inline const std::string& GetResponseResponse_BehaviorTreeResponse::_internal_bt_constants() const { + return bt_constants_.Get(); +} +inline void GetResponseResponse_BehaviorTreeResponse::_internal_set_bt_constants(const std::string& value) { + + bt_constants_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseResponse_BehaviorTreeResponse::set_bt_constants(std::string&& value) { + + bt_constants_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseResponse.BehaviorTreeResponse.bt_constants) +} +inline void GetResponseResponse_BehaviorTreeResponse::set_bt_constants(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + bt_constants_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseResponse.BehaviorTreeResponse.bt_constants) +} +inline void GetResponseResponse_BehaviorTreeResponse::set_bt_constants(const char* value, + size_t size) { + + bt_constants_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseResponse.BehaviorTreeResponse.bt_constants) +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::_internal_mutable_bt_constants() { + + return bt_constants_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::release_bt_constants() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.BehaviorTreeResponse.bt_constants) + return bt_constants_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseResponse_BehaviorTreeResponse::set_allocated_bt_constants(std::string* bt_constants) { + if (bt_constants != nullptr) { + + } else { + + } + bt_constants_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), bt_constants, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.BehaviorTreeResponse.bt_constants) +} + +// string narrative_section_id = 3; +inline void GetResponseResponse_BehaviorTreeResponse::clear_narrative_section_id() { + narrative_section_id_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_BehaviorTreeResponse::narrative_section_id() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id) + return _internal_narrative_section_id(); +} +inline void GetResponseResponse_BehaviorTreeResponse::set_narrative_section_id(const std::string& value) { + _internal_set_narrative_section_id(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id) +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::mutable_narrative_section_id() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id) + return _internal_mutable_narrative_section_id(); +} +inline const std::string& GetResponseResponse_BehaviorTreeResponse::_internal_narrative_section_id() const { + return narrative_section_id_.Get(); +} +inline void GetResponseResponse_BehaviorTreeResponse::_internal_set_narrative_section_id(const std::string& value) { + + narrative_section_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseResponse_BehaviorTreeResponse::set_narrative_section_id(std::string&& value) { + + narrative_section_id_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id) +} +inline void GetResponseResponse_BehaviorTreeResponse::set_narrative_section_id(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + narrative_section_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id) +} +inline void GetResponseResponse_BehaviorTreeResponse::set_narrative_section_id(const char* value, + size_t size) { + + narrative_section_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id) +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::_internal_mutable_narrative_section_id() { + + return narrative_section_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::release_narrative_section_id() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id) + return narrative_section_id_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseResponse_BehaviorTreeResponse::set_allocated_narrative_section_id(std::string* narrative_section_id) { + if (narrative_section_id != nullptr) { + + } else { + + } + narrative_section_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), narrative_section_id, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id) +} + +// ------------------------------------------------------------------- + +// GetResponseResponse_UserTranscript + +// string text_data = 1; +inline void GetResponseResponse_UserTranscript::clear_text_data() { + text_data_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_UserTranscript::text_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.UserTranscript.text_data) + return _internal_text_data(); +} +inline void GetResponseResponse_UserTranscript::set_text_data(const std::string& value) { + _internal_set_text_data(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.UserTranscript.text_data) +} +inline std::string* GetResponseResponse_UserTranscript::mutable_text_data() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.UserTranscript.text_data) + return _internal_mutable_text_data(); +} +inline const std::string& GetResponseResponse_UserTranscript::_internal_text_data() const { + return text_data_.Get(); +} +inline void GetResponseResponse_UserTranscript::_internal_set_text_data(const std::string& value) { + + text_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseResponse_UserTranscript::set_text_data(std::string&& value) { + + text_data_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseResponse.UserTranscript.text_data) +} +inline void GetResponseResponse_UserTranscript::set_text_data(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + text_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseResponse.UserTranscript.text_data) +} +inline void GetResponseResponse_UserTranscript::set_text_data(const char* value, + size_t size) { + + text_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseResponse.UserTranscript.text_data) +} +inline std::string* GetResponseResponse_UserTranscript::_internal_mutable_text_data() { + + return text_data_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseResponse_UserTranscript::release_text_data() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.UserTranscript.text_data) + return text_data_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseResponse_UserTranscript::set_allocated_text_data(std::string* text_data) { + if (text_data != nullptr) { + + } else { + + } + text_data_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), text_data, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.UserTranscript.text_data) +} + +// bool is_final = 2; +inline void GetResponseResponse_UserTranscript::clear_is_final() { + is_final_ = false; +} +inline bool GetResponseResponse_UserTranscript::_internal_is_final() const { + return is_final_; +} +inline bool GetResponseResponse_UserTranscript::is_final() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.UserTranscript.is_final) + return _internal_is_final(); +} +inline void GetResponseResponse_UserTranscript::_internal_set_is_final(bool value) { + + is_final_ = value; +} +inline void GetResponseResponse_UserTranscript::set_is_final(bool value) { + _internal_set_is_final(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.UserTranscript.is_final) +} + +// bool end_of_response = 3; +inline void GetResponseResponse_UserTranscript::clear_end_of_response() { + end_of_response_ = false; +} +inline bool GetResponseResponse_UserTranscript::_internal_end_of_response() const { + return end_of_response_; +} +inline bool GetResponseResponse_UserTranscript::end_of_response() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.UserTranscript.end_of_response) + return _internal_end_of_response(); +} +inline void GetResponseResponse_UserTranscript::_internal_set_end_of_response(bool value) { + + end_of_response_ = value; +} +inline void GetResponseResponse_UserTranscript::set_end_of_response(bool value) { + _internal_set_end_of_response(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.UserTranscript.end_of_response) +} + +// ------------------------------------------------------------------- + +// GetResponseResponse + +// string session_id = 1; +inline void GetResponseResponse::clear_session_id() { + session_id_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse::session_id() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.session_id) + return _internal_session_id(); +} +inline void GetResponseResponse::set_session_id(const std::string& value) { + _internal_set_session_id(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.session_id) +} +inline std::string* GetResponseResponse::mutable_session_id() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.session_id) + return _internal_mutable_session_id(); +} +inline const std::string& GetResponseResponse::_internal_session_id() const { + return session_id_.Get(); +} +inline void GetResponseResponse::_internal_set_session_id(const std::string& value) { + + session_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseResponse::set_session_id(std::string&& value) { + + session_id_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseResponse.session_id) +} +inline void GetResponseResponse::set_session_id(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + session_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseResponse.session_id) +} +inline void GetResponseResponse::set_session_id(const char* value, + size_t size) { + + session_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseResponse.session_id) +} +inline std::string* GetResponseResponse::_internal_mutable_session_id() { + + return session_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseResponse::release_session_id() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.session_id) + return session_id_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void GetResponseResponse::set_allocated_session_id(std::string* session_id) { + if (session_id != nullptr) { + + } else { + + } + session_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), session_id, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.session_id) +} + +// .service.GetResponseResponse.ActionResponse action_response = 2; +inline bool GetResponseResponse::_internal_has_action_response() const { + return response_type_case() == kActionResponse; +} +inline bool GetResponseResponse::has_action_response() const { + return _internal_has_action_response(); +} +inline void GetResponseResponse::set_has_action_response() { + _oneof_case_[0] = kActionResponse; +} +inline void GetResponseResponse::clear_action_response() { + if (_internal_has_action_response()) { + if (GetArena() == nullptr) { + delete response_type_.action_response_; + } + clear_has_response_type(); + } +} +inline ::service::GetResponseResponse_ActionResponse* GetResponseResponse::release_action_response() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.action_response) + if (_internal_has_action_response()) { + clear_has_response_type(); + ::service::GetResponseResponse_ActionResponse* temp = response_type_.action_response_; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + response_type_.action_response_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::GetResponseResponse_ActionResponse& GetResponseResponse::_internal_action_response() const { + return _internal_has_action_response() + ? *response_type_.action_response_ + : reinterpret_cast< ::service::GetResponseResponse_ActionResponse&>(::service::_GetResponseResponse_ActionResponse_default_instance_); +} +inline const ::service::GetResponseResponse_ActionResponse& GetResponseResponse::action_response() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.action_response) + return _internal_action_response(); +} +inline ::service::GetResponseResponse_ActionResponse* GetResponseResponse::unsafe_arena_release_action_response() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseResponse.action_response) + if (_internal_has_action_response()) { + clear_has_response_type(); + ::service::GetResponseResponse_ActionResponse* temp = response_type_.action_response_; + response_type_.action_response_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseResponse::unsafe_arena_set_allocated_action_response(::service::GetResponseResponse_ActionResponse* action_response) { + clear_response_type(); + if (action_response) { + set_has_action_response(); + response_type_.action_response_ = action_response; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.action_response) +} +inline ::service::GetResponseResponse_ActionResponse* GetResponseResponse::_internal_mutable_action_response() { + if (!_internal_has_action_response()) { + clear_response_type(); + set_has_action_response(); + response_type_.action_response_ = CreateMaybeMessage< ::service::GetResponseResponse_ActionResponse >(GetArena()); + } + return response_type_.action_response_; +} +inline ::service::GetResponseResponse_ActionResponse* GetResponseResponse::mutable_action_response() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.action_response) + return _internal_mutable_action_response(); +} + +// .service.GetResponseResponse.AudioResponse audio_response = 3; +inline bool GetResponseResponse::_internal_has_audio_response() const { + return response_type_case() == kAudioResponse; +} +inline bool GetResponseResponse::has_audio_response() const { + return _internal_has_audio_response(); +} +inline void GetResponseResponse::set_has_audio_response() { + _oneof_case_[0] = kAudioResponse; +} +inline void GetResponseResponse::clear_audio_response() { + if (_internal_has_audio_response()) { + if (GetArena() == nullptr) { + delete response_type_.audio_response_; + } + clear_has_response_type(); + } +} +inline ::service::GetResponseResponse_AudioResponse* GetResponseResponse::release_audio_response() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.audio_response) + if (_internal_has_audio_response()) { + clear_has_response_type(); + ::service::GetResponseResponse_AudioResponse* temp = response_type_.audio_response_; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + response_type_.audio_response_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::GetResponseResponse_AudioResponse& GetResponseResponse::_internal_audio_response() const { + return _internal_has_audio_response() + ? *response_type_.audio_response_ + : reinterpret_cast< ::service::GetResponseResponse_AudioResponse&>(::service::_GetResponseResponse_AudioResponse_default_instance_); +} +inline const ::service::GetResponseResponse_AudioResponse& GetResponseResponse::audio_response() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.audio_response) + return _internal_audio_response(); +} +inline ::service::GetResponseResponse_AudioResponse* GetResponseResponse::unsafe_arena_release_audio_response() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseResponse.audio_response) + if (_internal_has_audio_response()) { + clear_has_response_type(); + ::service::GetResponseResponse_AudioResponse* temp = response_type_.audio_response_; + response_type_.audio_response_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseResponse::unsafe_arena_set_allocated_audio_response(::service::GetResponseResponse_AudioResponse* audio_response) { + clear_response_type(); + if (audio_response) { + set_has_audio_response(); + response_type_.audio_response_ = audio_response; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.audio_response) +} +inline ::service::GetResponseResponse_AudioResponse* GetResponseResponse::_internal_mutable_audio_response() { + if (!_internal_has_audio_response()) { + clear_response_type(); + set_has_audio_response(); + response_type_.audio_response_ = CreateMaybeMessage< ::service::GetResponseResponse_AudioResponse >(GetArena()); + } + return response_type_.audio_response_; +} +inline ::service::GetResponseResponse_AudioResponse* GetResponseResponse::mutable_audio_response() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.audio_response) + return _internal_mutable_audio_response(); +} + +// string debug_log = 4; +inline bool GetResponseResponse::_internal_has_debug_log() const { + return response_type_case() == kDebugLog; +} +inline void GetResponseResponse::set_has_debug_log() { + _oneof_case_[0] = kDebugLog; +} +inline void GetResponseResponse::clear_debug_log() { + if (_internal_has_debug_log()) { + response_type_.debug_log_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); + clear_has_response_type(); + } +} +inline const std::string& GetResponseResponse::debug_log() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.debug_log) + return _internal_debug_log(); +} +inline void GetResponseResponse::set_debug_log(const std::string& value) { + _internal_set_debug_log(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.debug_log) +} +inline std::string* GetResponseResponse::mutable_debug_log() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.debug_log) + return _internal_mutable_debug_log(); +} +inline const std::string& GetResponseResponse::_internal_debug_log() const { + if (_internal_has_debug_log()) { + return response_type_.debug_log_.Get(); + } + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); +} +inline void GetResponseResponse::_internal_set_debug_log(const std::string& value) { + if (!_internal_has_debug_log()) { + clear_response_type(); + set_has_debug_log(); + response_type_.debug_log_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + response_type_.debug_log_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseResponse::set_debug_log(std::string&& value) { + // @@protoc_insertion_point(field_set:service.GetResponseResponse.debug_log) + if (!_internal_has_debug_log()) { + clear_response_type(); + set_has_debug_log(); + response_type_.debug_log_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + response_type_.debug_log_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseResponse.debug_log) +} +inline void GetResponseResponse::set_debug_log(const char* value) { + GOOGLE_DCHECK(value != nullptr); + if (!_internal_has_debug_log()) { + clear_response_type(); + set_has_debug_log(); + response_type_.debug_log_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + response_type_.debug_log_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, + ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseResponse.debug_log) +} +inline void GetResponseResponse::set_debug_log(const char* value, + size_t size) { + if (!_internal_has_debug_log()) { + clear_response_type(); + set_has_debug_log(); + response_type_.debug_log_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + response_type_.debug_log_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), + GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseResponse.debug_log) +} +inline std::string* GetResponseResponse::_internal_mutable_debug_log() { + if (!_internal_has_debug_log()) { + clear_response_type(); + set_has_debug_log(); + response_type_.debug_log_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + return response_type_.debug_log_.Mutable( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseResponse::release_debug_log() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.debug_log) + if (_internal_has_debug_log()) { + clear_has_response_type(); + return response_type_.debug_log_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + } else { + return nullptr; + } +} +inline void GetResponseResponse::set_allocated_debug_log(std::string* debug_log) { + if (has_response_type()) { + clear_response_type(); + } + if (debug_log != nullptr) { + set_has_debug_log(); + response_type_.debug_log_.UnsafeSetDefault(debug_log); + ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); + if (arena != nullptr) { + arena->Own(debug_log); + } + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.debug_log) +} + +// .service.GetResponseResponse.UserTranscript user_query = 5; +inline bool GetResponseResponse::_internal_has_user_query() const { + return response_type_case() == kUserQuery; +} +inline bool GetResponseResponse::has_user_query() const { + return _internal_has_user_query(); +} +inline void GetResponseResponse::set_has_user_query() { + _oneof_case_[0] = kUserQuery; +} +inline void GetResponseResponse::clear_user_query() { + if (_internal_has_user_query()) { + if (GetArena() == nullptr) { + delete response_type_.user_query_; + } + clear_has_response_type(); + } +} +inline ::service::GetResponseResponse_UserTranscript* GetResponseResponse::release_user_query() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.user_query) + if (_internal_has_user_query()) { + clear_has_response_type(); + ::service::GetResponseResponse_UserTranscript* temp = response_type_.user_query_; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + response_type_.user_query_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::GetResponseResponse_UserTranscript& GetResponseResponse::_internal_user_query() const { + return _internal_has_user_query() + ? *response_type_.user_query_ + : reinterpret_cast< ::service::GetResponseResponse_UserTranscript&>(::service::_GetResponseResponse_UserTranscript_default_instance_); +} +inline const ::service::GetResponseResponse_UserTranscript& GetResponseResponse::user_query() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.user_query) + return _internal_user_query(); +} +inline ::service::GetResponseResponse_UserTranscript* GetResponseResponse::unsafe_arena_release_user_query() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseResponse.user_query) + if (_internal_has_user_query()) { + clear_has_response_type(); + ::service::GetResponseResponse_UserTranscript* temp = response_type_.user_query_; + response_type_.user_query_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseResponse::unsafe_arena_set_allocated_user_query(::service::GetResponseResponse_UserTranscript* user_query) { + clear_response_type(); + if (user_query) { + set_has_user_query(); + response_type_.user_query_ = user_query; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.user_query) +} +inline ::service::GetResponseResponse_UserTranscript* GetResponseResponse::_internal_mutable_user_query() { + if (!_internal_has_user_query()) { + clear_response_type(); + set_has_user_query(); + response_type_.user_query_ = CreateMaybeMessage< ::service::GetResponseResponse_UserTranscript >(GetArena()); + } + return response_type_.user_query_; +} +inline ::service::GetResponseResponse_UserTranscript* GetResponseResponse::mutable_user_query() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.user_query) + return _internal_mutable_user_query(); +} + +// .service.GetResponseResponse.BehaviorTreeResponse bt_response = 6; +inline bool GetResponseResponse::_internal_has_bt_response() const { + return response_type_case() == kBtResponse; +} +inline bool GetResponseResponse::has_bt_response() const { + return _internal_has_bt_response(); +} +inline void GetResponseResponse::set_has_bt_response() { + _oneof_case_[0] = kBtResponse; +} +inline void GetResponseResponse::clear_bt_response() { + if (_internal_has_bt_response()) { + if (GetArena() == nullptr) { + delete response_type_.bt_response_; + } + clear_has_response_type(); + } +} +inline ::service::GetResponseResponse_BehaviorTreeResponse* GetResponseResponse::release_bt_response() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.bt_response) + if (_internal_has_bt_response()) { + clear_has_response_type(); + ::service::GetResponseResponse_BehaviorTreeResponse* temp = response_type_.bt_response_; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + response_type_.bt_response_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::GetResponseResponse_BehaviorTreeResponse& GetResponseResponse::_internal_bt_response() const { + return _internal_has_bt_response() + ? *response_type_.bt_response_ + : reinterpret_cast< ::service::GetResponseResponse_BehaviorTreeResponse&>(::service::_GetResponseResponse_BehaviorTreeResponse_default_instance_); +} +inline const ::service::GetResponseResponse_BehaviorTreeResponse& GetResponseResponse::bt_response() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.bt_response) + return _internal_bt_response(); +} +inline ::service::GetResponseResponse_BehaviorTreeResponse* GetResponseResponse::unsafe_arena_release_bt_response() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseResponse.bt_response) + if (_internal_has_bt_response()) { + clear_has_response_type(); + ::service::GetResponseResponse_BehaviorTreeResponse* temp = response_type_.bt_response_; + response_type_.bt_response_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseResponse::unsafe_arena_set_allocated_bt_response(::service::GetResponseResponse_BehaviorTreeResponse* bt_response) { + clear_response_type(); + if (bt_response) { + set_has_bt_response(); + response_type_.bt_response_ = bt_response; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.bt_response) +} +inline ::service::GetResponseResponse_BehaviorTreeResponse* GetResponseResponse::_internal_mutable_bt_response() { + if (!_internal_has_bt_response()) { + clear_response_type(); + set_has_bt_response(); + response_type_.bt_response_ = CreateMaybeMessage< ::service::GetResponseResponse_BehaviorTreeResponse >(GetArena()); + } + return response_type_.bt_response_; +} +inline ::service::GetResponseResponse_BehaviorTreeResponse* GetResponseResponse::mutable_bt_response() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.bt_response) + return _internal_mutable_bt_response(); +} + +// string emotion_response = 7; +inline bool GetResponseResponse::_internal_has_emotion_response() const { + return response_type_case() == kEmotionResponse; +} +inline void GetResponseResponse::set_has_emotion_response() { + _oneof_case_[0] = kEmotionResponse; +} +inline void GetResponseResponse::clear_emotion_response() { + if (_internal_has_emotion_response()) { + response_type_.emotion_response_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); + clear_has_response_type(); + } +} +inline const std::string& GetResponseResponse::emotion_response() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.emotion_response) + return _internal_emotion_response(); +} +inline void GetResponseResponse::set_emotion_response(const std::string& value) { + _internal_set_emotion_response(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.emotion_response) +} +inline std::string* GetResponseResponse::mutable_emotion_response() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.emotion_response) + return _internal_mutable_emotion_response(); +} +inline const std::string& GetResponseResponse::_internal_emotion_response() const { + if (_internal_has_emotion_response()) { + return response_type_.emotion_response_.Get(); + } + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); +} +inline void GetResponseResponse::_internal_set_emotion_response(const std::string& value) { + if (!_internal_has_emotion_response()) { + clear_response_type(); + set_has_emotion_response(); + response_type_.emotion_response_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + response_type_.emotion_response_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseResponse::set_emotion_response(std::string&& value) { + // @@protoc_insertion_point(field_set:service.GetResponseResponse.emotion_response) + if (!_internal_has_emotion_response()) { + clear_response_type(); + set_has_emotion_response(); + response_type_.emotion_response_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + response_type_.emotion_response_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseResponse.emotion_response) +} +inline void GetResponseResponse::set_emotion_response(const char* value) { + GOOGLE_DCHECK(value != nullptr); + if (!_internal_has_emotion_response()) { + clear_response_type(); + set_has_emotion_response(); + response_type_.emotion_response_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + response_type_.emotion_response_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, + ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseResponse.emotion_response) +} +inline void GetResponseResponse::set_emotion_response(const char* value, + size_t size) { + if (!_internal_has_emotion_response()) { + clear_response_type(); + set_has_emotion_response(); + response_type_.emotion_response_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + response_type_.emotion_response_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), + GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseResponse.emotion_response) +} +inline std::string* GetResponseResponse::_internal_mutable_emotion_response() { + if (!_internal_has_emotion_response()) { + clear_response_type(); + set_has_emotion_response(); + response_type_.emotion_response_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + return response_type_.emotion_response_.Mutable( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseResponse::release_emotion_response() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.emotion_response) + if (_internal_has_emotion_response()) { + clear_has_response_type(); + return response_type_.emotion_response_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + } else { + return nullptr; + } +} +inline void GetResponseResponse::set_allocated_emotion_response(std::string* emotion_response) { + if (has_response_type()) { + clear_response_type(); + } + if (emotion_response != nullptr) { + set_has_emotion_response(); + response_type_.emotion_response_.UnsafeSetDefault(emotion_response); + ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); + if (arena != nullptr) { + arena->Own(emotion_response); + } + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.emotion_response) +} + +// string interaction_id = 8; +inline bool GetResponseResponse::_internal_has_interaction_id() const { + return response_type_case() == kInteractionId; +} +inline void GetResponseResponse::set_has_interaction_id() { + _oneof_case_[0] = kInteractionId; +} +inline void GetResponseResponse::clear_interaction_id() { + if (_internal_has_interaction_id()) { + response_type_.interaction_id_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); + clear_has_response_type(); + } +} +inline const std::string& GetResponseResponse::interaction_id() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.interaction_id) + return _internal_interaction_id(); +} +inline void GetResponseResponse::set_interaction_id(const std::string& value) { + _internal_set_interaction_id(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.interaction_id) +} +inline std::string* GetResponseResponse::mutable_interaction_id() { + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.interaction_id) + return _internal_mutable_interaction_id(); +} +inline const std::string& GetResponseResponse::_internal_interaction_id() const { + if (_internal_has_interaction_id()) { + return response_type_.interaction_id_.Get(); + } + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); +} +inline void GetResponseResponse::_internal_set_interaction_id(const std::string& value) { + if (!_internal_has_interaction_id()) { + clear_response_type(); + set_has_interaction_id(); + response_type_.interaction_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + response_type_.interaction_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void GetResponseResponse::set_interaction_id(std::string&& value) { + // @@protoc_insertion_point(field_set:service.GetResponseResponse.interaction_id) + if (!_internal_has_interaction_id()) { + clear_response_type(); + set_has_interaction_id(); + response_type_.interaction_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + response_type_.interaction_id_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.GetResponseResponse.interaction_id) +} +inline void GetResponseResponse::set_interaction_id(const char* value) { + GOOGLE_DCHECK(value != nullptr); + if (!_internal_has_interaction_id()) { + clear_response_type(); + set_has_interaction_id(); + response_type_.interaction_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + response_type_.interaction_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, + ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.GetResponseResponse.interaction_id) +} +inline void GetResponseResponse::set_interaction_id(const char* value, + size_t size) { + if (!_internal_has_interaction_id()) { + clear_response_type(); + set_has_interaction_id(); + response_type_.interaction_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + response_type_.interaction_id_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), + GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.GetResponseResponse.interaction_id) +} +inline std::string* GetResponseResponse::_internal_mutable_interaction_id() { + if (!_internal_has_interaction_id()) { + clear_response_type(); + set_has_interaction_id(); + response_type_.interaction_id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + } + return response_type_.interaction_id_.Mutable( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* GetResponseResponse::release_interaction_id() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.interaction_id) + if (_internal_has_interaction_id()) { + clear_has_response_type(); + return response_type_.interaction_id_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); + } else { + return nullptr; + } +} +inline void GetResponseResponse::set_allocated_interaction_id(std::string* interaction_id) { + if (has_response_type()) { + clear_response_type(); + } + if (interaction_id != nullptr) { + set_has_interaction_id(); + response_type_.interaction_id_.UnsafeSetDefault(interaction_id); + ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); + if (arena != nullptr) { + arena->Own(interaction_id); + } + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.interaction_id) +} + +inline bool GetResponseResponse::has_response_type() const { + return response_type_case() != RESPONSE_TYPE_NOT_SET; +} +inline void GetResponseResponse::clear_has_response_type() { + _oneof_case_[0] = RESPONSE_TYPE_NOT_SET; +} +inline GetResponseResponse::ResponseTypeCase GetResponseResponse::response_type_case() const { + return GetResponseResponse::ResponseTypeCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// VisemesData + +// .service.Viseme visemes = 1; +inline bool VisemesData::_internal_has_visemes() const { + return this != internal_default_instance() && visemes_ != nullptr; +} +inline bool VisemesData::has_visemes() const { + return _internal_has_visemes(); +} +inline void VisemesData::clear_visemes() { + if (GetArena() == nullptr && visemes_ != nullptr) { + delete visemes_; + } + visemes_ = nullptr; +} +inline const ::service::Viseme& VisemesData::_internal_visemes() const { + const ::service::Viseme* p = visemes_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_Viseme_default_instance_); +} +inline const ::service::Viseme& VisemesData::visemes() const { + // @@protoc_insertion_point(field_get:service.VisemesData.visemes) + return _internal_visemes(); +} +inline void VisemesData::unsafe_arena_set_allocated_visemes( + ::service::Viseme* visemes) { + if (GetArena() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(visemes_); + } + visemes_ = visemes; + if (visemes) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.VisemesData.visemes) +} +inline ::service::Viseme* VisemesData::release_visemes() { + + ::service::Viseme* temp = visemes_; + visemes_ = nullptr; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + return temp; +} +inline ::service::Viseme* VisemesData::unsafe_arena_release_visemes() { + // @@protoc_insertion_point(field_release:service.VisemesData.visemes) + + ::service::Viseme* temp = visemes_; + visemes_ = nullptr; + return temp; +} +inline ::service::Viseme* VisemesData::_internal_mutable_visemes() { + + if (visemes_ == nullptr) { + auto* p = CreateMaybeMessage<::service::Viseme>(GetArena()); + visemes_ = p; + } + return visemes_; +} +inline ::service::Viseme* VisemesData::mutable_visemes() { + // @@protoc_insertion_point(field_mutable:service.VisemesData.visemes) + return _internal_mutable_visemes(); +} +inline void VisemesData::set_allocated_visemes(::service::Viseme* visemes) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + if (message_arena == nullptr) { + delete visemes_; + } + if (visemes) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(visemes); + if (message_arena != submessage_arena) { + visemes = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, visemes, submessage_arena); + } + + } else { + + } + visemes_ = visemes; + // @@protoc_insertion_point(field_set_allocated:service.VisemesData.visemes) +} + +// ------------------------------------------------------------------- + +// EmotionResponse + +// string emotion = 1; +inline void EmotionResponse::clear_emotion() { + emotion_.ClearToEmpty(); +} +inline const std::string& EmotionResponse::emotion() const { + // @@protoc_insertion_point(field_get:service.EmotionResponse.emotion) + return _internal_emotion(); +} +inline void EmotionResponse::set_emotion(const std::string& value) { + _internal_set_emotion(value); + // @@protoc_insertion_point(field_set:service.EmotionResponse.emotion) +} +inline std::string* EmotionResponse::mutable_emotion() { + // @@protoc_insertion_point(field_mutable:service.EmotionResponse.emotion) + return _internal_mutable_emotion(); +} +inline const std::string& EmotionResponse::_internal_emotion() const { + return emotion_.Get(); +} +inline void EmotionResponse::_internal_set_emotion(const std::string& value) { + + emotion_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void EmotionResponse::set_emotion(std::string&& value) { + + emotion_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.EmotionResponse.emotion) +} +inline void EmotionResponse::set_emotion(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + emotion_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.EmotionResponse.emotion) +} +inline void EmotionResponse::set_emotion(const char* value, + size_t size) { + + emotion_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.EmotionResponse.emotion) +} +inline std::string* EmotionResponse::_internal_mutable_emotion() { + + return emotion_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* EmotionResponse::release_emotion() { + // @@protoc_insertion_point(field_release:service.EmotionResponse.emotion) + return emotion_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void EmotionResponse::set_allocated_emotion(std::string* emotion) { + if (emotion != nullptr) { + + } else { + + } + emotion_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), emotion, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.EmotionResponse.emotion) +} + +// string scale = 2; +inline void EmotionResponse::clear_scale() { + scale_.ClearToEmpty(); +} +inline const std::string& EmotionResponse::scale() const { + // @@protoc_insertion_point(field_get:service.EmotionResponse.scale) + return _internal_scale(); +} +inline void EmotionResponse::set_scale(const std::string& value) { + _internal_set_scale(value); + // @@protoc_insertion_point(field_set:service.EmotionResponse.scale) +} +inline std::string* EmotionResponse::mutable_scale() { + // @@protoc_insertion_point(field_mutable:service.EmotionResponse.scale) + return _internal_mutable_scale(); +} +inline const std::string& EmotionResponse::_internal_scale() const { + return scale_.Get(); +} +inline void EmotionResponse::_internal_set_scale(const std::string& value) { + + scale_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void EmotionResponse::set_scale(std::string&& value) { + + scale_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.EmotionResponse.scale) +} +inline void EmotionResponse::set_scale(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + scale_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.EmotionResponse.scale) +} +inline void EmotionResponse::set_scale(const char* value, + size_t size) { + + scale_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.EmotionResponse.scale) +} +inline std::string* EmotionResponse::_internal_mutable_scale() { + + return scale_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* EmotionResponse::release_scale() { + // @@protoc_insertion_point(field_release:service.EmotionResponse.scale) + return scale_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void EmotionResponse::set_allocated_scale(std::string* scale) { + if (scale != nullptr) { + + } else { + + } + scale_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), scale, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.EmotionResponse.scale) +} + +// ------------------------------------------------------------------- + +// Viseme + +// float sil = 1; +inline void Viseme::clear_sil() { + sil_ = 0; +} +inline float Viseme::_internal_sil() const { + return sil_; +} +inline float Viseme::sil() const { + // @@protoc_insertion_point(field_get:service.Viseme.sil) + return _internal_sil(); +} +inline void Viseme::_internal_set_sil(float value) { + + sil_ = value; +} +inline void Viseme::set_sil(float value) { + _internal_set_sil(value); + // @@protoc_insertion_point(field_set:service.Viseme.sil) +} + +// float pp = 2; +inline void Viseme::clear_pp() { + pp_ = 0; +} +inline float Viseme::_internal_pp() const { + return pp_; +} +inline float Viseme::pp() const { + // @@protoc_insertion_point(field_get:service.Viseme.pp) + return _internal_pp(); +} +inline void Viseme::_internal_set_pp(float value) { + + pp_ = value; +} +inline void Viseme::set_pp(float value) { + _internal_set_pp(value); + // @@protoc_insertion_point(field_set:service.Viseme.pp) +} + +// float ff = 3; +inline void Viseme::clear_ff() { + ff_ = 0; +} +inline float Viseme::_internal_ff() const { + return ff_; +} +inline float Viseme::ff() const { + // @@protoc_insertion_point(field_get:service.Viseme.ff) + return _internal_ff(); +} +inline void Viseme::_internal_set_ff(float value) { + + ff_ = value; +} +inline void Viseme::set_ff(float value) { + _internal_set_ff(value); + // @@protoc_insertion_point(field_set:service.Viseme.ff) +} + +// float th = 4; +inline void Viseme::clear_th() { + th_ = 0; +} +inline float Viseme::_internal_th() const { + return th_; +} +inline float Viseme::th() const { + // @@protoc_insertion_point(field_get:service.Viseme.th) + return _internal_th(); +} +inline void Viseme::_internal_set_th(float value) { + + th_ = value; +} +inline void Viseme::set_th(float value) { + _internal_set_th(value); + // @@protoc_insertion_point(field_set:service.Viseme.th) +} + +// float dd = 5; +inline void Viseme::clear_dd() { + dd_ = 0; +} +inline float Viseme::_internal_dd() const { + return dd_; +} +inline float Viseme::dd() const { + // @@protoc_insertion_point(field_get:service.Viseme.dd) + return _internal_dd(); +} +inline void Viseme::_internal_set_dd(float value) { + + dd_ = value; +} +inline void Viseme::set_dd(float value) { + _internal_set_dd(value); + // @@protoc_insertion_point(field_set:service.Viseme.dd) +} + +// float kk = 6; +inline void Viseme::clear_kk() { + kk_ = 0; +} +inline float Viseme::_internal_kk() const { + return kk_; +} +inline float Viseme::kk() const { + // @@protoc_insertion_point(field_get:service.Viseme.kk) + return _internal_kk(); +} +inline void Viseme::_internal_set_kk(float value) { + + kk_ = value; +} +inline void Viseme::set_kk(float value) { + _internal_set_kk(value); + // @@protoc_insertion_point(field_set:service.Viseme.kk) +} + +// float ch = 7; +inline void Viseme::clear_ch() { + ch_ = 0; +} +inline float Viseme::_internal_ch() const { + return ch_; +} +inline float Viseme::ch() const { + // @@protoc_insertion_point(field_get:service.Viseme.ch) + return _internal_ch(); +} +inline void Viseme::_internal_set_ch(float value) { + + ch_ = value; +} +inline void Viseme::set_ch(float value) { + _internal_set_ch(value); + // @@protoc_insertion_point(field_set:service.Viseme.ch) +} + +// float ss = 8; +inline void Viseme::clear_ss() { + ss_ = 0; +} +inline float Viseme::_internal_ss() const { + return ss_; +} +inline float Viseme::ss() const { + // @@protoc_insertion_point(field_get:service.Viseme.ss) + return _internal_ss(); +} +inline void Viseme::_internal_set_ss(float value) { + + ss_ = value; +} +inline void Viseme::set_ss(float value) { + _internal_set_ss(value); + // @@protoc_insertion_point(field_set:service.Viseme.ss) +} + +// float nn = 9; +inline void Viseme::clear_nn() { + nn_ = 0; +} +inline float Viseme::_internal_nn() const { + return nn_; +} +inline float Viseme::nn() const { + // @@protoc_insertion_point(field_get:service.Viseme.nn) + return _internal_nn(); +} +inline void Viseme::_internal_set_nn(float value) { + + nn_ = value; +} +inline void Viseme::set_nn(float value) { + _internal_set_nn(value); + // @@protoc_insertion_point(field_set:service.Viseme.nn) +} + +// float rr = 10; +inline void Viseme::clear_rr() { + rr_ = 0; +} +inline float Viseme::_internal_rr() const { + return rr_; +} +inline float Viseme::rr() const { + // @@protoc_insertion_point(field_get:service.Viseme.rr) + return _internal_rr(); +} +inline void Viseme::_internal_set_rr(float value) { + + rr_ = value; +} +inline void Viseme::set_rr(float value) { + _internal_set_rr(value); + // @@protoc_insertion_point(field_set:service.Viseme.rr) +} + +// float aa = 11; +inline void Viseme::clear_aa() { + aa_ = 0; +} +inline float Viseme::_internal_aa() const { + return aa_; +} +inline float Viseme::aa() const { + // @@protoc_insertion_point(field_get:service.Viseme.aa) + return _internal_aa(); +} +inline void Viseme::_internal_set_aa(float value) { + + aa_ = value; +} +inline void Viseme::set_aa(float value) { + _internal_set_aa(value); + // @@protoc_insertion_point(field_set:service.Viseme.aa) +} + +// float e = 12; +inline void Viseme::clear_e() { + e_ = 0; +} +inline float Viseme::_internal_e() const { + return e_; +} +inline float Viseme::e() const { + // @@protoc_insertion_point(field_get:service.Viseme.e) + return _internal_e(); +} +inline void Viseme::_internal_set_e(float value) { + + e_ = value; +} +inline void Viseme::set_e(float value) { + _internal_set_e(value); + // @@protoc_insertion_point(field_set:service.Viseme.e) +} + +// float ih = 13; +inline void Viseme::clear_ih() { + ih_ = 0; +} +inline float Viseme::_internal_ih() const { + return ih_; +} +inline float Viseme::ih() const { + // @@protoc_insertion_point(field_get:service.Viseme.ih) + return _internal_ih(); +} +inline void Viseme::_internal_set_ih(float value) { + + ih_ = value; +} +inline void Viseme::set_ih(float value) { + _internal_set_ih(value); + // @@protoc_insertion_point(field_set:service.Viseme.ih) +} + +// float oh = 14; +inline void Viseme::clear_oh() { + oh_ = 0; +} +inline float Viseme::_internal_oh() const { + return oh_; +} +inline float Viseme::oh() const { + // @@protoc_insertion_point(field_get:service.Viseme.oh) + return _internal_oh(); +} +inline void Viseme::_internal_set_oh(float value) { + + oh_ = value; +} +inline void Viseme::set_oh(float value) { + _internal_set_oh(value); + // @@protoc_insertion_point(field_set:service.Viseme.oh) +} + +// float ou = 15; +inline void Viseme::clear_ou() { + ou_ = 0; +} +inline float Viseme::_internal_ou() const { + return ou_; +} +inline float Viseme::ou() const { + // @@protoc_insertion_point(field_get:service.Viseme.ou) + return _internal_ou(); +} +inline void Viseme::_internal_set_ou(float value) { + + ou_ = value; +} +inline void Viseme::set_ou(float value) { + _internal_set_ou(value); + // @@protoc_insertion_point(field_set:service.Viseme.ou) +} + +// ------------------------------------------------------------------- + +// BlendShapesData + +// string blendshape_data = 1; +inline void BlendShapesData::clear_blendshape_data() { + blendshape_data_.ClearToEmpty(); +} +inline const std::string& BlendShapesData::blendshape_data() const { + // @@protoc_insertion_point(field_get:service.BlendShapesData.blendshape_data) + return _internal_blendshape_data(); +} +inline void BlendShapesData::set_blendshape_data(const std::string& value) { + _internal_set_blendshape_data(value); + // @@protoc_insertion_point(field_set:service.BlendShapesData.blendshape_data) +} +inline std::string* BlendShapesData::mutable_blendshape_data() { + // @@protoc_insertion_point(field_mutable:service.BlendShapesData.blendshape_data) + return _internal_mutable_blendshape_data(); +} +inline const std::string& BlendShapesData::_internal_blendshape_data() const { + return blendshape_data_.Get(); +} +inline void BlendShapesData::_internal_set_blendshape_data(const std::string& value) { + + blendshape_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void BlendShapesData::set_blendshape_data(std::string&& value) { + + blendshape_data_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.BlendShapesData.blendshape_data) +} +inline void BlendShapesData::set_blendshape_data(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + blendshape_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.BlendShapesData.blendshape_data) +} +inline void BlendShapesData::set_blendshape_data(const char* value, + size_t size) { + + blendshape_data_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.BlendShapesData.blendshape_data) +} +inline std::string* BlendShapesData::_internal_mutable_blendshape_data() { + + return blendshape_data_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* BlendShapesData::release_blendshape_data() { + // @@protoc_insertion_point(field_release:service.BlendShapesData.blendshape_data) + return blendshape_data_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void BlendShapesData::set_allocated_blendshape_data(std::string* blendshape_data) { + if (blendshape_data != nullptr) { + + } else { + + } + blendshape_data_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), blendshape_data, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.BlendShapesData.blendshape_data) +} + +// ------------------------------------------------------------------- + +// HelloRequest + +// string name = 1; +inline void HelloRequest::clear_name() { + name_.ClearToEmpty(); +} +inline const std::string& HelloRequest::name() const { + // @@protoc_insertion_point(field_get:service.HelloRequest.name) + return _internal_name(); +} +inline void HelloRequest::set_name(const std::string& value) { + _internal_set_name(value); + // @@protoc_insertion_point(field_set:service.HelloRequest.name) +} +inline std::string* HelloRequest::mutable_name() { + // @@protoc_insertion_point(field_mutable:service.HelloRequest.name) + return _internal_mutable_name(); +} +inline const std::string& HelloRequest::_internal_name() const { + return name_.Get(); +} +inline void HelloRequest::_internal_set_name(const std::string& value) { + + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void HelloRequest::set_name(std::string&& value) { + + name_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.HelloRequest.name) +} +inline void HelloRequest::set_name(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.HelloRequest.name) +} +inline void HelloRequest::set_name(const char* value, + size_t size) { + + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.HelloRequest.name) +} +inline std::string* HelloRequest::_internal_mutable_name() { + + return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* HelloRequest::release_name() { + // @@protoc_insertion_point(field_release:service.HelloRequest.name) + return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void HelloRequest::set_allocated_name(std::string* name) { + if (name != nullptr) { + + } else { + + } + name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.HelloRequest.name) +} + +// ------------------------------------------------------------------- + +// HelloResponse + +// string message = 1; +inline void HelloResponse::clear_message() { + message_.ClearToEmpty(); +} +inline const std::string& HelloResponse::message() const { + // @@protoc_insertion_point(field_get:service.HelloResponse.message) + return _internal_message(); +} +inline void HelloResponse::set_message(const std::string& value) { + _internal_set_message(value); + // @@protoc_insertion_point(field_set:service.HelloResponse.message) +} +inline std::string* HelloResponse::mutable_message() { + // @@protoc_insertion_point(field_mutable:service.HelloResponse.message) + return _internal_mutable_message(); +} +inline const std::string& HelloResponse::_internal_message() const { + return message_.Get(); +} +inline void HelloResponse::_internal_set_message(const std::string& value) { + + message_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void HelloResponse::set_message(std::string&& value) { + + message_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.HelloResponse.message) +} +inline void HelloResponse::set_message(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + message_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.HelloResponse.message) +} +inline void HelloResponse::set_message(const char* value, + size_t size) { + + message_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.HelloResponse.message) +} +inline std::string* HelloResponse::_internal_mutable_message() { + + return message_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* HelloResponse::release_message() { + // @@protoc_insertion_point(field_release:service.HelloResponse.message) + return message_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void HelloResponse::set_allocated_message(std::string* message) { + if (message != nullptr) { + + } else { + + } + message_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), message, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.HelloResponse.message) +} + +// ------------------------------------------------------------------- + +// FeedbackRequest_Feedback + +// bool thumbs_up = 1; +inline void FeedbackRequest_Feedback::clear_thumbs_up() { + thumbs_up_ = false; +} +inline bool FeedbackRequest_Feedback::_internal_thumbs_up() const { + return thumbs_up_; +} +inline bool FeedbackRequest_Feedback::thumbs_up() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.Feedback.thumbs_up) + return _internal_thumbs_up(); +} +inline void FeedbackRequest_Feedback::_internal_set_thumbs_up(bool value) { + + thumbs_up_ = value; +} +inline void FeedbackRequest_Feedback::set_thumbs_up(bool value) { + _internal_set_thumbs_up(value); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.Feedback.thumbs_up) +} + +// string feedback_text = 2; +inline void FeedbackRequest_Feedback::clear_feedback_text() { + feedback_text_.ClearToEmpty(); +} +inline const std::string& FeedbackRequest_Feedback::feedback_text() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.Feedback.feedback_text) + return _internal_feedback_text(); +} +inline void FeedbackRequest_Feedback::set_feedback_text(const std::string& value) { + _internal_set_feedback_text(value); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.Feedback.feedback_text) +} +inline std::string* FeedbackRequest_Feedback::mutable_feedback_text() { + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.Feedback.feedback_text) + return _internal_mutable_feedback_text(); +} +inline const std::string& FeedbackRequest_Feedback::_internal_feedback_text() const { + return feedback_text_.Get(); +} +inline void FeedbackRequest_Feedback::_internal_set_feedback_text(const std::string& value) { + + feedback_text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void FeedbackRequest_Feedback::set_feedback_text(std::string&& value) { + + feedback_text_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.FeedbackRequest.Feedback.feedback_text) +} +inline void FeedbackRequest_Feedback::set_feedback_text(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + feedback_text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.FeedbackRequest.Feedback.feedback_text) +} +inline void FeedbackRequest_Feedback::set_feedback_text(const char* value, + size_t size) { + + feedback_text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.FeedbackRequest.Feedback.feedback_text) +} +inline std::string* FeedbackRequest_Feedback::_internal_mutable_feedback_text() { + + return feedback_text_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* FeedbackRequest_Feedback::release_feedback_text() { + // @@protoc_insertion_point(field_release:service.FeedbackRequest.Feedback.feedback_text) + return feedback_text_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void FeedbackRequest_Feedback::set_allocated_feedback_text(std::string* feedback_text) { + if (feedback_text != nullptr) { + + } else { + + } + feedback_text_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), feedback_text, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.FeedbackRequest.Feedback.feedback_text) +} + +// repeated string tags = 3; +inline int FeedbackRequest_Feedback::_internal_tags_size() const { + return tags_.size(); +} +inline int FeedbackRequest_Feedback::tags_size() const { + return _internal_tags_size(); +} +inline void FeedbackRequest_Feedback::clear_tags() { + tags_.Clear(); +} +inline std::string* FeedbackRequest_Feedback::add_tags() { + // @@protoc_insertion_point(field_add_mutable:service.FeedbackRequest.Feedback.tags) + return _internal_add_tags(); +} +inline const std::string& FeedbackRequest_Feedback::_internal_tags(int index) const { + return tags_.Get(index); +} +inline const std::string& FeedbackRequest_Feedback::tags(int index) const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.Feedback.tags) + return _internal_tags(index); +} +inline std::string* FeedbackRequest_Feedback::mutable_tags(int index) { + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.Feedback.tags) + return tags_.Mutable(index); +} +inline void FeedbackRequest_Feedback::set_tags(int index, const std::string& value) { + // @@protoc_insertion_point(field_set:service.FeedbackRequest.Feedback.tags) + tags_.Mutable(index)->assign(value); +} +inline void FeedbackRequest_Feedback::set_tags(int index, std::string&& value) { + // @@protoc_insertion_point(field_set:service.FeedbackRequest.Feedback.tags) + tags_.Mutable(index)->assign(std::move(value)); +} +inline void FeedbackRequest_Feedback::set_tags(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + tags_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:service.FeedbackRequest.Feedback.tags) +} +inline void FeedbackRequest_Feedback::set_tags(int index, const char* value, size_t size) { + tags_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:service.FeedbackRequest.Feedback.tags) +} +inline std::string* FeedbackRequest_Feedback::_internal_add_tags() { + return tags_.Add(); +} +inline void FeedbackRequest_Feedback::add_tags(const std::string& value) { + tags_.Add()->assign(value); + // @@protoc_insertion_point(field_add:service.FeedbackRequest.Feedback.tags) +} +inline void FeedbackRequest_Feedback::add_tags(std::string&& value) { + tags_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:service.FeedbackRequest.Feedback.tags) +} +inline void FeedbackRequest_Feedback::add_tags(const char* value) { + GOOGLE_DCHECK(value != nullptr); + tags_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:service.FeedbackRequest.Feedback.tags) +} +inline void FeedbackRequest_Feedback::add_tags(const char* value, size_t size) { + tags_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:service.FeedbackRequest.Feedback.tags) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& +FeedbackRequest_Feedback::tags() const { + // @@protoc_insertion_point(field_list:service.FeedbackRequest.Feedback.tags) + return tags_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* +FeedbackRequest_Feedback::mutable_tags() { + // @@protoc_insertion_point(field_mutable_list:service.FeedbackRequest.Feedback.tags) + return &tags_; +} + +// bool is_test_case = 4; +inline void FeedbackRequest_Feedback::clear_is_test_case() { + is_test_case_ = false; +} +inline bool FeedbackRequest_Feedback::_internal_is_test_case() const { + return is_test_case_; +} +inline bool FeedbackRequest_Feedback::is_test_case() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.Feedback.is_test_case) + return _internal_is_test_case(); +} +inline void FeedbackRequest_Feedback::_internal_set_is_test_case(bool value) { + + is_test_case_ = value; +} +inline void FeedbackRequest_Feedback::set_is_test_case(bool value) { + _internal_set_is_test_case(value); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.Feedback.is_test_case) +} + +// ------------------------------------------------------------------- + +// FeedbackRequest + +// string interaction_id = 1; +inline void FeedbackRequest::clear_interaction_id() { + interaction_id_.ClearToEmpty(); +} +inline const std::string& FeedbackRequest::interaction_id() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.interaction_id) + return _internal_interaction_id(); +} +inline void FeedbackRequest::set_interaction_id(const std::string& value) { + _internal_set_interaction_id(value); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.interaction_id) +} +inline std::string* FeedbackRequest::mutable_interaction_id() { + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.interaction_id) + return _internal_mutable_interaction_id(); +} +inline const std::string& FeedbackRequest::_internal_interaction_id() const { + return interaction_id_.Get(); +} +inline void FeedbackRequest::_internal_set_interaction_id(const std::string& value) { + + interaction_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void FeedbackRequest::set_interaction_id(std::string&& value) { + + interaction_id_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.FeedbackRequest.interaction_id) +} +inline void FeedbackRequest::set_interaction_id(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + interaction_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.FeedbackRequest.interaction_id) +} +inline void FeedbackRequest::set_interaction_id(const char* value, + size_t size) { + + interaction_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.FeedbackRequest.interaction_id) +} +inline std::string* FeedbackRequest::_internal_mutable_interaction_id() { + + return interaction_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* FeedbackRequest::release_interaction_id() { + // @@protoc_insertion_point(field_release:service.FeedbackRequest.interaction_id) + return interaction_id_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void FeedbackRequest::set_allocated_interaction_id(std::string* interaction_id) { + if (interaction_id != nullptr) { + + } else { + + } + interaction_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), interaction_id, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.FeedbackRequest.interaction_id) +} + +// string character_id = 2; +inline void FeedbackRequest::clear_character_id() { + character_id_.ClearToEmpty(); +} +inline const std::string& FeedbackRequest::character_id() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.character_id) + return _internal_character_id(); +} +inline void FeedbackRequest::set_character_id(const std::string& value) { + _internal_set_character_id(value); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.character_id) +} +inline std::string* FeedbackRequest::mutable_character_id() { + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.character_id) + return _internal_mutable_character_id(); +} +inline const std::string& FeedbackRequest::_internal_character_id() const { + return character_id_.Get(); +} +inline void FeedbackRequest::_internal_set_character_id(const std::string& value) { + + character_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void FeedbackRequest::set_character_id(std::string&& value) { + + character_id_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.FeedbackRequest.character_id) +} +inline void FeedbackRequest::set_character_id(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + character_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.FeedbackRequest.character_id) +} +inline void FeedbackRequest::set_character_id(const char* value, + size_t size) { + + character_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.FeedbackRequest.character_id) +} +inline std::string* FeedbackRequest::_internal_mutable_character_id() { + + return character_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* FeedbackRequest::release_character_id() { + // @@protoc_insertion_point(field_release:service.FeedbackRequest.character_id) + return character_id_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void FeedbackRequest::set_allocated_character_id(std::string* character_id) { + if (character_id != nullptr) { + + } else { + + } + character_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), character_id, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.FeedbackRequest.character_id) +} + +// string session_id = 3; +inline void FeedbackRequest::clear_session_id() { + session_id_.ClearToEmpty(); +} +inline const std::string& FeedbackRequest::session_id() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.session_id) + return _internal_session_id(); +} +inline void FeedbackRequest::set_session_id(const std::string& value) { + _internal_set_session_id(value); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.session_id) +} +inline std::string* FeedbackRequest::mutable_session_id() { + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.session_id) + return _internal_mutable_session_id(); +} +inline const std::string& FeedbackRequest::_internal_session_id() const { + return session_id_.Get(); +} +inline void FeedbackRequest::_internal_set_session_id(const std::string& value) { + + session_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void FeedbackRequest::set_session_id(std::string&& value) { + + session_id_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.FeedbackRequest.session_id) +} +inline void FeedbackRequest::set_session_id(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + session_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.FeedbackRequest.session_id) +} +inline void FeedbackRequest::set_session_id(const char* value, + size_t size) { + + session_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.FeedbackRequest.session_id) +} +inline std::string* FeedbackRequest::_internal_mutable_session_id() { + + return session_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* FeedbackRequest::release_session_id() { + // @@protoc_insertion_point(field_release:service.FeedbackRequest.session_id) + return session_id_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void FeedbackRequest::set_allocated_session_id(std::string* session_id) { + if (session_id != nullptr) { + + } else { + + } + session_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), session_id, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.FeedbackRequest.session_id) +} + +// .service.FeedbackRequest.Feedback text_feedback = 5; +inline bool FeedbackRequest::_internal_has_text_feedback() const { + return this != internal_default_instance() && text_feedback_ != nullptr; +} +inline bool FeedbackRequest::has_text_feedback() const { + return _internal_has_text_feedback(); +} +inline void FeedbackRequest::clear_text_feedback() { + if (GetArena() == nullptr && text_feedback_ != nullptr) { + delete text_feedback_; + } + text_feedback_ = nullptr; +} +inline const ::service::FeedbackRequest_Feedback& FeedbackRequest::_internal_text_feedback() const { + const ::service::FeedbackRequest_Feedback* p = text_feedback_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_FeedbackRequest_Feedback_default_instance_); +} +inline const ::service::FeedbackRequest_Feedback& FeedbackRequest::text_feedback() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.text_feedback) + return _internal_text_feedback(); +} +inline void FeedbackRequest::unsafe_arena_set_allocated_text_feedback( + ::service::FeedbackRequest_Feedback* text_feedback) { + if (GetArena() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(text_feedback_); + } + text_feedback_ = text_feedback; + if (text_feedback) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.FeedbackRequest.text_feedback) +} +inline ::service::FeedbackRequest_Feedback* FeedbackRequest::release_text_feedback() { + + ::service::FeedbackRequest_Feedback* temp = text_feedback_; + text_feedback_ = nullptr; + if (GetArena() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + return temp; +} +inline ::service::FeedbackRequest_Feedback* FeedbackRequest::unsafe_arena_release_text_feedback() { + // @@protoc_insertion_point(field_release:service.FeedbackRequest.text_feedback) + + ::service::FeedbackRequest_Feedback* temp = text_feedback_; + text_feedback_ = nullptr; + return temp; +} +inline ::service::FeedbackRequest_Feedback* FeedbackRequest::_internal_mutable_text_feedback() { + + if (text_feedback_ == nullptr) { + auto* p = CreateMaybeMessage<::service::FeedbackRequest_Feedback>(GetArena()); + text_feedback_ = p; + } + return text_feedback_; +} +inline ::service::FeedbackRequest_Feedback* FeedbackRequest::mutable_text_feedback() { + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.text_feedback) + return _internal_mutable_text_feedback(); +} +inline void FeedbackRequest::set_allocated_text_feedback(::service::FeedbackRequest_Feedback* text_feedback) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena(); + if (message_arena == nullptr) { + delete text_feedback_; + } + if (text_feedback) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(text_feedback); + if (message_arena != submessage_arena) { + text_feedback = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, text_feedback, submessage_arena); + } + + } else { + + } + text_feedback_ = text_feedback; + // @@protoc_insertion_point(field_set_allocated:service.FeedbackRequest.text_feedback) +} + +// string user_query = 6; +inline void FeedbackRequest::clear_user_query() { + user_query_.ClearToEmpty(); +} +inline const std::string& FeedbackRequest::user_query() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.user_query) + return _internal_user_query(); +} +inline void FeedbackRequest::set_user_query(const std::string& value) { + _internal_set_user_query(value); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.user_query) +} +inline std::string* FeedbackRequest::mutable_user_query() { + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.user_query) + return _internal_mutable_user_query(); +} +inline const std::string& FeedbackRequest::_internal_user_query() const { + return user_query_.Get(); +} +inline void FeedbackRequest::_internal_set_user_query(const std::string& value) { + + user_query_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void FeedbackRequest::set_user_query(std::string&& value) { + + user_query_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.FeedbackRequest.user_query) +} +inline void FeedbackRequest::set_user_query(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + user_query_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.FeedbackRequest.user_query) +} +inline void FeedbackRequest::set_user_query(const char* value, + size_t size) { + + user_query_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.FeedbackRequest.user_query) +} +inline std::string* FeedbackRequest::_internal_mutable_user_query() { + + return user_query_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* FeedbackRequest::release_user_query() { + // @@protoc_insertion_point(field_release:service.FeedbackRequest.user_query) + return user_query_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void FeedbackRequest::set_allocated_user_query(std::string* user_query) { + if (user_query != nullptr) { + + } else { + + } + user_query_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), user_query, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.FeedbackRequest.user_query) +} + +// string response = 7; +inline void FeedbackRequest::clear_response() { + response_.ClearToEmpty(); +} +inline const std::string& FeedbackRequest::response() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.response) + return _internal_response(); +} +inline void FeedbackRequest::set_response(const std::string& value) { + _internal_set_response(value); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.response) +} +inline std::string* FeedbackRequest::mutable_response() { + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.response) + return _internal_mutable_response(); +} +inline const std::string& FeedbackRequest::_internal_response() const { + return response_.Get(); +} +inline void FeedbackRequest::_internal_set_response(const std::string& value) { + + response_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void FeedbackRequest::set_response(std::string&& value) { + + response_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.FeedbackRequest.response) +} +inline void FeedbackRequest::set_response(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + response_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.FeedbackRequest.response) +} +inline void FeedbackRequest::set_response(const char* value, + size_t size) { + + response_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.FeedbackRequest.response) +} +inline std::string* FeedbackRequest::_internal_mutable_response() { + + return response_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* FeedbackRequest::release_response() { + // @@protoc_insertion_point(field_release:service.FeedbackRequest.response) + return response_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void FeedbackRequest::set_allocated_response(std::string* response) { + if (response != nullptr) { + + } else { + + } + response_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), response, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.FeedbackRequest.response) +} + +// ------------------------------------------------------------------- + +// FeedbackResponse + +// string feedback_response = 1; +inline void FeedbackResponse::clear_feedback_response() { + feedback_response_.ClearToEmpty(); +} +inline const std::string& FeedbackResponse::feedback_response() const { + // @@protoc_insertion_point(field_get:service.FeedbackResponse.feedback_response) + return _internal_feedback_response(); +} +inline void FeedbackResponse::set_feedback_response(const std::string& value) { + _internal_set_feedback_response(value); + // @@protoc_insertion_point(field_set:service.FeedbackResponse.feedback_response) +} +inline std::string* FeedbackResponse::mutable_feedback_response() { + // @@protoc_insertion_point(field_mutable:service.FeedbackResponse.feedback_response) + return _internal_mutable_feedback_response(); +} +inline const std::string& FeedbackResponse::_internal_feedback_response() const { + return feedback_response_.Get(); +} +inline void FeedbackResponse::_internal_set_feedback_response(const std::string& value) { + + feedback_response_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena()); +} +inline void FeedbackResponse::set_feedback_response(std::string&& value) { + + feedback_response_.Set( + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena()); + // @@protoc_insertion_point(field_set_rvalue:service.FeedbackResponse.feedback_response) +} +inline void FeedbackResponse::set_feedback_response(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + feedback_response_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena()); + // @@protoc_insertion_point(field_set_char:service.FeedbackResponse.feedback_response) +} +inline void FeedbackResponse::set_feedback_response(const char* value, + size_t size) { + + feedback_response_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string( + reinterpret_cast(value), size), GetArena()); + // @@protoc_insertion_point(field_set_pointer:service.FeedbackResponse.feedback_response) +} +inline std::string* FeedbackResponse::_internal_mutable_feedback_response() { + + return feedback_response_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena()); +} +inline std::string* FeedbackResponse::release_feedback_response() { + // @@protoc_insertion_point(field_release:service.FeedbackResponse.feedback_response) + return feedback_response_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena()); +} +inline void FeedbackResponse::set_allocated_feedback_response(std::string* feedback_response) { + if (feedback_response != nullptr) { + + } else { + + } + feedback_response_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), feedback_response, + GetArena()); + // @@protoc_insertion_point(field_set_allocated:service.FeedbackResponse.feedback_response) +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace service + +PROTOBUF_NAMESPACE_OPEN + +template <> struct is_proto_enum< ::service::FaceModel> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::service::FaceModel>() { + return ::service::FaceModel_descriptor(); +} + +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_service_2eproto +#else +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: service.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_service_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_service_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3021000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3021006 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include +#include +#include +#include "arkit_blend_shapes.pb.h" +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_service_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_service_2eproto { + static const uint32_t offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_service_2eproto; +namespace service { +class ActionConfig; +struct ActionConfigDefaultTypeInternal; +extern ActionConfigDefaultTypeInternal _ActionConfig_default_instance_; +class ActionConfig_Character; +struct ActionConfig_CharacterDefaultTypeInternal; +extern ActionConfig_CharacterDefaultTypeInternal _ActionConfig_Character_default_instance_; +class ActionConfig_Object; +struct ActionConfig_ObjectDefaultTypeInternal; +extern ActionConfig_ObjectDefaultTypeInternal _ActionConfig_Object_default_instance_; +class AudioConfig; +struct AudioConfigDefaultTypeInternal; +extern AudioConfigDefaultTypeInternal _AudioConfig_default_instance_; +class BlendShapesData; +struct BlendShapesDataDefaultTypeInternal; +extern BlendShapesDataDefaultTypeInternal _BlendShapesData_default_instance_; +class DynamicInfoConfig; +struct DynamicInfoConfigDefaultTypeInternal; +extern DynamicInfoConfigDefaultTypeInternal _DynamicInfoConfig_default_instance_; +class EmotionResponse; +struct EmotionResponseDefaultTypeInternal; +extern EmotionResponseDefaultTypeInternal _EmotionResponse_default_instance_; +class FeedbackRequest; +struct FeedbackRequestDefaultTypeInternal; +extern FeedbackRequestDefaultTypeInternal _FeedbackRequest_default_instance_; +class FeedbackRequest_Feedback; +struct FeedbackRequest_FeedbackDefaultTypeInternal; +extern FeedbackRequest_FeedbackDefaultTypeInternal _FeedbackRequest_Feedback_default_instance_; +class FeedbackResponse; +struct FeedbackResponseDefaultTypeInternal; +extern FeedbackResponseDefaultTypeInternal _FeedbackResponse_default_instance_; +class GetResponseRequest; +struct GetResponseRequestDefaultTypeInternal; +extern GetResponseRequestDefaultTypeInternal _GetResponseRequest_default_instance_; +class GetResponseRequestSingle; +struct GetResponseRequestSingleDefaultTypeInternal; +extern GetResponseRequestSingleDefaultTypeInternal _GetResponseRequestSingle_default_instance_; +class GetResponseRequest_GetResponseConfig; +struct GetResponseRequest_GetResponseConfigDefaultTypeInternal; +extern GetResponseRequest_GetResponseConfigDefaultTypeInternal _GetResponseRequest_GetResponseConfig_default_instance_; +class GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse; +struct GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUseDefaultTypeInternal; +extern GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUseDefaultTypeInternal _GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse_default_instance_; +class GetResponseRequest_GetResponseData; +struct GetResponseRequest_GetResponseDataDefaultTypeInternal; +extern GetResponseRequest_GetResponseDataDefaultTypeInternal _GetResponseRequest_GetResponseData_default_instance_; +class GetResponseResponse; +struct GetResponseResponseDefaultTypeInternal; +extern GetResponseResponseDefaultTypeInternal _GetResponseResponse_default_instance_; +class GetResponseResponse_ActionResponse; +struct GetResponseResponse_ActionResponseDefaultTypeInternal; +extern GetResponseResponse_ActionResponseDefaultTypeInternal _GetResponseResponse_ActionResponse_default_instance_; +class GetResponseResponse_AudioResponse; +struct GetResponseResponse_AudioResponseDefaultTypeInternal; +extern GetResponseResponse_AudioResponseDefaultTypeInternal _GetResponseResponse_AudioResponse_default_instance_; +class GetResponseResponse_BehaviorTreeResponse; +struct GetResponseResponse_BehaviorTreeResponseDefaultTypeInternal; +extern GetResponseResponse_BehaviorTreeResponseDefaultTypeInternal _GetResponseResponse_BehaviorTreeResponse_default_instance_; +class GetResponseResponse_UserTranscript; +struct GetResponseResponse_UserTranscriptDefaultTypeInternal; +extern GetResponseResponse_UserTranscriptDefaultTypeInternal _GetResponseResponse_UserTranscript_default_instance_; +class HelloRequest; +struct HelloRequestDefaultTypeInternal; +extern HelloRequestDefaultTypeInternal _HelloRequest_default_instance_; +class HelloResponse; +struct HelloResponseDefaultTypeInternal; +extern HelloResponseDefaultTypeInternal _HelloResponse_default_instance_; +class STTRequest; +struct STTRequestDefaultTypeInternal; +extern STTRequestDefaultTypeInternal _STTRequest_default_instance_; +class STTResponse; +struct STTResponseDefaultTypeInternal; +extern STTResponseDefaultTypeInternal _STTResponse_default_instance_; +class TriggerConfig; +struct TriggerConfigDefaultTypeInternal; +extern TriggerConfigDefaultTypeInternal _TriggerConfig_default_instance_; +class Viseme; +struct VisemeDefaultTypeInternal; +extern VisemeDefaultTypeInternal _Viseme_default_instance_; +class VisemesData; +struct VisemesDataDefaultTypeInternal; +extern VisemesDataDefaultTypeInternal _VisemesData_default_instance_; +class VisionInput; +struct VisionInputDefaultTypeInternal; +extern VisionInputDefaultTypeInternal _VisionInput_default_instance_; +class VisionInput_ImageData; +struct VisionInput_ImageDataDefaultTypeInternal; +extern VisionInput_ImageDataDefaultTypeInternal _VisionInput_ImageData_default_instance_; +class VisionInput_VideoData; +struct VisionInput_VideoDataDefaultTypeInternal; +extern VisionInput_VideoDataDefaultTypeInternal _VisionInput_VideoData_default_instance_; +} // namespace service +PROTOBUF_NAMESPACE_OPEN +template<> ::service::ActionConfig* Arena::CreateMaybeMessage<::service::ActionConfig>(Arena*); +template<> ::service::ActionConfig_Character* Arena::CreateMaybeMessage<::service::ActionConfig_Character>(Arena*); +template<> ::service::ActionConfig_Object* Arena::CreateMaybeMessage<::service::ActionConfig_Object>(Arena*); +template<> ::service::AudioConfig* Arena::CreateMaybeMessage<::service::AudioConfig>(Arena*); +template<> ::service::BlendShapesData* Arena::CreateMaybeMessage<::service::BlendShapesData>(Arena*); +template<> ::service::DynamicInfoConfig* Arena::CreateMaybeMessage<::service::DynamicInfoConfig>(Arena*); +template<> ::service::EmotionResponse* Arena::CreateMaybeMessage<::service::EmotionResponse>(Arena*); +template<> ::service::FeedbackRequest* Arena::CreateMaybeMessage<::service::FeedbackRequest>(Arena*); +template<> ::service::FeedbackRequest_Feedback* Arena::CreateMaybeMessage<::service::FeedbackRequest_Feedback>(Arena*); +template<> ::service::FeedbackResponse* Arena::CreateMaybeMessage<::service::FeedbackResponse>(Arena*); +template<> ::service::GetResponseRequest* Arena::CreateMaybeMessage<::service::GetResponseRequest>(Arena*); +template<> ::service::GetResponseRequestSingle* Arena::CreateMaybeMessage<::service::GetResponseRequestSingle>(Arena*); +template<> ::service::GetResponseRequest_GetResponseConfig* Arena::CreateMaybeMessage<::service::GetResponseRequest_GetResponseConfig>(Arena*); +template<> ::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse* Arena::CreateMaybeMessage<::service::GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse>(Arena*); +template<> ::service::GetResponseRequest_GetResponseData* Arena::CreateMaybeMessage<::service::GetResponseRequest_GetResponseData>(Arena*); +template<> ::service::GetResponseResponse* Arena::CreateMaybeMessage<::service::GetResponseResponse>(Arena*); +template<> ::service::GetResponseResponse_ActionResponse* Arena::CreateMaybeMessage<::service::GetResponseResponse_ActionResponse>(Arena*); +template<> ::service::GetResponseResponse_AudioResponse* Arena::CreateMaybeMessage<::service::GetResponseResponse_AudioResponse>(Arena*); +template<> ::service::GetResponseResponse_BehaviorTreeResponse* Arena::CreateMaybeMessage<::service::GetResponseResponse_BehaviorTreeResponse>(Arena*); +template<> ::service::GetResponseResponse_UserTranscript* Arena::CreateMaybeMessage<::service::GetResponseResponse_UserTranscript>(Arena*); +template<> ::service::HelloRequest* Arena::CreateMaybeMessage<::service::HelloRequest>(Arena*); +template<> ::service::HelloResponse* Arena::CreateMaybeMessage<::service::HelloResponse>(Arena*); +template<> ::service::STTRequest* Arena::CreateMaybeMessage<::service::STTRequest>(Arena*); +template<> ::service::STTResponse* Arena::CreateMaybeMessage<::service::STTResponse>(Arena*); +template<> ::service::TriggerConfig* Arena::CreateMaybeMessage<::service::TriggerConfig>(Arena*); +template<> ::service::Viseme* Arena::CreateMaybeMessage<::service::Viseme>(Arena*); +template<> ::service::VisemesData* Arena::CreateMaybeMessage<::service::VisemesData>(Arena*); +template<> ::service::VisionInput* Arena::CreateMaybeMessage<::service::VisionInput>(Arena*); +template<> ::service::VisionInput_ImageData* Arena::CreateMaybeMessage<::service::VisionInput_ImageData>(Arena*); +template<> ::service::VisionInput_VideoData* Arena::CreateMaybeMessage<::service::VisionInput_VideoData>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace service { + +enum FaceModel : int { + FACE_MODEL_UNSPECIFIED = 0, + FACE_MODEL_A_2F_MODEL_NAME = 1, + FACE_MODEL_PHONEMES_MODEL_NAME = 2, + FACE_MODEL_OVR_MODEL_NAME = 3, + FaceModel_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + FaceModel_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +}; +bool FaceModel_IsValid(int value); +constexpr FaceModel FaceModel_MIN = FACE_MODEL_UNSPECIFIED; +constexpr FaceModel FaceModel_MAX = FACE_MODEL_OVR_MODEL_NAME; +constexpr int FaceModel_ARRAYSIZE = FaceModel_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FaceModel_descriptor(); +template +inline const std::string& FaceModel_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function FaceModel_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + FaceModel_descriptor(), enum_t_value); +} +inline bool FaceModel_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, FaceModel* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + FaceModel_descriptor(), name, value); +} +// =================================================================== + +class AudioConfig final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.AudioConfig) */ { + public: + inline AudioConfig() : AudioConfig(nullptr) {} + ~AudioConfig() override; + explicit PROTOBUF_CONSTEXPR AudioConfig(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + AudioConfig(const AudioConfig& from); + AudioConfig(AudioConfig&& from) noexcept + : AudioConfig() { + *this = ::std::move(from); + } + + inline AudioConfig& operator=(const AudioConfig& from) { + CopyFrom(from); + return *this; + } + inline AudioConfig& operator=(AudioConfig&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const AudioConfig& default_instance() { + return *internal_default_instance(); + } + static inline const AudioConfig* internal_default_instance() { + return reinterpret_cast( + &_AudioConfig_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(AudioConfig& a, AudioConfig& b) { + a.Swap(&b); + } + inline void Swap(AudioConfig* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(AudioConfig* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + AudioConfig* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const AudioConfig& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const AudioConfig& from) { + AudioConfig::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(AudioConfig* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.AudioConfig"; + } + protected: + explicit AudioConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kSampleRateHertzFieldNumber = 1, + kDisableAudioFieldNumber = 2, + kEnableFacialDataFieldNumber = 3, + kEnableFacialEmotionDataFieldNumber = 5, + kFaceModelFieldNumber = 4, + }; + // int32 sample_rate_hertz = 1; + void clear_sample_rate_hertz(); + int32_t sample_rate_hertz() const; + void set_sample_rate_hertz(int32_t value); + private: + int32_t _internal_sample_rate_hertz() const; + void _internal_set_sample_rate_hertz(int32_t value); + public: + + // bool disable_audio = 2; + void clear_disable_audio(); + bool disable_audio() const; + void set_disable_audio(bool value); + private: + bool _internal_disable_audio() const; + void _internal_set_disable_audio(bool value); + public: + + // bool enable_facial_data = 3; + void clear_enable_facial_data(); + bool enable_facial_data() const; + void set_enable_facial_data(bool value); + private: + bool _internal_enable_facial_data() const; + void _internal_set_enable_facial_data(bool value); + public: + + // bool enable_facial_emotion_data = 5; + void clear_enable_facial_emotion_data(); + bool enable_facial_emotion_data() const; + void set_enable_facial_emotion_data(bool value); + private: + bool _internal_enable_facial_emotion_data() const; + void _internal_set_enable_facial_emotion_data(bool value); + public: + + // .service.FaceModel face_model = 4; + void clear_face_model(); + ::service::FaceModel face_model() const; + void set_face_model(::service::FaceModel value); + private: + ::service::FaceModel _internal_face_model() const; + void _internal_set_face_model(::service::FaceModel value); + public: + + // @@protoc_insertion_point(class_scope:service.AudioConfig) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + int32_t sample_rate_hertz_; + bool disable_audio_; + bool enable_facial_data_; + bool enable_facial_emotion_data_; + int face_model_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class TriggerConfig final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.TriggerConfig) */ { + public: + inline TriggerConfig() : TriggerConfig(nullptr) {} + ~TriggerConfig() override; + explicit PROTOBUF_CONSTEXPR TriggerConfig(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + TriggerConfig(const TriggerConfig& from); + TriggerConfig(TriggerConfig&& from) noexcept + : TriggerConfig() { + *this = ::std::move(from); + } + + inline TriggerConfig& operator=(const TriggerConfig& from) { + CopyFrom(from); + return *this; + } + inline TriggerConfig& operator=(TriggerConfig&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const TriggerConfig& default_instance() { + return *internal_default_instance(); + } + static inline const TriggerConfig* internal_default_instance() { + return reinterpret_cast( + &_TriggerConfig_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + friend void swap(TriggerConfig& a, TriggerConfig& b) { + a.Swap(&b); + } + inline void Swap(TriggerConfig* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(TriggerConfig* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + TriggerConfig* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const TriggerConfig& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const TriggerConfig& from) { + TriggerConfig::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(TriggerConfig* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.TriggerConfig"; + } + protected: + explicit TriggerConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kTriggerNameFieldNumber = 1, + kTriggerMessageFieldNumber = 2, + }; + // string trigger_name = 1; + void clear_trigger_name(); + const std::string& trigger_name() const; + template + void set_trigger_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_trigger_name(); + PROTOBUF_NODISCARD std::string* release_trigger_name(); + void set_allocated_trigger_name(std::string* trigger_name); + private: + const std::string& _internal_trigger_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_trigger_name(const std::string& value); + std::string* _internal_mutable_trigger_name(); + public: + + // string trigger_message = 2; + void clear_trigger_message(); + const std::string& trigger_message() const; + template + void set_trigger_message(ArgT0&& arg0, ArgT... args); + std::string* mutable_trigger_message(); + PROTOBUF_NODISCARD std::string* release_trigger_message(); + void set_allocated_trigger_message(std::string* trigger_message); + private: + const std::string& _internal_trigger_message() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_trigger_message(const std::string& value); + std::string* _internal_mutable_trigger_message(); + public: + + // @@protoc_insertion_point(class_scope:service.TriggerConfig) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr trigger_name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr trigger_message_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class ActionConfig_Character final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.ActionConfig.Character) */ { + public: + inline ActionConfig_Character() : ActionConfig_Character(nullptr) {} + ~ActionConfig_Character() override; + explicit PROTOBUF_CONSTEXPR ActionConfig_Character(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ActionConfig_Character(const ActionConfig_Character& from); + ActionConfig_Character(ActionConfig_Character&& from) noexcept + : ActionConfig_Character() { + *this = ::std::move(from); + } + + inline ActionConfig_Character& operator=(const ActionConfig_Character& from) { + CopyFrom(from); + return *this; + } + inline ActionConfig_Character& operator=(ActionConfig_Character&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ActionConfig_Character& default_instance() { + return *internal_default_instance(); + } + static inline const ActionConfig_Character* internal_default_instance() { + return reinterpret_cast( + &_ActionConfig_Character_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(ActionConfig_Character& a, ActionConfig_Character& b) { + a.Swap(&b); + } + inline void Swap(ActionConfig_Character* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ActionConfig_Character* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ActionConfig_Character* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ActionConfig_Character& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const ActionConfig_Character& from) { + ActionConfig_Character::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ActionConfig_Character* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.ActionConfig.Character"; + } + protected: + explicit ActionConfig_Character(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 1, + kBioFieldNumber = 2, + }; + // string name = 1; + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // string bio = 2; + void clear_bio(); + const std::string& bio() const; + template + void set_bio(ArgT0&& arg0, ArgT... args); + std::string* mutable_bio(); + PROTOBUF_NODISCARD std::string* release_bio(); + void set_allocated_bio(std::string* bio); + private: + const std::string& _internal_bio() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_bio(const std::string& value); + std::string* _internal_mutable_bio(); + public: + + // @@protoc_insertion_point(class_scope:service.ActionConfig.Character) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr bio_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class ActionConfig_Object final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.ActionConfig.Object) */ { + public: + inline ActionConfig_Object() : ActionConfig_Object(nullptr) {} + ~ActionConfig_Object() override; + explicit PROTOBUF_CONSTEXPR ActionConfig_Object(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ActionConfig_Object(const ActionConfig_Object& from); + ActionConfig_Object(ActionConfig_Object&& from) noexcept + : ActionConfig_Object() { + *this = ::std::move(from); + } + + inline ActionConfig_Object& operator=(const ActionConfig_Object& from) { + CopyFrom(from); + return *this; + } + inline ActionConfig_Object& operator=(ActionConfig_Object&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ActionConfig_Object& default_instance() { + return *internal_default_instance(); + } + static inline const ActionConfig_Object* internal_default_instance() { + return reinterpret_cast( + &_ActionConfig_Object_default_instance_); + } + static constexpr int kIndexInFileMessages = + 3; + + friend void swap(ActionConfig_Object& a, ActionConfig_Object& b) { + a.Swap(&b); + } + inline void Swap(ActionConfig_Object* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ActionConfig_Object* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ActionConfig_Object* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ActionConfig_Object& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const ActionConfig_Object& from) { + ActionConfig_Object::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ActionConfig_Object* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.ActionConfig.Object"; + } + protected: + explicit ActionConfig_Object(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 1, + kDescriptionFieldNumber = 2, + }; + // string name = 1; + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // string description = 2; + void clear_description(); + const std::string& description() const; + template + void set_description(ArgT0&& arg0, ArgT... args); + std::string* mutable_description(); + PROTOBUF_NODISCARD std::string* release_description(); + void set_allocated_description(std::string* description); + private: + const std::string& _internal_description() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_description(const std::string& value); + std::string* _internal_mutable_description(); + public: + + // @@protoc_insertion_point(class_scope:service.ActionConfig.Object) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr description_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class ActionConfig final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.ActionConfig) */ { + public: + inline ActionConfig() : ActionConfig(nullptr) {} + ~ActionConfig() override; + explicit PROTOBUF_CONSTEXPR ActionConfig(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ActionConfig(const ActionConfig& from); + ActionConfig(ActionConfig&& from) noexcept + : ActionConfig() { + *this = ::std::move(from); + } + + inline ActionConfig& operator=(const ActionConfig& from) { + CopyFrom(from); + return *this; + } + inline ActionConfig& operator=(ActionConfig&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ActionConfig& default_instance() { + return *internal_default_instance(); + } + static inline const ActionConfig* internal_default_instance() { + return reinterpret_cast( + &_ActionConfig_default_instance_); + } + static constexpr int kIndexInFileMessages = + 4; + + friend void swap(ActionConfig& a, ActionConfig& b) { + a.Swap(&b); + } + inline void Swap(ActionConfig* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ActionConfig* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ActionConfig* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ActionConfig& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const ActionConfig& from) { + ActionConfig::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ActionConfig* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.ActionConfig"; + } + protected: + explicit ActionConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef ActionConfig_Character Character; + typedef ActionConfig_Object Object; + + // accessors ------------------------------------------------------- + + enum : int { + kActionsFieldNumber = 1, + kCharactersFieldNumber = 2, + kObjectsFieldNumber = 3, + kClassificationFieldNumber = 4, + kCurrentAttentionObjectFieldNumber = 6, + kContextLevelFieldNumber = 5, + }; + // repeated string actions = 1; + int actions_size() const; + private: + int _internal_actions_size() const; + public: + void clear_actions(); + const std::string& actions(int index) const; + std::string* mutable_actions(int index); + void set_actions(int index, const std::string& value); + void set_actions(int index, std::string&& value); + void set_actions(int index, const char* value); + void set_actions(int index, const char* value, size_t size); + std::string* add_actions(); + void add_actions(const std::string& value); + void add_actions(std::string&& value); + void add_actions(const char* value); + void add_actions(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& actions() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_actions(); + private: + const std::string& _internal_actions(int index) const; + std::string* _internal_add_actions(); + public: + + // repeated .service.ActionConfig.Character characters = 2; + int characters_size() const; + private: + int _internal_characters_size() const; + public: + void clear_characters(); + ::service::ActionConfig_Character* mutable_characters(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Character >* + mutable_characters(); + private: + const ::service::ActionConfig_Character& _internal_characters(int index) const; + ::service::ActionConfig_Character* _internal_add_characters(); + public: + const ::service::ActionConfig_Character& characters(int index) const; + ::service::ActionConfig_Character* add_characters(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Character >& + characters() const; + + // repeated .service.ActionConfig.Object objects = 3; + int objects_size() const; + private: + int _internal_objects_size() const; + public: + void clear_objects(); + ::service::ActionConfig_Object* mutable_objects(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Object >* + mutable_objects(); + private: + const ::service::ActionConfig_Object& _internal_objects(int index) const; + ::service::ActionConfig_Object* _internal_add_objects(); + public: + const ::service::ActionConfig_Object& objects(int index) const; + ::service::ActionConfig_Object* add_objects(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Object >& + objects() const; + + // string classification = 4; + void clear_classification(); + const std::string& classification() const; + template + void set_classification(ArgT0&& arg0, ArgT... args); + std::string* mutable_classification(); + PROTOBUF_NODISCARD std::string* release_classification(); + void set_allocated_classification(std::string* classification); + private: + const std::string& _internal_classification() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_classification(const std::string& value); + std::string* _internal_mutable_classification(); + public: + + // string current_attention_object = 6; + void clear_current_attention_object(); + const std::string& current_attention_object() const; + template + void set_current_attention_object(ArgT0&& arg0, ArgT... args); + std::string* mutable_current_attention_object(); + PROTOBUF_NODISCARD std::string* release_current_attention_object(); + void set_allocated_current_attention_object(std::string* current_attention_object); + private: + const std::string& _internal_current_attention_object() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_current_attention_object(const std::string& value); + std::string* _internal_mutable_current_attention_object(); + public: + + // int32 context_level = 5; + void clear_context_level(); + int32_t context_level() const; + void set_context_level(int32_t value); + private: + int32_t _internal_context_level() const; + void _internal_set_context_level(int32_t value); + public: + + // @@protoc_insertion_point(class_scope:service.ActionConfig) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField actions_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Character > characters_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Object > objects_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr classification_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr current_attention_object_; + int32_t context_level_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class STTRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.STTRequest) */ { + public: + inline STTRequest() : STTRequest(nullptr) {} + ~STTRequest() override; + explicit PROTOBUF_CONSTEXPR STTRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + STTRequest(const STTRequest& from); + STTRequest(STTRequest&& from) noexcept + : STTRequest() { + *this = ::std::move(from); + } + + inline STTRequest& operator=(const STTRequest& from) { + CopyFrom(from); + return *this; + } + inline STTRequest& operator=(STTRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const STTRequest& default_instance() { + return *internal_default_instance(); + } + enum RequestTypeCase { + kAudioConfig = 1, + kAudioChunk = 2, + REQUEST_TYPE_NOT_SET = 0, + }; + + static inline const STTRequest* internal_default_instance() { + return reinterpret_cast( + &_STTRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 5; + + friend void swap(STTRequest& a, STTRequest& b) { + a.Swap(&b); + } + inline void Swap(STTRequest* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(STTRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + STTRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const STTRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const STTRequest& from) { + STTRequest::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(STTRequest* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.STTRequest"; + } + protected: + explicit STTRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kAudioConfigFieldNumber = 1, + kAudioChunkFieldNumber = 2, + }; + // .service.AudioConfig audio_config = 1; + bool has_audio_config() const; + private: + bool _internal_has_audio_config() const; + public: + void clear_audio_config(); + const ::service::AudioConfig& audio_config() const; + PROTOBUF_NODISCARD ::service::AudioConfig* release_audio_config(); + ::service::AudioConfig* mutable_audio_config(); + void set_allocated_audio_config(::service::AudioConfig* audio_config); + private: + const ::service::AudioConfig& _internal_audio_config() const; + ::service::AudioConfig* _internal_mutable_audio_config(); + public: + void unsafe_arena_set_allocated_audio_config( + ::service::AudioConfig* audio_config); + ::service::AudioConfig* unsafe_arena_release_audio_config(); + + // bytes audio_chunk = 2; + bool has_audio_chunk() const; + private: + bool _internal_has_audio_chunk() const; + public: + void clear_audio_chunk(); + const std::string& audio_chunk() const; + template + void set_audio_chunk(ArgT0&& arg0, ArgT... args); + std::string* mutable_audio_chunk(); + PROTOBUF_NODISCARD std::string* release_audio_chunk(); + void set_allocated_audio_chunk(std::string* audio_chunk); + private: + const std::string& _internal_audio_chunk() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_audio_chunk(const std::string& value); + std::string* _internal_mutable_audio_chunk(); + public: + + void clear_request_type(); + RequestTypeCase request_type_case() const; + // @@protoc_insertion_point(class_scope:service.STTRequest) + private: + class _Internal; + void set_has_audio_config(); + void set_has_audio_chunk(); + + inline bool has_request_type() const; + inline void clear_has_request_type(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + union RequestTypeUnion { + constexpr RequestTypeUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service::AudioConfig* audio_config_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr audio_chunk_; + } request_type_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class STTResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.STTResponse) */ { + public: + inline STTResponse() : STTResponse(nullptr) {} + ~STTResponse() override; + explicit PROTOBUF_CONSTEXPR STTResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + STTResponse(const STTResponse& from); + STTResponse(STTResponse&& from) noexcept + : STTResponse() { + *this = ::std::move(from); + } + + inline STTResponse& operator=(const STTResponse& from) { + CopyFrom(from); + return *this; + } + inline STTResponse& operator=(STTResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const STTResponse& default_instance() { + return *internal_default_instance(); + } + static inline const STTResponse* internal_default_instance() { + return reinterpret_cast( + &_STTResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 6; + + friend void swap(STTResponse& a, STTResponse& b) { + a.Swap(&b); + } + inline void Swap(STTResponse* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(STTResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + STTResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const STTResponse& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const STTResponse& from) { + STTResponse::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(STTResponse* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.STTResponse"; + } + protected: + explicit STTResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kTextFieldNumber = 1, + }; + // string text = 1; + void clear_text(); + const std::string& text() const; + template + void set_text(ArgT0&& arg0, ArgT... args); + std::string* mutable_text(); + PROTOBUF_NODISCARD std::string* release_text(); + void set_allocated_text(std::string* text); + private: + const std::string& _internal_text() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_text(const std::string& value); + std::string* _internal_mutable_text(); + public: + + // @@protoc_insertion_point(class_scope:service.STTResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class DynamicInfoConfig final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.DynamicInfoConfig) */ { + public: + inline DynamicInfoConfig() : DynamicInfoConfig(nullptr) {} + ~DynamicInfoConfig() override; + explicit PROTOBUF_CONSTEXPR DynamicInfoConfig(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + DynamicInfoConfig(const DynamicInfoConfig& from); + DynamicInfoConfig(DynamicInfoConfig&& from) noexcept + : DynamicInfoConfig() { + *this = ::std::move(from); + } + + inline DynamicInfoConfig& operator=(const DynamicInfoConfig& from) { + CopyFrom(from); + return *this; + } + inline DynamicInfoConfig& operator=(DynamicInfoConfig&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const DynamicInfoConfig& default_instance() { + return *internal_default_instance(); + } + static inline const DynamicInfoConfig* internal_default_instance() { + return reinterpret_cast( + &_DynamicInfoConfig_default_instance_); + } + static constexpr int kIndexInFileMessages = + 7; + + friend void swap(DynamicInfoConfig& a, DynamicInfoConfig& b) { + a.Swap(&b); + } + inline void Swap(DynamicInfoConfig* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(DynamicInfoConfig* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + DynamicInfoConfig* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const DynamicInfoConfig& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const DynamicInfoConfig& from) { + DynamicInfoConfig::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(DynamicInfoConfig* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.DynamicInfoConfig"; + } + protected: + explicit DynamicInfoConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kTextFieldNumber = 1, + }; + // string text = 1; + void clear_text(); + const std::string& text() const; + template + void set_text(ArgT0&& arg0, ArgT... args); + std::string* mutable_text(); + PROTOBUF_NODISCARD std::string* release_text(); + void set_allocated_text(std::string* text); + private: + const std::string& _internal_text() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_text(const std::string& value); + std::string* _internal_mutable_text(); + public: + + // @@protoc_insertion_point(class_scope:service.DynamicInfoConfig) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class VisionInput_ImageData final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.VisionInput.ImageData) */ { + public: + inline VisionInput_ImageData() : VisionInput_ImageData(nullptr) {} + ~VisionInput_ImageData() override; + explicit PROTOBUF_CONSTEXPR VisionInput_ImageData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + VisionInput_ImageData(const VisionInput_ImageData& from); + VisionInput_ImageData(VisionInput_ImageData&& from) noexcept + : VisionInput_ImageData() { + *this = ::std::move(from); + } + + inline VisionInput_ImageData& operator=(const VisionInput_ImageData& from) { + CopyFrom(from); + return *this; + } + inline VisionInput_ImageData& operator=(VisionInput_ImageData&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const VisionInput_ImageData& default_instance() { + return *internal_default_instance(); + } + static inline const VisionInput_ImageData* internal_default_instance() { + return reinterpret_cast( + &_VisionInput_ImageData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 8; + + friend void swap(VisionInput_ImageData& a, VisionInput_ImageData& b) { + a.Swap(&b); + } + inline void Swap(VisionInput_ImageData* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(VisionInput_ImageData* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + VisionInput_ImageData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const VisionInput_ImageData& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const VisionInput_ImageData& from) { + VisionInput_ImageData::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(VisionInput_ImageData* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.VisionInput.ImageData"; + } + protected: + explicit VisionInput_ImageData(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kDataFieldNumber = 3, + kWidthFieldNumber = 1, + kHeightFieldNumber = 2, + }; + // bytes data = 3; + void clear_data(); + const std::string& data() const; + template + void set_data(ArgT0&& arg0, ArgT... args); + std::string* mutable_data(); + PROTOBUF_NODISCARD std::string* release_data(); + void set_allocated_data(std::string* data); + private: + const std::string& _internal_data() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_data(const std::string& value); + std::string* _internal_mutable_data(); + public: + + // int32 width = 1; + void clear_width(); + int32_t width() const; + void set_width(int32_t value); + private: + int32_t _internal_width() const; + void _internal_set_width(int32_t value); + public: + + // int32 height = 2; + void clear_height(); + int32_t height() const; + void set_height(int32_t value); + private: + int32_t _internal_height() const; + void _internal_set_height(int32_t value); + public: + + // @@protoc_insertion_point(class_scope:service.VisionInput.ImageData) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr data_; + int32_t width_; + int32_t height_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class VisionInput_VideoData final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.VisionInput.VideoData) */ { + public: + inline VisionInput_VideoData() : VisionInput_VideoData(nullptr) {} + ~VisionInput_VideoData() override; + explicit PROTOBUF_CONSTEXPR VisionInput_VideoData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + VisionInput_VideoData(const VisionInput_VideoData& from); + VisionInput_VideoData(VisionInput_VideoData&& from) noexcept + : VisionInput_VideoData() { + *this = ::std::move(from); + } + + inline VisionInput_VideoData& operator=(const VisionInput_VideoData& from) { + CopyFrom(from); + return *this; + } + inline VisionInput_VideoData& operator=(VisionInput_VideoData&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const VisionInput_VideoData& default_instance() { + return *internal_default_instance(); + } + static inline const VisionInput_VideoData* internal_default_instance() { + return reinterpret_cast( + &_VisionInput_VideoData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 9; + + friend void swap(VisionInput_VideoData& a, VisionInput_VideoData& b) { + a.Swap(&b); + } + inline void Swap(VisionInput_VideoData* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(VisionInput_VideoData* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + VisionInput_VideoData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const VisionInput_VideoData& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const VisionInput_VideoData& from) { + VisionInput_VideoData::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(VisionInput_VideoData* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.VisionInput.VideoData"; + } + protected: + explicit VisionInput_VideoData(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kDataFieldNumber = 4, + kFpsFieldNumber = 1, + kWidthFieldNumber = 2, + kHeightFieldNumber = 3, + }; + // bytes data = 4; + void clear_data(); + const std::string& data() const; + template + void set_data(ArgT0&& arg0, ArgT... args); + std::string* mutable_data(); + PROTOBUF_NODISCARD std::string* release_data(); + void set_allocated_data(std::string* data); + private: + const std::string& _internal_data() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_data(const std::string& value); + std::string* _internal_mutable_data(); + public: + + // int32 fps = 1; + void clear_fps(); + int32_t fps() const; + void set_fps(int32_t value); + private: + int32_t _internal_fps() const; + void _internal_set_fps(int32_t value); + public: + + // int32 width = 2; + void clear_width(); + int32_t width() const; + void set_width(int32_t value); + private: + int32_t _internal_width() const; + void _internal_set_width(int32_t value); + public: + + // int32 height = 3; + void clear_height(); + int32_t height() const; + void set_height(int32_t value); + private: + int32_t _internal_height() const; + void _internal_set_height(int32_t value); + public: + + // @@protoc_insertion_point(class_scope:service.VisionInput.VideoData) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr data_; + int32_t fps_; + int32_t width_; + int32_t height_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class VisionInput final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.VisionInput) */ { + public: + inline VisionInput() : VisionInput(nullptr) {} + ~VisionInput() override; + explicit PROTOBUF_CONSTEXPR VisionInput(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + VisionInput(const VisionInput& from); + VisionInput(VisionInput&& from) noexcept + : VisionInput() { + *this = ::std::move(from); + } + + inline VisionInput& operator=(const VisionInput& from) { + CopyFrom(from); + return *this; + } + inline VisionInput& operator=(VisionInput&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const VisionInput& default_instance() { + return *internal_default_instance(); + } + enum VisionDataCase { + kImageData = 1, + kVideoData = 2, + VISION_DATA_NOT_SET = 0, + }; + + static inline const VisionInput* internal_default_instance() { + return reinterpret_cast( + &_VisionInput_default_instance_); + } + static constexpr int kIndexInFileMessages = + 10; + + friend void swap(VisionInput& a, VisionInput& b) { + a.Swap(&b); + } + inline void Swap(VisionInput* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(VisionInput* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + VisionInput* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const VisionInput& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const VisionInput& from) { + VisionInput::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(VisionInput* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.VisionInput"; + } + protected: + explicit VisionInput(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef VisionInput_ImageData ImageData; + typedef VisionInput_VideoData VideoData; + + // accessors ------------------------------------------------------- + + enum : int { + kImageDataFieldNumber = 1, + kVideoDataFieldNumber = 2, + }; + // .service.VisionInput.ImageData image_data = 1; + bool has_image_data() const; + private: + bool _internal_has_image_data() const; + public: + void clear_image_data(); + const ::service::VisionInput_ImageData& image_data() const; + PROTOBUF_NODISCARD ::service::VisionInput_ImageData* release_image_data(); + ::service::VisionInput_ImageData* mutable_image_data(); + void set_allocated_image_data(::service::VisionInput_ImageData* image_data); + private: + const ::service::VisionInput_ImageData& _internal_image_data() const; + ::service::VisionInput_ImageData* _internal_mutable_image_data(); + public: + void unsafe_arena_set_allocated_image_data( + ::service::VisionInput_ImageData* image_data); + ::service::VisionInput_ImageData* unsafe_arena_release_image_data(); + + // .service.VisionInput.VideoData video_data = 2; + bool has_video_data() const; + private: + bool _internal_has_video_data() const; + public: + void clear_video_data(); + const ::service::VisionInput_VideoData& video_data() const; + PROTOBUF_NODISCARD ::service::VisionInput_VideoData* release_video_data(); + ::service::VisionInput_VideoData* mutable_video_data(); + void set_allocated_video_data(::service::VisionInput_VideoData* video_data); + private: + const ::service::VisionInput_VideoData& _internal_video_data() const; + ::service::VisionInput_VideoData* _internal_mutable_video_data(); + public: + void unsafe_arena_set_allocated_video_data( + ::service::VisionInput_VideoData* video_data); + ::service::VisionInput_VideoData* unsafe_arena_release_video_data(); + + void clear_vision_data(); + VisionDataCase vision_data_case() const; + // @@protoc_insertion_point(class_scope:service.VisionInput) + private: + class _Internal; + void set_has_image_data(); + void set_has_video_data(); + + inline bool has_vision_data() const; + inline void clear_has_vision_data(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + union VisionDataUnion { + constexpr VisionDataUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service::VisionInput_ImageData* image_data_; + ::service::VisionInput_VideoData* video_data_; + } vision_data_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry { +public: + typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry SuperType; + GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse(); + explicit PROTOBUF_CONSTEXPR GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + explicit GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena); + void MergeFrom(const GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse& other); + static const GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse_default_instance_); } + static bool ValidateKey(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "service.GetResponseRequest.GetResponseConfig.NarrativeTemplateKeysEntry.key"); + } + static bool ValidateValue(std::string* s) { + return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "service.GetResponseRequest.GetResponseConfig.NarrativeTemplateKeysEntry.value"); + } + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + friend struct ::TableStruct_service_2eproto; +}; + +// ------------------------------------------------------------------- + +class GetResponseRequest_GetResponseConfig final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseRequest.GetResponseConfig) */ { + public: + inline GetResponseRequest_GetResponseConfig() : GetResponseRequest_GetResponseConfig(nullptr) {} + ~GetResponseRequest_GetResponseConfig() override; + explicit PROTOBUF_CONSTEXPR GetResponseRequest_GetResponseConfig(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetResponseRequest_GetResponseConfig(const GetResponseRequest_GetResponseConfig& from); + GetResponseRequest_GetResponseConfig(GetResponseRequest_GetResponseConfig&& from) noexcept + : GetResponseRequest_GetResponseConfig() { + *this = ::std::move(from); + } + + inline GetResponseRequest_GetResponseConfig& operator=(const GetResponseRequest_GetResponseConfig& from) { + CopyFrom(from); + return *this; + } + inline GetResponseRequest_GetResponseConfig& operator=(GetResponseRequest_GetResponseConfig&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GetResponseRequest_GetResponseConfig& default_instance() { + return *internal_default_instance(); + } + static inline const GetResponseRequest_GetResponseConfig* internal_default_instance() { + return reinterpret_cast( + &_GetResponseRequest_GetResponseConfig_default_instance_); + } + static constexpr int kIndexInFileMessages = + 12; + + friend void swap(GetResponseRequest_GetResponseConfig& a, GetResponseRequest_GetResponseConfig& b) { + a.Swap(&b); + } + inline void Swap(GetResponseRequest_GetResponseConfig* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseRequest_GetResponseConfig* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + GetResponseRequest_GetResponseConfig* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetResponseRequest_GetResponseConfig& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const GetResponseRequest_GetResponseConfig& from) { + GetResponseRequest_GetResponseConfig::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseRequest_GetResponseConfig* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseRequest.GetResponseConfig"; + } + protected: + explicit GetResponseRequest_GetResponseConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + + // accessors ------------------------------------------------------- + + enum : int { + kNarrativeTemplateKeysFieldNumber = 11, + kCharacterIdFieldNumber = 2, + kApiKeyFieldNumber = 3, + kSessionIdFieldNumber = 4, + kSpeakerFieldNumber = 7, + kLanguageCodeFieldNumber = 8, + kSpeakerIdFieldNumber = 9, + kApiAuthTokenFieldNumber = 10, + kAudioConfigFieldNumber = 5, + kActionConfigFieldNumber = 6, + kDynamicInfoConfigFieldNumber = 12, + kVisionInputFieldNumber = 13, + }; + // map narrative_template_keys = 11; + int narrative_template_keys_size() const; + private: + int _internal_narrative_template_keys_size() const; + public: + void clear_narrative_template_keys(); + private: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& + _internal_narrative_template_keys() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* + _internal_mutable_narrative_template_keys(); + public: + const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& + narrative_template_keys() const; + ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* + mutable_narrative_template_keys(); + + // string character_id = 2; + void clear_character_id(); + const std::string& character_id() const; + template + void set_character_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_character_id(); + PROTOBUF_NODISCARD std::string* release_character_id(); + void set_allocated_character_id(std::string* character_id); + private: + const std::string& _internal_character_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_character_id(const std::string& value); + std::string* _internal_mutable_character_id(); + public: + + // string api_key = 3; + void clear_api_key(); + const std::string& api_key() const; + template + void set_api_key(ArgT0&& arg0, ArgT... args); + std::string* mutable_api_key(); + PROTOBUF_NODISCARD std::string* release_api_key(); + void set_allocated_api_key(std::string* api_key); + private: + const std::string& _internal_api_key() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_api_key(const std::string& value); + std::string* _internal_mutable_api_key(); + public: + + // string session_id = 4; + void clear_session_id(); + const std::string& session_id() const; + template + void set_session_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_session_id(); + PROTOBUF_NODISCARD std::string* release_session_id(); + void set_allocated_session_id(std::string* session_id); + private: + const std::string& _internal_session_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_session_id(const std::string& value); + std::string* _internal_mutable_session_id(); + public: + + // string speaker = 7; + void clear_speaker(); + const std::string& speaker() const; + template + void set_speaker(ArgT0&& arg0, ArgT... args); + std::string* mutable_speaker(); + PROTOBUF_NODISCARD std::string* release_speaker(); + void set_allocated_speaker(std::string* speaker); + private: + const std::string& _internal_speaker() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_speaker(const std::string& value); + std::string* _internal_mutable_speaker(); + public: + + // string language_code = 8; + void clear_language_code(); + const std::string& language_code() const; + template + void set_language_code(ArgT0&& arg0, ArgT... args); + std::string* mutable_language_code(); + PROTOBUF_NODISCARD std::string* release_language_code(); + void set_allocated_language_code(std::string* language_code); + private: + const std::string& _internal_language_code() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_language_code(const std::string& value); + std::string* _internal_mutable_language_code(); + public: + + // string speaker_id = 9; + void clear_speaker_id(); + const std::string& speaker_id() const; + template + void set_speaker_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_speaker_id(); + PROTOBUF_NODISCARD std::string* release_speaker_id(); + void set_allocated_speaker_id(std::string* speaker_id); + private: + const std::string& _internal_speaker_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_speaker_id(const std::string& value); + std::string* _internal_mutable_speaker_id(); + public: + + // string api_auth_token = 10; + void clear_api_auth_token(); + const std::string& api_auth_token() const; + template + void set_api_auth_token(ArgT0&& arg0, ArgT... args); + std::string* mutable_api_auth_token(); + PROTOBUF_NODISCARD std::string* release_api_auth_token(); + void set_allocated_api_auth_token(std::string* api_auth_token); + private: + const std::string& _internal_api_auth_token() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_api_auth_token(const std::string& value); + std::string* _internal_mutable_api_auth_token(); + public: + + // .service.AudioConfig audio_config = 5; + bool has_audio_config() const; + private: + bool _internal_has_audio_config() const; + public: + void clear_audio_config(); + const ::service::AudioConfig& audio_config() const; + PROTOBUF_NODISCARD ::service::AudioConfig* release_audio_config(); + ::service::AudioConfig* mutable_audio_config(); + void set_allocated_audio_config(::service::AudioConfig* audio_config); + private: + const ::service::AudioConfig& _internal_audio_config() const; + ::service::AudioConfig* _internal_mutable_audio_config(); + public: + void unsafe_arena_set_allocated_audio_config( + ::service::AudioConfig* audio_config); + ::service::AudioConfig* unsafe_arena_release_audio_config(); + + // .service.ActionConfig action_config = 6; + bool has_action_config() const; + private: + bool _internal_has_action_config() const; + public: + void clear_action_config(); + const ::service::ActionConfig& action_config() const; + PROTOBUF_NODISCARD ::service::ActionConfig* release_action_config(); + ::service::ActionConfig* mutable_action_config(); + void set_allocated_action_config(::service::ActionConfig* action_config); + private: + const ::service::ActionConfig& _internal_action_config() const; + ::service::ActionConfig* _internal_mutable_action_config(); + public: + void unsafe_arena_set_allocated_action_config( + ::service::ActionConfig* action_config); + ::service::ActionConfig* unsafe_arena_release_action_config(); + + // .service.DynamicInfoConfig dynamic_info_config = 12; + bool has_dynamic_info_config() const; + private: + bool _internal_has_dynamic_info_config() const; + public: + void clear_dynamic_info_config(); + const ::service::DynamicInfoConfig& dynamic_info_config() const; + PROTOBUF_NODISCARD ::service::DynamicInfoConfig* release_dynamic_info_config(); + ::service::DynamicInfoConfig* mutable_dynamic_info_config(); + void set_allocated_dynamic_info_config(::service::DynamicInfoConfig* dynamic_info_config); + private: + const ::service::DynamicInfoConfig& _internal_dynamic_info_config() const; + ::service::DynamicInfoConfig* _internal_mutable_dynamic_info_config(); + public: + void unsafe_arena_set_allocated_dynamic_info_config( + ::service::DynamicInfoConfig* dynamic_info_config); + ::service::DynamicInfoConfig* unsafe_arena_release_dynamic_info_config(); + + // .service.VisionInput vision_input = 13; + bool has_vision_input() const; + private: + bool _internal_has_vision_input() const; + public: + void clear_vision_input(); + const ::service::VisionInput& vision_input() const; + PROTOBUF_NODISCARD ::service::VisionInput* release_vision_input(); + ::service::VisionInput* mutable_vision_input(); + void set_allocated_vision_input(::service::VisionInput* vision_input); + private: + const ::service::VisionInput& _internal_vision_input() const; + ::service::VisionInput* _internal_mutable_vision_input(); + public: + void unsafe_arena_set_allocated_vision_input( + ::service::VisionInput* vision_input); + ::service::VisionInput* unsafe_arena_release_vision_input(); + + // @@protoc_insertion_point(class_scope:service.GetResponseRequest.GetResponseConfig) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::MapField< + GetResponseRequest_GetResponseConfig_NarrativeTemplateKeysEntry_DoNotUse, + std::string, std::string, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> narrative_template_keys_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr character_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr api_key_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr session_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr speaker_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr language_code_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr speaker_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr api_auth_token_; + ::service::AudioConfig* audio_config_; + ::service::ActionConfig* action_config_; + ::service::DynamicInfoConfig* dynamic_info_config_; + ::service::VisionInput* vision_input_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseRequest_GetResponseData final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseRequest.GetResponseData) */ { + public: + inline GetResponseRequest_GetResponseData() : GetResponseRequest_GetResponseData(nullptr) {} + ~GetResponseRequest_GetResponseData() override; + explicit PROTOBUF_CONSTEXPR GetResponseRequest_GetResponseData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetResponseRequest_GetResponseData(const GetResponseRequest_GetResponseData& from); + GetResponseRequest_GetResponseData(GetResponseRequest_GetResponseData&& from) noexcept + : GetResponseRequest_GetResponseData() { + *this = ::std::move(from); + } + + inline GetResponseRequest_GetResponseData& operator=(const GetResponseRequest_GetResponseData& from) { + CopyFrom(from); + return *this; + } + inline GetResponseRequest_GetResponseData& operator=(GetResponseRequest_GetResponseData&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GetResponseRequest_GetResponseData& default_instance() { + return *internal_default_instance(); + } + enum InputTypeCase { + kAudioData = 1, + kTextData = 2, + kTriggerData = 3, + INPUT_TYPE_NOT_SET = 0, + }; + + static inline const GetResponseRequest_GetResponseData* internal_default_instance() { + return reinterpret_cast( + &_GetResponseRequest_GetResponseData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 13; + + friend void swap(GetResponseRequest_GetResponseData& a, GetResponseRequest_GetResponseData& b) { + a.Swap(&b); + } + inline void Swap(GetResponseRequest_GetResponseData* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseRequest_GetResponseData* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + GetResponseRequest_GetResponseData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetResponseRequest_GetResponseData& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const GetResponseRequest_GetResponseData& from) { + GetResponseRequest_GetResponseData::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseRequest_GetResponseData* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseRequest.GetResponseData"; + } + protected: + explicit GetResponseRequest_GetResponseData(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kAudioDataFieldNumber = 1, + kTextDataFieldNumber = 2, + kTriggerDataFieldNumber = 3, + }; + // bytes audio_data = 1; + bool has_audio_data() const; + private: + bool _internal_has_audio_data() const; + public: + void clear_audio_data(); + const std::string& audio_data() const; + template + void set_audio_data(ArgT0&& arg0, ArgT... args); + std::string* mutable_audio_data(); + PROTOBUF_NODISCARD std::string* release_audio_data(); + void set_allocated_audio_data(std::string* audio_data); + private: + const std::string& _internal_audio_data() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_audio_data(const std::string& value); + std::string* _internal_mutable_audio_data(); + public: + + // string text_data = 2; + bool has_text_data() const; + private: + bool _internal_has_text_data() const; + public: + void clear_text_data(); + const std::string& text_data() const; + template + void set_text_data(ArgT0&& arg0, ArgT... args); + std::string* mutable_text_data(); + PROTOBUF_NODISCARD std::string* release_text_data(); + void set_allocated_text_data(std::string* text_data); + private: + const std::string& _internal_text_data() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_text_data(const std::string& value); + std::string* _internal_mutable_text_data(); + public: + + // .service.TriggerConfig trigger_data = 3; + bool has_trigger_data() const; + private: + bool _internal_has_trigger_data() const; + public: + void clear_trigger_data(); + const ::service::TriggerConfig& trigger_data() const; + PROTOBUF_NODISCARD ::service::TriggerConfig* release_trigger_data(); + ::service::TriggerConfig* mutable_trigger_data(); + void set_allocated_trigger_data(::service::TriggerConfig* trigger_data); + private: + const ::service::TriggerConfig& _internal_trigger_data() const; + ::service::TriggerConfig* _internal_mutable_trigger_data(); + public: + void unsafe_arena_set_allocated_trigger_data( + ::service::TriggerConfig* trigger_data); + ::service::TriggerConfig* unsafe_arena_release_trigger_data(); + + void clear_input_type(); + InputTypeCase input_type_case() const; + // @@protoc_insertion_point(class_scope:service.GetResponseRequest.GetResponseData) + private: + class _Internal; + void set_has_audio_data(); + void set_has_text_data(); + void set_has_trigger_data(); + + inline bool has_input_type() const; + inline void clear_has_input_type(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + union InputTypeUnion { + constexpr InputTypeUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr audio_data_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_data_; + ::service::TriggerConfig* trigger_data_; + } input_type_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseRequest) */ { + public: + inline GetResponseRequest() : GetResponseRequest(nullptr) {} + ~GetResponseRequest() override; + explicit PROTOBUF_CONSTEXPR GetResponseRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetResponseRequest(const GetResponseRequest& from); + GetResponseRequest(GetResponseRequest&& from) noexcept + : GetResponseRequest() { + *this = ::std::move(from); + } + + inline GetResponseRequest& operator=(const GetResponseRequest& from) { + CopyFrom(from); + return *this; + } + inline GetResponseRequest& operator=(GetResponseRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GetResponseRequest& default_instance() { + return *internal_default_instance(); + } + enum RequestTypeCase { + kGetResponseConfig = 1, + kGetResponseData = 2, + REQUEST_TYPE_NOT_SET = 0, + }; + + static inline const GetResponseRequest* internal_default_instance() { + return reinterpret_cast( + &_GetResponseRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 14; + + friend void swap(GetResponseRequest& a, GetResponseRequest& b) { + a.Swap(&b); + } + inline void Swap(GetResponseRequest* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + GetResponseRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetResponseRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const GetResponseRequest& from) { + GetResponseRequest::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseRequest* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseRequest"; + } + protected: + explicit GetResponseRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef GetResponseRequest_GetResponseConfig GetResponseConfig; + typedef GetResponseRequest_GetResponseData GetResponseData; + + // accessors ------------------------------------------------------- + + enum : int { + kGetResponseConfigFieldNumber = 1, + kGetResponseDataFieldNumber = 2, + }; + // .service.GetResponseRequest.GetResponseConfig get_response_config = 1; + bool has_get_response_config() const; + private: + bool _internal_has_get_response_config() const; + public: + void clear_get_response_config(); + const ::service::GetResponseRequest_GetResponseConfig& get_response_config() const; + PROTOBUF_NODISCARD ::service::GetResponseRequest_GetResponseConfig* release_get_response_config(); + ::service::GetResponseRequest_GetResponseConfig* mutable_get_response_config(); + void set_allocated_get_response_config(::service::GetResponseRequest_GetResponseConfig* get_response_config); + private: + const ::service::GetResponseRequest_GetResponseConfig& _internal_get_response_config() const; + ::service::GetResponseRequest_GetResponseConfig* _internal_mutable_get_response_config(); + public: + void unsafe_arena_set_allocated_get_response_config( + ::service::GetResponseRequest_GetResponseConfig* get_response_config); + ::service::GetResponseRequest_GetResponseConfig* unsafe_arena_release_get_response_config(); + + // .service.GetResponseRequest.GetResponseData get_response_data = 2; + bool has_get_response_data() const; + private: + bool _internal_has_get_response_data() const; + public: + void clear_get_response_data(); + const ::service::GetResponseRequest_GetResponseData& get_response_data() const; + PROTOBUF_NODISCARD ::service::GetResponseRequest_GetResponseData* release_get_response_data(); + ::service::GetResponseRequest_GetResponseData* mutable_get_response_data(); + void set_allocated_get_response_data(::service::GetResponseRequest_GetResponseData* get_response_data); + private: + const ::service::GetResponseRequest_GetResponseData& _internal_get_response_data() const; + ::service::GetResponseRequest_GetResponseData* _internal_mutable_get_response_data(); + public: + void unsafe_arena_set_allocated_get_response_data( + ::service::GetResponseRequest_GetResponseData* get_response_data); + ::service::GetResponseRequest_GetResponseData* unsafe_arena_release_get_response_data(); + + void clear_request_type(); + RequestTypeCase request_type_case() const; + // @@protoc_insertion_point(class_scope:service.GetResponseRequest) + private: + class _Internal; + void set_has_get_response_config(); + void set_has_get_response_data(); + + inline bool has_request_type() const; + inline void clear_has_request_type(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + union RequestTypeUnion { + constexpr RequestTypeUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service::GetResponseRequest_GetResponseConfig* get_response_config_; + ::service::GetResponseRequest_GetResponseData* get_response_data_; + } request_type_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseRequestSingle final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseRequestSingle) */ { + public: + inline GetResponseRequestSingle() : GetResponseRequestSingle(nullptr) {} + ~GetResponseRequestSingle() override; + explicit PROTOBUF_CONSTEXPR GetResponseRequestSingle(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetResponseRequestSingle(const GetResponseRequestSingle& from); + GetResponseRequestSingle(GetResponseRequestSingle&& from) noexcept + : GetResponseRequestSingle() { + *this = ::std::move(from); + } + + inline GetResponseRequestSingle& operator=(const GetResponseRequestSingle& from) { + CopyFrom(from); + return *this; + } + inline GetResponseRequestSingle& operator=(GetResponseRequestSingle&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GetResponseRequestSingle& default_instance() { + return *internal_default_instance(); + } + static inline const GetResponseRequestSingle* internal_default_instance() { + return reinterpret_cast( + &_GetResponseRequestSingle_default_instance_); + } + static constexpr int kIndexInFileMessages = + 15; + + friend void swap(GetResponseRequestSingle& a, GetResponseRequestSingle& b) { + a.Swap(&b); + } + inline void Swap(GetResponseRequestSingle* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseRequestSingle* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + GetResponseRequestSingle* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetResponseRequestSingle& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const GetResponseRequestSingle& from) { + GetResponseRequestSingle::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseRequestSingle* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseRequestSingle"; + } + protected: + explicit GetResponseRequestSingle(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kResponseConfigFieldNumber = 1, + kResponseDataFieldNumber = 2, + }; + // .service.GetResponseRequest response_config = 1; + bool has_response_config() const; + private: + bool _internal_has_response_config() const; + public: + void clear_response_config(); + const ::service::GetResponseRequest& response_config() const; + PROTOBUF_NODISCARD ::service::GetResponseRequest* release_response_config(); + ::service::GetResponseRequest* mutable_response_config(); + void set_allocated_response_config(::service::GetResponseRequest* response_config); + private: + const ::service::GetResponseRequest& _internal_response_config() const; + ::service::GetResponseRequest* _internal_mutable_response_config(); + public: + void unsafe_arena_set_allocated_response_config( + ::service::GetResponseRequest* response_config); + ::service::GetResponseRequest* unsafe_arena_release_response_config(); + + // .service.GetResponseRequest response_data = 2; + bool has_response_data() const; + private: + bool _internal_has_response_data() const; + public: + void clear_response_data(); + const ::service::GetResponseRequest& response_data() const; + PROTOBUF_NODISCARD ::service::GetResponseRequest* release_response_data(); + ::service::GetResponseRequest* mutable_response_data(); + void set_allocated_response_data(::service::GetResponseRequest* response_data); + private: + const ::service::GetResponseRequest& _internal_response_data() const; + ::service::GetResponseRequest* _internal_mutable_response_data(); + public: + void unsafe_arena_set_allocated_response_data( + ::service::GetResponseRequest* response_data); + ::service::GetResponseRequest* unsafe_arena_release_response_data(); + + // @@protoc_insertion_point(class_scope:service.GetResponseRequestSingle) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::service::GetResponseRequest* response_config_; + ::service::GetResponseRequest* response_data_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseResponse_AudioResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseResponse.AudioResponse) */ { + public: + inline GetResponseResponse_AudioResponse() : GetResponseResponse_AudioResponse(nullptr) {} + ~GetResponseResponse_AudioResponse() override; + explicit PROTOBUF_CONSTEXPR GetResponseResponse_AudioResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetResponseResponse_AudioResponse(const GetResponseResponse_AudioResponse& from); + GetResponseResponse_AudioResponse(GetResponseResponse_AudioResponse&& from) noexcept + : GetResponseResponse_AudioResponse() { + *this = ::std::move(from); + } + + inline GetResponseResponse_AudioResponse& operator=(const GetResponseResponse_AudioResponse& from) { + CopyFrom(from); + return *this; + } + inline GetResponseResponse_AudioResponse& operator=(GetResponseResponse_AudioResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GetResponseResponse_AudioResponse& default_instance() { + return *internal_default_instance(); + } + enum FaceDataTypeCase { + kVisemesData = 6, + kBlendshapesData = 7, + FACE_DATA_TYPE_NOT_SET = 0, + }; + + static inline const GetResponseResponse_AudioResponse* internal_default_instance() { + return reinterpret_cast( + &_GetResponseResponse_AudioResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 16; + + friend void swap(GetResponseResponse_AudioResponse& a, GetResponseResponse_AudioResponse& b) { + a.Swap(&b); + } + inline void Swap(GetResponseResponse_AudioResponse* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseResponse_AudioResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + GetResponseResponse_AudioResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetResponseResponse_AudioResponse& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const GetResponseResponse_AudioResponse& from) { + GetResponseResponse_AudioResponse::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseResponse_AudioResponse* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseResponse.AudioResponse"; + } + protected: + explicit GetResponseResponse_AudioResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kAudioDataFieldNumber = 1, + kTextDataFieldNumber = 3, + kFaceDataFieldNumber = 5, + kAudioConfigFieldNumber = 2, + kFaceEmotionFieldNumber = 8, + kEmotionResponseFieldNumber = 9, + kEndOfResponseFieldNumber = 4, + kVisemesDataFieldNumber = 6, + kBlendshapesDataFieldNumber = 7, + }; + // bytes audio_data = 1; + void clear_audio_data(); + const std::string& audio_data() const; + template + void set_audio_data(ArgT0&& arg0, ArgT... args); + std::string* mutable_audio_data(); + PROTOBUF_NODISCARD std::string* release_audio_data(); + void set_allocated_audio_data(std::string* audio_data); + private: + const std::string& _internal_audio_data() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_audio_data(const std::string& value); + std::string* _internal_mutable_audio_data(); + public: + + // string text_data = 3; + void clear_text_data(); + const std::string& text_data() const; + template + void set_text_data(ArgT0&& arg0, ArgT... args); + std::string* mutable_text_data(); + PROTOBUF_NODISCARD std::string* release_text_data(); + void set_allocated_text_data(std::string* text_data); + private: + const std::string& _internal_text_data() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_text_data(const std::string& value); + std::string* _internal_mutable_text_data(); + public: + + // string face_data = 5; + void clear_face_data(); + const std::string& face_data() const; + template + void set_face_data(ArgT0&& arg0, ArgT... args); + std::string* mutable_face_data(); + PROTOBUF_NODISCARD std::string* release_face_data(); + void set_allocated_face_data(std::string* face_data); + private: + const std::string& _internal_face_data() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_face_data(const std::string& value); + std::string* _internal_mutable_face_data(); + public: + + // .service.AudioConfig audio_config = 2; + bool has_audio_config() const; + private: + bool _internal_has_audio_config() const; + public: + void clear_audio_config(); + const ::service::AudioConfig& audio_config() const; + PROTOBUF_NODISCARD ::service::AudioConfig* release_audio_config(); + ::service::AudioConfig* mutable_audio_config(); + void set_allocated_audio_config(::service::AudioConfig* audio_config); + private: + const ::service::AudioConfig& _internal_audio_config() const; + ::service::AudioConfig* _internal_mutable_audio_config(); + public: + void unsafe_arena_set_allocated_audio_config( + ::service::AudioConfig* audio_config); + ::service::AudioConfig* unsafe_arena_release_audio_config(); + + // .service.ARKitBlendShapesData face_emotion = 8; + bool has_face_emotion() const; + private: + bool _internal_has_face_emotion() const; + public: + void clear_face_emotion(); + const ::service::ARKitBlendShapesData& face_emotion() const; + PROTOBUF_NODISCARD ::service::ARKitBlendShapesData* release_face_emotion(); + ::service::ARKitBlendShapesData* mutable_face_emotion(); + void set_allocated_face_emotion(::service::ARKitBlendShapesData* face_emotion); + private: + const ::service::ARKitBlendShapesData& _internal_face_emotion() const; + ::service::ARKitBlendShapesData* _internal_mutable_face_emotion(); + public: + void unsafe_arena_set_allocated_face_emotion( + ::service::ARKitBlendShapesData* face_emotion); + ::service::ARKitBlendShapesData* unsafe_arena_release_face_emotion(); + + // .service.EmotionResponse emotion_response = 9; + bool has_emotion_response() const; + private: + bool _internal_has_emotion_response() const; + public: + void clear_emotion_response(); + const ::service::EmotionResponse& emotion_response() const; + PROTOBUF_NODISCARD ::service::EmotionResponse* release_emotion_response(); + ::service::EmotionResponse* mutable_emotion_response(); + void set_allocated_emotion_response(::service::EmotionResponse* emotion_response); + private: + const ::service::EmotionResponse& _internal_emotion_response() const; + ::service::EmotionResponse* _internal_mutable_emotion_response(); + public: + void unsafe_arena_set_allocated_emotion_response( + ::service::EmotionResponse* emotion_response); + ::service::EmotionResponse* unsafe_arena_release_emotion_response(); + + // bool end_of_response = 4; + void clear_end_of_response(); + bool end_of_response() const; + void set_end_of_response(bool value); + private: + bool _internal_end_of_response() const; + void _internal_set_end_of_response(bool value); + public: + + // .service.VisemesData visemes_data = 6; + bool has_visemes_data() const; + private: + bool _internal_has_visemes_data() const; + public: + void clear_visemes_data(); + const ::service::VisemesData& visemes_data() const; + PROTOBUF_NODISCARD ::service::VisemesData* release_visemes_data(); + ::service::VisemesData* mutable_visemes_data(); + void set_allocated_visemes_data(::service::VisemesData* visemes_data); + private: + const ::service::VisemesData& _internal_visemes_data() const; + ::service::VisemesData* _internal_mutable_visemes_data(); + public: + void unsafe_arena_set_allocated_visemes_data( + ::service::VisemesData* visemes_data); + ::service::VisemesData* unsafe_arena_release_visemes_data(); + + // .service.BlendShapesData blendshapes_data = 7; + bool has_blendshapes_data() const; + private: + bool _internal_has_blendshapes_data() const; + public: + void clear_blendshapes_data(); + const ::service::BlendShapesData& blendshapes_data() const; + PROTOBUF_NODISCARD ::service::BlendShapesData* release_blendshapes_data(); + ::service::BlendShapesData* mutable_blendshapes_data(); + void set_allocated_blendshapes_data(::service::BlendShapesData* blendshapes_data); + private: + const ::service::BlendShapesData& _internal_blendshapes_data() const; + ::service::BlendShapesData* _internal_mutable_blendshapes_data(); + public: + void unsafe_arena_set_allocated_blendshapes_data( + ::service::BlendShapesData* blendshapes_data); + ::service::BlendShapesData* unsafe_arena_release_blendshapes_data(); + + void clear_face_data_type(); + FaceDataTypeCase face_data_type_case() const; + // @@protoc_insertion_point(class_scope:service.GetResponseResponse.AudioResponse) + private: + class _Internal; + void set_has_visemes_data(); + void set_has_blendshapes_data(); + + inline bool has_face_data_type() const; + inline void clear_has_face_data_type(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr audio_data_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_data_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr face_data_; + ::service::AudioConfig* audio_config_; + ::service::ARKitBlendShapesData* face_emotion_; + ::service::EmotionResponse* emotion_response_; + bool end_of_response_; + union FaceDataTypeUnion { + constexpr FaceDataTypeUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service::VisemesData* visemes_data_; + ::service::BlendShapesData* blendshapes_data_; + } face_data_type_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseResponse_ActionResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseResponse.ActionResponse) */ { + public: + inline GetResponseResponse_ActionResponse() : GetResponseResponse_ActionResponse(nullptr) {} + ~GetResponseResponse_ActionResponse() override; + explicit PROTOBUF_CONSTEXPR GetResponseResponse_ActionResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetResponseResponse_ActionResponse(const GetResponseResponse_ActionResponse& from); + GetResponseResponse_ActionResponse(GetResponseResponse_ActionResponse&& from) noexcept + : GetResponseResponse_ActionResponse() { + *this = ::std::move(from); + } + + inline GetResponseResponse_ActionResponse& operator=(const GetResponseResponse_ActionResponse& from) { + CopyFrom(from); + return *this; + } + inline GetResponseResponse_ActionResponse& operator=(GetResponseResponse_ActionResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GetResponseResponse_ActionResponse& default_instance() { + return *internal_default_instance(); + } + static inline const GetResponseResponse_ActionResponse* internal_default_instance() { + return reinterpret_cast( + &_GetResponseResponse_ActionResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 17; + + friend void swap(GetResponseResponse_ActionResponse& a, GetResponseResponse_ActionResponse& b) { + a.Swap(&b); + } + inline void Swap(GetResponseResponse_ActionResponse* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseResponse_ActionResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + GetResponseResponse_ActionResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetResponseResponse_ActionResponse& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const GetResponseResponse_ActionResponse& from) { + GetResponseResponse_ActionResponse::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseResponse_ActionResponse* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseResponse.ActionResponse"; + } + protected: + explicit GetResponseResponse_ActionResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kActionFieldNumber = 1, + }; + // string action = 1; + void clear_action(); + const std::string& action() const; + template + void set_action(ArgT0&& arg0, ArgT... args); + std::string* mutable_action(); + PROTOBUF_NODISCARD std::string* release_action(); + void set_allocated_action(std::string* action); + private: + const std::string& _internal_action() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_action(const std::string& value); + std::string* _internal_mutable_action(); + public: + + // @@protoc_insertion_point(class_scope:service.GetResponseResponse.ActionResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr action_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseResponse_BehaviorTreeResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseResponse.BehaviorTreeResponse) */ { + public: + inline GetResponseResponse_BehaviorTreeResponse() : GetResponseResponse_BehaviorTreeResponse(nullptr) {} + ~GetResponseResponse_BehaviorTreeResponse() override; + explicit PROTOBUF_CONSTEXPR GetResponseResponse_BehaviorTreeResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetResponseResponse_BehaviorTreeResponse(const GetResponseResponse_BehaviorTreeResponse& from); + GetResponseResponse_BehaviorTreeResponse(GetResponseResponse_BehaviorTreeResponse&& from) noexcept + : GetResponseResponse_BehaviorTreeResponse() { + *this = ::std::move(from); + } + + inline GetResponseResponse_BehaviorTreeResponse& operator=(const GetResponseResponse_BehaviorTreeResponse& from) { + CopyFrom(from); + return *this; + } + inline GetResponseResponse_BehaviorTreeResponse& operator=(GetResponseResponse_BehaviorTreeResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GetResponseResponse_BehaviorTreeResponse& default_instance() { + return *internal_default_instance(); + } + static inline const GetResponseResponse_BehaviorTreeResponse* internal_default_instance() { + return reinterpret_cast( + &_GetResponseResponse_BehaviorTreeResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 18; + + friend void swap(GetResponseResponse_BehaviorTreeResponse& a, GetResponseResponse_BehaviorTreeResponse& b) { + a.Swap(&b); + } + inline void Swap(GetResponseResponse_BehaviorTreeResponse* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseResponse_BehaviorTreeResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + GetResponseResponse_BehaviorTreeResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetResponseResponse_BehaviorTreeResponse& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const GetResponseResponse_BehaviorTreeResponse& from) { + GetResponseResponse_BehaviorTreeResponse::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseResponse_BehaviorTreeResponse* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseResponse.BehaviorTreeResponse"; + } + protected: + explicit GetResponseResponse_BehaviorTreeResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kBtCodeFieldNumber = 1, + kBtConstantsFieldNumber = 2, + kNarrativeSectionIdFieldNumber = 3, + }; + // string bt_code = 1; + void clear_bt_code(); + const std::string& bt_code() const; + template + void set_bt_code(ArgT0&& arg0, ArgT... args); + std::string* mutable_bt_code(); + PROTOBUF_NODISCARD std::string* release_bt_code(); + void set_allocated_bt_code(std::string* bt_code); + private: + const std::string& _internal_bt_code() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_bt_code(const std::string& value); + std::string* _internal_mutable_bt_code(); + public: + + // string bt_constants = 2; + void clear_bt_constants(); + const std::string& bt_constants() const; + template + void set_bt_constants(ArgT0&& arg0, ArgT... args); + std::string* mutable_bt_constants(); + PROTOBUF_NODISCARD std::string* release_bt_constants(); + void set_allocated_bt_constants(std::string* bt_constants); + private: + const std::string& _internal_bt_constants() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_bt_constants(const std::string& value); + std::string* _internal_mutable_bt_constants(); + public: + + // string narrative_section_id = 3; + void clear_narrative_section_id(); + const std::string& narrative_section_id() const; + template + void set_narrative_section_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_narrative_section_id(); + PROTOBUF_NODISCARD std::string* release_narrative_section_id(); + void set_allocated_narrative_section_id(std::string* narrative_section_id); + private: + const std::string& _internal_narrative_section_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_narrative_section_id(const std::string& value); + std::string* _internal_mutable_narrative_section_id(); + public: + + // @@protoc_insertion_point(class_scope:service.GetResponseResponse.BehaviorTreeResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr bt_code_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr bt_constants_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr narrative_section_id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseResponse_UserTranscript final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseResponse.UserTranscript) */ { + public: + inline GetResponseResponse_UserTranscript() : GetResponseResponse_UserTranscript(nullptr) {} + ~GetResponseResponse_UserTranscript() override; + explicit PROTOBUF_CONSTEXPR GetResponseResponse_UserTranscript(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetResponseResponse_UserTranscript(const GetResponseResponse_UserTranscript& from); + GetResponseResponse_UserTranscript(GetResponseResponse_UserTranscript&& from) noexcept + : GetResponseResponse_UserTranscript() { + *this = ::std::move(from); + } + + inline GetResponseResponse_UserTranscript& operator=(const GetResponseResponse_UserTranscript& from) { + CopyFrom(from); + return *this; + } + inline GetResponseResponse_UserTranscript& operator=(GetResponseResponse_UserTranscript&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GetResponseResponse_UserTranscript& default_instance() { + return *internal_default_instance(); + } + static inline const GetResponseResponse_UserTranscript* internal_default_instance() { + return reinterpret_cast( + &_GetResponseResponse_UserTranscript_default_instance_); + } + static constexpr int kIndexInFileMessages = + 19; + + friend void swap(GetResponseResponse_UserTranscript& a, GetResponseResponse_UserTranscript& b) { + a.Swap(&b); + } + inline void Swap(GetResponseResponse_UserTranscript* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseResponse_UserTranscript* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + GetResponseResponse_UserTranscript* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetResponseResponse_UserTranscript& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const GetResponseResponse_UserTranscript& from) { + GetResponseResponse_UserTranscript::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseResponse_UserTranscript* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseResponse.UserTranscript"; + } + protected: + explicit GetResponseResponse_UserTranscript(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kTextDataFieldNumber = 1, + kIsFinalFieldNumber = 2, + kEndOfResponseFieldNumber = 3, + }; + // string text_data = 1; + void clear_text_data(); + const std::string& text_data() const; + template + void set_text_data(ArgT0&& arg0, ArgT... args); + std::string* mutable_text_data(); + PROTOBUF_NODISCARD std::string* release_text_data(); + void set_allocated_text_data(std::string* text_data); + private: + const std::string& _internal_text_data() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_text_data(const std::string& value); + std::string* _internal_mutable_text_data(); + public: + + // bool is_final = 2; + void clear_is_final(); + bool is_final() const; + void set_is_final(bool value); + private: + bool _internal_is_final() const; + void _internal_set_is_final(bool value); + public: + + // bool end_of_response = 3; + void clear_end_of_response(); + bool end_of_response() const; + void set_end_of_response(bool value); + private: + bool _internal_end_of_response() const; + void _internal_set_end_of_response(bool value); + public: + + // @@protoc_insertion_point(class_scope:service.GetResponseResponse.UserTranscript) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_data_; + bool is_final_; + bool end_of_response_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class GetResponseResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.GetResponseResponse) */ { + public: + inline GetResponseResponse() : GetResponseResponse(nullptr) {} + ~GetResponseResponse() override; + explicit PROTOBUF_CONSTEXPR GetResponseResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetResponseResponse(const GetResponseResponse& from); + GetResponseResponse(GetResponseResponse&& from) noexcept + : GetResponseResponse() { + *this = ::std::move(from); + } + + inline GetResponseResponse& operator=(const GetResponseResponse& from) { + CopyFrom(from); + return *this; + } + inline GetResponseResponse& operator=(GetResponseResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GetResponseResponse& default_instance() { + return *internal_default_instance(); + } + enum ResponseTypeCase { + kActionResponse = 2, + kAudioResponse = 3, + kDebugLog = 4, + kUserQuery = 5, + kBtResponse = 6, + kEmotionResponse = 7, + kInteractionId = 8, + RESPONSE_TYPE_NOT_SET = 0, + }; + + static inline const GetResponseResponse* internal_default_instance() { + return reinterpret_cast( + &_GetResponseResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 20; + + friend void swap(GetResponseResponse& a, GetResponseResponse& b) { + a.Swap(&b); + } + inline void Swap(GetResponseResponse* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetResponseResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + GetResponseResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetResponseResponse& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const GetResponseResponse& from) { + GetResponseResponse::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetResponseResponse* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.GetResponseResponse"; + } + protected: + explicit GetResponseResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef GetResponseResponse_AudioResponse AudioResponse; + typedef GetResponseResponse_ActionResponse ActionResponse; + typedef GetResponseResponse_BehaviorTreeResponse BehaviorTreeResponse; + typedef GetResponseResponse_UserTranscript UserTranscript; + + // accessors ------------------------------------------------------- + + enum : int { + kSessionIdFieldNumber = 1, + kActionResponseFieldNumber = 2, + kAudioResponseFieldNumber = 3, + kDebugLogFieldNumber = 4, + kUserQueryFieldNumber = 5, + kBtResponseFieldNumber = 6, + kEmotionResponseFieldNumber = 7, + kInteractionIdFieldNumber = 8, + }; + // string session_id = 1; + void clear_session_id(); + const std::string& session_id() const; + template + void set_session_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_session_id(); + PROTOBUF_NODISCARD std::string* release_session_id(); + void set_allocated_session_id(std::string* session_id); + private: + const std::string& _internal_session_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_session_id(const std::string& value); + std::string* _internal_mutable_session_id(); + public: + + // .service.GetResponseResponse.ActionResponse action_response = 2; + bool has_action_response() const; + private: + bool _internal_has_action_response() const; + public: + void clear_action_response(); + const ::service::GetResponseResponse_ActionResponse& action_response() const; + PROTOBUF_NODISCARD ::service::GetResponseResponse_ActionResponse* release_action_response(); + ::service::GetResponseResponse_ActionResponse* mutable_action_response(); + void set_allocated_action_response(::service::GetResponseResponse_ActionResponse* action_response); + private: + const ::service::GetResponseResponse_ActionResponse& _internal_action_response() const; + ::service::GetResponseResponse_ActionResponse* _internal_mutable_action_response(); + public: + void unsafe_arena_set_allocated_action_response( + ::service::GetResponseResponse_ActionResponse* action_response); + ::service::GetResponseResponse_ActionResponse* unsafe_arena_release_action_response(); + + // .service.GetResponseResponse.AudioResponse audio_response = 3; + bool has_audio_response() const; + private: + bool _internal_has_audio_response() const; + public: + void clear_audio_response(); + const ::service::GetResponseResponse_AudioResponse& audio_response() const; + PROTOBUF_NODISCARD ::service::GetResponseResponse_AudioResponse* release_audio_response(); + ::service::GetResponseResponse_AudioResponse* mutable_audio_response(); + void set_allocated_audio_response(::service::GetResponseResponse_AudioResponse* audio_response); + private: + const ::service::GetResponseResponse_AudioResponse& _internal_audio_response() const; + ::service::GetResponseResponse_AudioResponse* _internal_mutable_audio_response(); + public: + void unsafe_arena_set_allocated_audio_response( + ::service::GetResponseResponse_AudioResponse* audio_response); + ::service::GetResponseResponse_AudioResponse* unsafe_arena_release_audio_response(); + + // string debug_log = 4; + bool has_debug_log() const; + private: + bool _internal_has_debug_log() const; + public: + void clear_debug_log(); + const std::string& debug_log() const; + template + void set_debug_log(ArgT0&& arg0, ArgT... args); + std::string* mutable_debug_log(); + PROTOBUF_NODISCARD std::string* release_debug_log(); + void set_allocated_debug_log(std::string* debug_log); + private: + const std::string& _internal_debug_log() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_debug_log(const std::string& value); + std::string* _internal_mutable_debug_log(); + public: + + // .service.GetResponseResponse.UserTranscript user_query = 5; + bool has_user_query() const; + private: + bool _internal_has_user_query() const; + public: + void clear_user_query(); + const ::service::GetResponseResponse_UserTranscript& user_query() const; + PROTOBUF_NODISCARD ::service::GetResponseResponse_UserTranscript* release_user_query(); + ::service::GetResponseResponse_UserTranscript* mutable_user_query(); + void set_allocated_user_query(::service::GetResponseResponse_UserTranscript* user_query); + private: + const ::service::GetResponseResponse_UserTranscript& _internal_user_query() const; + ::service::GetResponseResponse_UserTranscript* _internal_mutable_user_query(); + public: + void unsafe_arena_set_allocated_user_query( + ::service::GetResponseResponse_UserTranscript* user_query); + ::service::GetResponseResponse_UserTranscript* unsafe_arena_release_user_query(); + + // .service.GetResponseResponse.BehaviorTreeResponse bt_response = 6; + bool has_bt_response() const; + private: + bool _internal_has_bt_response() const; + public: + void clear_bt_response(); + const ::service::GetResponseResponse_BehaviorTreeResponse& bt_response() const; + PROTOBUF_NODISCARD ::service::GetResponseResponse_BehaviorTreeResponse* release_bt_response(); + ::service::GetResponseResponse_BehaviorTreeResponse* mutable_bt_response(); + void set_allocated_bt_response(::service::GetResponseResponse_BehaviorTreeResponse* bt_response); + private: + const ::service::GetResponseResponse_BehaviorTreeResponse& _internal_bt_response() const; + ::service::GetResponseResponse_BehaviorTreeResponse* _internal_mutable_bt_response(); + public: + void unsafe_arena_set_allocated_bt_response( + ::service::GetResponseResponse_BehaviorTreeResponse* bt_response); + ::service::GetResponseResponse_BehaviorTreeResponse* unsafe_arena_release_bt_response(); + + // string emotion_response = 7; + bool has_emotion_response() const; + private: + bool _internal_has_emotion_response() const; + public: + void clear_emotion_response(); + const std::string& emotion_response() const; + template + void set_emotion_response(ArgT0&& arg0, ArgT... args); + std::string* mutable_emotion_response(); + PROTOBUF_NODISCARD std::string* release_emotion_response(); + void set_allocated_emotion_response(std::string* emotion_response); + private: + const std::string& _internal_emotion_response() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_emotion_response(const std::string& value); + std::string* _internal_mutable_emotion_response(); + public: + + // string interaction_id = 8; + bool has_interaction_id() const; + private: + bool _internal_has_interaction_id() const; + public: + void clear_interaction_id(); + const std::string& interaction_id() const; + template + void set_interaction_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_interaction_id(); + PROTOBUF_NODISCARD std::string* release_interaction_id(); + void set_allocated_interaction_id(std::string* interaction_id); + private: + const std::string& _internal_interaction_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_interaction_id(const std::string& value); + std::string* _internal_mutable_interaction_id(); + public: + + void clear_response_type(); + ResponseTypeCase response_type_case() const; + // @@protoc_insertion_point(class_scope:service.GetResponseResponse) + private: + class _Internal; + void set_has_action_response(); + void set_has_audio_response(); + void set_has_debug_log(); + void set_has_user_query(); + void set_has_bt_response(); + void set_has_emotion_response(); + void set_has_interaction_id(); + + inline bool has_response_type() const; + inline void clear_has_response_type(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr session_id_; + union ResponseTypeUnion { + constexpr ResponseTypeUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::service::GetResponseResponse_ActionResponse* action_response_; + ::service::GetResponseResponse_AudioResponse* audio_response_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr debug_log_; + ::service::GetResponseResponse_UserTranscript* user_query_; + ::service::GetResponseResponse_BehaviorTreeResponse* bt_response_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr emotion_response_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr interaction_id_; + } response_type_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class VisemesData final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.VisemesData) */ { + public: + inline VisemesData() : VisemesData(nullptr) {} + ~VisemesData() override; + explicit PROTOBUF_CONSTEXPR VisemesData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + VisemesData(const VisemesData& from); + VisemesData(VisemesData&& from) noexcept + : VisemesData() { + *this = ::std::move(from); + } + + inline VisemesData& operator=(const VisemesData& from) { + CopyFrom(from); + return *this; + } + inline VisemesData& operator=(VisemesData&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const VisemesData& default_instance() { + return *internal_default_instance(); + } + static inline const VisemesData* internal_default_instance() { + return reinterpret_cast( + &_VisemesData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 21; + + friend void swap(VisemesData& a, VisemesData& b) { + a.Swap(&b); + } + inline void Swap(VisemesData* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(VisemesData* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + VisemesData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const VisemesData& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const VisemesData& from) { + VisemesData::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(VisemesData* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.VisemesData"; + } + protected: + explicit VisemesData(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kVisemesFieldNumber = 1, + }; + // .service.Viseme visemes = 1; + bool has_visemes() const; + private: + bool _internal_has_visemes() const; + public: + void clear_visemes(); + const ::service::Viseme& visemes() const; + PROTOBUF_NODISCARD ::service::Viseme* release_visemes(); + ::service::Viseme* mutable_visemes(); + void set_allocated_visemes(::service::Viseme* visemes); + private: + const ::service::Viseme& _internal_visemes() const; + ::service::Viseme* _internal_mutable_visemes(); + public: + void unsafe_arena_set_allocated_visemes( + ::service::Viseme* visemes); + ::service::Viseme* unsafe_arena_release_visemes(); + + // @@protoc_insertion_point(class_scope:service.VisemesData) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::service::Viseme* visemes_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class EmotionResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.EmotionResponse) */ { + public: + inline EmotionResponse() : EmotionResponse(nullptr) {} + ~EmotionResponse() override; + explicit PROTOBUF_CONSTEXPR EmotionResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + EmotionResponse(const EmotionResponse& from); + EmotionResponse(EmotionResponse&& from) noexcept + : EmotionResponse() { + *this = ::std::move(from); + } + + inline EmotionResponse& operator=(const EmotionResponse& from) { + CopyFrom(from); + return *this; + } + inline EmotionResponse& operator=(EmotionResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const EmotionResponse& default_instance() { + return *internal_default_instance(); + } + static inline const EmotionResponse* internal_default_instance() { + return reinterpret_cast( + &_EmotionResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 22; + + friend void swap(EmotionResponse& a, EmotionResponse& b) { + a.Swap(&b); + } + inline void Swap(EmotionResponse* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(EmotionResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + EmotionResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const EmotionResponse& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const EmotionResponse& from) { + EmotionResponse::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(EmotionResponse* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.EmotionResponse"; + } + protected: + explicit EmotionResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kEmotionFieldNumber = 1, + kScaleFieldNumber = 2, + }; + // string emotion = 1; + void clear_emotion(); + const std::string& emotion() const; + template + void set_emotion(ArgT0&& arg0, ArgT... args); + std::string* mutable_emotion(); + PROTOBUF_NODISCARD std::string* release_emotion(); + void set_allocated_emotion(std::string* emotion); + private: + const std::string& _internal_emotion() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_emotion(const std::string& value); + std::string* _internal_mutable_emotion(); + public: + + // string scale = 2; + void clear_scale(); + const std::string& scale() const; + template + void set_scale(ArgT0&& arg0, ArgT... args); + std::string* mutable_scale(); + PROTOBUF_NODISCARD std::string* release_scale(); + void set_allocated_scale(std::string* scale); + private: + const std::string& _internal_scale() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_scale(const std::string& value); + std::string* _internal_mutable_scale(); + public: + + // @@protoc_insertion_point(class_scope:service.EmotionResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr emotion_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr scale_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class Viseme final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.Viseme) */ { + public: + inline Viseme() : Viseme(nullptr) {} + ~Viseme() override; + explicit PROTOBUF_CONSTEXPR Viseme(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + Viseme(const Viseme& from); + Viseme(Viseme&& from) noexcept + : Viseme() { + *this = ::std::move(from); + } + + inline Viseme& operator=(const Viseme& from) { + CopyFrom(from); + return *this; + } + inline Viseme& operator=(Viseme&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Viseme& default_instance() { + return *internal_default_instance(); + } + static inline const Viseme* internal_default_instance() { + return reinterpret_cast( + &_Viseme_default_instance_); + } + static constexpr int kIndexInFileMessages = + 23; + + friend void swap(Viseme& a, Viseme& b) { + a.Swap(&b); + } + inline void Swap(Viseme* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Viseme* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Viseme* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const Viseme& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const Viseme& from) { + Viseme::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(Viseme* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.Viseme"; + } + protected: + explicit Viseme(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kSilFieldNumber = 1, + kPpFieldNumber = 2, + kFfFieldNumber = 3, + kThFieldNumber = 4, + kDdFieldNumber = 5, + kKkFieldNumber = 6, + kChFieldNumber = 7, + kSsFieldNumber = 8, + kNnFieldNumber = 9, + kRrFieldNumber = 10, + kAaFieldNumber = 11, + kEFieldNumber = 12, + kIhFieldNumber = 13, + kOhFieldNumber = 14, + kOuFieldNumber = 15, + }; + // float sil = 1; + void clear_sil(); + float sil() const; + void set_sil(float value); + private: + float _internal_sil() const; + void _internal_set_sil(float value); + public: + + // float pp = 2; + void clear_pp(); + float pp() const; + void set_pp(float value); + private: + float _internal_pp() const; + void _internal_set_pp(float value); + public: + + // float ff = 3; + void clear_ff(); + float ff() const; + void set_ff(float value); + private: + float _internal_ff() const; + void _internal_set_ff(float value); + public: + + // float th = 4; + void clear_th(); + float th() const; + void set_th(float value); + private: + float _internal_th() const; + void _internal_set_th(float value); + public: + + // float dd = 5; + void clear_dd(); + float dd() const; + void set_dd(float value); + private: + float _internal_dd() const; + void _internal_set_dd(float value); + public: + + // float kk = 6; + void clear_kk(); + float kk() const; + void set_kk(float value); + private: + float _internal_kk() const; + void _internal_set_kk(float value); + public: + + // float ch = 7; + void clear_ch(); + float ch() const; + void set_ch(float value); + private: + float _internal_ch() const; + void _internal_set_ch(float value); + public: + + // float ss = 8; + void clear_ss(); + float ss() const; + void set_ss(float value); + private: + float _internal_ss() const; + void _internal_set_ss(float value); + public: + + // float nn = 9; + void clear_nn(); + float nn() const; + void set_nn(float value); + private: + float _internal_nn() const; + void _internal_set_nn(float value); + public: + + // float rr = 10; + void clear_rr(); + float rr() const; + void set_rr(float value); + private: + float _internal_rr() const; + void _internal_set_rr(float value); + public: + + // float aa = 11; + void clear_aa(); + float aa() const; + void set_aa(float value); + private: + float _internal_aa() const; + void _internal_set_aa(float value); + public: + + // float e = 12; + void clear_e(); + float e() const; + void set_e(float value); + private: + float _internal_e() const; + void _internal_set_e(float value); + public: + + // float ih = 13; + void clear_ih(); + float ih() const; + void set_ih(float value); + private: + float _internal_ih() const; + void _internal_set_ih(float value); + public: + + // float oh = 14; + void clear_oh(); + float oh() const; + void set_oh(float value); + private: + float _internal_oh() const; + void _internal_set_oh(float value); + public: + + // float ou = 15; + void clear_ou(); + float ou() const; + void set_ou(float value); + private: + float _internal_ou() const; + void _internal_set_ou(float value); + public: + + // @@protoc_insertion_point(class_scope:service.Viseme) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + float sil_; + float pp_; + float ff_; + float th_; + float dd_; + float kk_; + float ch_; + float ss_; + float nn_; + float rr_; + float aa_; + float e_; + float ih_; + float oh_; + float ou_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class BlendShapesData final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.BlendShapesData) */ { + public: + inline BlendShapesData() : BlendShapesData(nullptr) {} + ~BlendShapesData() override; + explicit PROTOBUF_CONSTEXPR BlendShapesData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + BlendShapesData(const BlendShapesData& from); + BlendShapesData(BlendShapesData&& from) noexcept + : BlendShapesData() { + *this = ::std::move(from); + } + + inline BlendShapesData& operator=(const BlendShapesData& from) { + CopyFrom(from); + return *this; + } + inline BlendShapesData& operator=(BlendShapesData&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const BlendShapesData& default_instance() { + return *internal_default_instance(); + } + static inline const BlendShapesData* internal_default_instance() { + return reinterpret_cast( + &_BlendShapesData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 24; + + friend void swap(BlendShapesData& a, BlendShapesData& b) { + a.Swap(&b); + } + inline void Swap(BlendShapesData* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(BlendShapesData* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + BlendShapesData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const BlendShapesData& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const BlendShapesData& from) { + BlendShapesData::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(BlendShapesData* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.BlendShapesData"; + } + protected: + explicit BlendShapesData(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kBlendshapeDataFieldNumber = 1, + }; + // string blendshape_data = 1; + void clear_blendshape_data(); + const std::string& blendshape_data() const; + template + void set_blendshape_data(ArgT0&& arg0, ArgT... args); + std::string* mutable_blendshape_data(); + PROTOBUF_NODISCARD std::string* release_blendshape_data(); + void set_allocated_blendshape_data(std::string* blendshape_data); + private: + const std::string& _internal_blendshape_data() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_blendshape_data(const std::string& value); + std::string* _internal_mutable_blendshape_data(); + public: + + // @@protoc_insertion_point(class_scope:service.BlendShapesData) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr blendshape_data_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class HelloRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.HelloRequest) */ { + public: + inline HelloRequest() : HelloRequest(nullptr) {} + ~HelloRequest() override; + explicit PROTOBUF_CONSTEXPR HelloRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + HelloRequest(const HelloRequest& from); + HelloRequest(HelloRequest&& from) noexcept + : HelloRequest() { + *this = ::std::move(from); + } + + inline HelloRequest& operator=(const HelloRequest& from) { + CopyFrom(from); + return *this; + } + inline HelloRequest& operator=(HelloRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const HelloRequest& default_instance() { + return *internal_default_instance(); + } + static inline const HelloRequest* internal_default_instance() { + return reinterpret_cast( + &_HelloRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 25; + + friend void swap(HelloRequest& a, HelloRequest& b) { + a.Swap(&b); + } + inline void Swap(HelloRequest* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(HelloRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + HelloRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const HelloRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const HelloRequest& from) { + HelloRequest::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(HelloRequest* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.HelloRequest"; + } + protected: + explicit HelloRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 1, + }; + // string name = 1; + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // @@protoc_insertion_point(class_scope:service.HelloRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class HelloResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.HelloResponse) */ { + public: + inline HelloResponse() : HelloResponse(nullptr) {} + ~HelloResponse() override; + explicit PROTOBUF_CONSTEXPR HelloResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + HelloResponse(const HelloResponse& from); + HelloResponse(HelloResponse&& from) noexcept + : HelloResponse() { + *this = ::std::move(from); + } + + inline HelloResponse& operator=(const HelloResponse& from) { + CopyFrom(from); + return *this; + } + inline HelloResponse& operator=(HelloResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const HelloResponse& default_instance() { + return *internal_default_instance(); + } + static inline const HelloResponse* internal_default_instance() { + return reinterpret_cast( + &_HelloResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 26; + + friend void swap(HelloResponse& a, HelloResponse& b) { + a.Swap(&b); + } + inline void Swap(HelloResponse* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(HelloResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + HelloResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const HelloResponse& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const HelloResponse& from) { + HelloResponse::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(HelloResponse* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.HelloResponse"; + } + protected: + explicit HelloResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kMessageFieldNumber = 1, + }; + // string message = 1; + void clear_message(); + const std::string& message() const; + template + void set_message(ArgT0&& arg0, ArgT... args); + std::string* mutable_message(); + PROTOBUF_NODISCARD std::string* release_message(); + void set_allocated_message(std::string* message); + private: + const std::string& _internal_message() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_message(const std::string& value); + std::string* _internal_mutable_message(); + public: + + // @@protoc_insertion_point(class_scope:service.HelloResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr message_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class FeedbackRequest_Feedback final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.FeedbackRequest.Feedback) */ { + public: + inline FeedbackRequest_Feedback() : FeedbackRequest_Feedback(nullptr) {} + ~FeedbackRequest_Feedback() override; + explicit PROTOBUF_CONSTEXPR FeedbackRequest_Feedback(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FeedbackRequest_Feedback(const FeedbackRequest_Feedback& from); + FeedbackRequest_Feedback(FeedbackRequest_Feedback&& from) noexcept + : FeedbackRequest_Feedback() { + *this = ::std::move(from); + } + + inline FeedbackRequest_Feedback& operator=(const FeedbackRequest_Feedback& from) { + CopyFrom(from); + return *this; + } + inline FeedbackRequest_Feedback& operator=(FeedbackRequest_Feedback&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FeedbackRequest_Feedback& default_instance() { + return *internal_default_instance(); + } + static inline const FeedbackRequest_Feedback* internal_default_instance() { + return reinterpret_cast( + &_FeedbackRequest_Feedback_default_instance_); + } + static constexpr int kIndexInFileMessages = + 27; + + friend void swap(FeedbackRequest_Feedback& a, FeedbackRequest_Feedback& b) { + a.Swap(&b); + } + inline void Swap(FeedbackRequest_Feedback* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FeedbackRequest_Feedback* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FeedbackRequest_Feedback* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FeedbackRequest_Feedback& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const FeedbackRequest_Feedback& from) { + FeedbackRequest_Feedback::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FeedbackRequest_Feedback* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.FeedbackRequest.Feedback"; + } + protected: + explicit FeedbackRequest_Feedback(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kTagsFieldNumber = 3, + kFeedbackTextFieldNumber = 2, + kThumbsUpFieldNumber = 1, + kIsTestCaseFieldNumber = 4, + }; + // repeated string tags = 3; + int tags_size() const; + private: + int _internal_tags_size() const; + public: + void clear_tags(); + const std::string& tags(int index) const; + std::string* mutable_tags(int index); + void set_tags(int index, const std::string& value); + void set_tags(int index, std::string&& value); + void set_tags(int index, const char* value); + void set_tags(int index, const char* value, size_t size); + std::string* add_tags(); + void add_tags(const std::string& value); + void add_tags(std::string&& value); + void add_tags(const char* value); + void add_tags(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& tags() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_tags(); + private: + const std::string& _internal_tags(int index) const; + std::string* _internal_add_tags(); + public: + + // string feedback_text = 2; + void clear_feedback_text(); + const std::string& feedback_text() const; + template + void set_feedback_text(ArgT0&& arg0, ArgT... args); + std::string* mutable_feedback_text(); + PROTOBUF_NODISCARD std::string* release_feedback_text(); + void set_allocated_feedback_text(std::string* feedback_text); + private: + const std::string& _internal_feedback_text() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_feedback_text(const std::string& value); + std::string* _internal_mutable_feedback_text(); + public: + + // bool thumbs_up = 1; + void clear_thumbs_up(); + bool thumbs_up() const; + void set_thumbs_up(bool value); + private: + bool _internal_thumbs_up() const; + void _internal_set_thumbs_up(bool value); + public: + + // bool is_test_case = 4; + void clear_is_test_case(); + bool is_test_case() const; + void set_is_test_case(bool value); + private: + bool _internal_is_test_case() const; + void _internal_set_is_test_case(bool value); + public: + + // @@protoc_insertion_point(class_scope:service.FeedbackRequest.Feedback) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField tags_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr feedback_text_; + bool thumbs_up_; + bool is_test_case_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class FeedbackRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.FeedbackRequest) */ { + public: + inline FeedbackRequest() : FeedbackRequest(nullptr) {} + ~FeedbackRequest() override; + explicit PROTOBUF_CONSTEXPR FeedbackRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FeedbackRequest(const FeedbackRequest& from); + FeedbackRequest(FeedbackRequest&& from) noexcept + : FeedbackRequest() { + *this = ::std::move(from); + } + + inline FeedbackRequest& operator=(const FeedbackRequest& from) { + CopyFrom(from); + return *this; + } + inline FeedbackRequest& operator=(FeedbackRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FeedbackRequest& default_instance() { + return *internal_default_instance(); + } + static inline const FeedbackRequest* internal_default_instance() { + return reinterpret_cast( + &_FeedbackRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 28; + + friend void swap(FeedbackRequest& a, FeedbackRequest& b) { + a.Swap(&b); + } + inline void Swap(FeedbackRequest* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FeedbackRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FeedbackRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FeedbackRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const FeedbackRequest& from) { + FeedbackRequest::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FeedbackRequest* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.FeedbackRequest"; + } + protected: + explicit FeedbackRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef FeedbackRequest_Feedback Feedback; + + // accessors ------------------------------------------------------- + + enum : int { + kInteractionIdFieldNumber = 1, + kCharacterIdFieldNumber = 2, + kSessionIdFieldNumber = 3, + kUserQueryFieldNumber = 6, + kResponseFieldNumber = 7, + kTextFeedbackFieldNumber = 5, + }; + // string interaction_id = 1; + void clear_interaction_id(); + const std::string& interaction_id() const; + template + void set_interaction_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_interaction_id(); + PROTOBUF_NODISCARD std::string* release_interaction_id(); + void set_allocated_interaction_id(std::string* interaction_id); + private: + const std::string& _internal_interaction_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_interaction_id(const std::string& value); + std::string* _internal_mutable_interaction_id(); + public: + + // string character_id = 2; + void clear_character_id(); + const std::string& character_id() const; + template + void set_character_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_character_id(); + PROTOBUF_NODISCARD std::string* release_character_id(); + void set_allocated_character_id(std::string* character_id); + private: + const std::string& _internal_character_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_character_id(const std::string& value); + std::string* _internal_mutable_character_id(); + public: + + // string session_id = 3; + void clear_session_id(); + const std::string& session_id() const; + template + void set_session_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_session_id(); + PROTOBUF_NODISCARD std::string* release_session_id(); + void set_allocated_session_id(std::string* session_id); + private: + const std::string& _internal_session_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_session_id(const std::string& value); + std::string* _internal_mutable_session_id(); + public: + + // string user_query = 6; + void clear_user_query(); + const std::string& user_query() const; + template + void set_user_query(ArgT0&& arg0, ArgT... args); + std::string* mutable_user_query(); + PROTOBUF_NODISCARD std::string* release_user_query(); + void set_allocated_user_query(std::string* user_query); + private: + const std::string& _internal_user_query() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_user_query(const std::string& value); + std::string* _internal_mutable_user_query(); + public: + + // string response = 7; + void clear_response(); + const std::string& response() const; + template + void set_response(ArgT0&& arg0, ArgT... args); + std::string* mutable_response(); + PROTOBUF_NODISCARD std::string* release_response(); + void set_allocated_response(std::string* response); + private: + const std::string& _internal_response() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_response(const std::string& value); + std::string* _internal_mutable_response(); + public: + + // .service.FeedbackRequest.Feedback text_feedback = 5; + bool has_text_feedback() const; + private: + bool _internal_has_text_feedback() const; + public: + void clear_text_feedback(); + const ::service::FeedbackRequest_Feedback& text_feedback() const; + PROTOBUF_NODISCARD ::service::FeedbackRequest_Feedback* release_text_feedback(); + ::service::FeedbackRequest_Feedback* mutable_text_feedback(); + void set_allocated_text_feedback(::service::FeedbackRequest_Feedback* text_feedback); + private: + const ::service::FeedbackRequest_Feedback& _internal_text_feedback() const; + ::service::FeedbackRequest_Feedback* _internal_mutable_text_feedback(); + public: + void unsafe_arena_set_allocated_text_feedback( + ::service::FeedbackRequest_Feedback* text_feedback); + ::service::FeedbackRequest_Feedback* unsafe_arena_release_text_feedback(); + + // @@protoc_insertion_point(class_scope:service.FeedbackRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr interaction_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr character_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr session_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr user_query_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr response_; + ::service::FeedbackRequest_Feedback* text_feedback_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// ------------------------------------------------------------------- + +class FeedbackResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:service.FeedbackResponse) */ { + public: + inline FeedbackResponse() : FeedbackResponse(nullptr) {} + ~FeedbackResponse() override; + explicit PROTOBUF_CONSTEXPR FeedbackResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FeedbackResponse(const FeedbackResponse& from); + FeedbackResponse(FeedbackResponse&& from) noexcept + : FeedbackResponse() { + *this = ::std::move(from); + } + + inline FeedbackResponse& operator=(const FeedbackResponse& from) { + CopyFrom(from); + return *this; + } + inline FeedbackResponse& operator=(FeedbackResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FeedbackResponse& default_instance() { + return *internal_default_instance(); + } + static inline const FeedbackResponse* internal_default_instance() { + return reinterpret_cast( + &_FeedbackResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 29; + + friend void swap(FeedbackResponse& a, FeedbackResponse& b) { + a.Swap(&b); + } + inline void Swap(FeedbackResponse* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FeedbackResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FeedbackResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FeedbackResponse& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const FeedbackResponse& from) { + FeedbackResponse::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FeedbackResponse* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "service.FeedbackResponse"; + } + protected: + explicit FeedbackResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kFeedbackResponseFieldNumber = 1, + }; + // string feedback_response = 1; + void clear_feedback_response(); + const std::string& feedback_response() const; + template + void set_feedback_response(ArgT0&& arg0, ArgT... args); + std::string* mutable_feedback_response(); + PROTOBUF_NODISCARD std::string* release_feedback_response(); + void set_allocated_feedback_response(std::string* feedback_response); + private: + const std::string& _internal_feedback_response() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_feedback_response(const std::string& value); + std::string* _internal_mutable_feedback_response(); + public: + + // @@protoc_insertion_point(class_scope:service.FeedbackResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr feedback_response_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_service_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// AudioConfig + +// int32 sample_rate_hertz = 1; +inline void AudioConfig::clear_sample_rate_hertz() { + _impl_.sample_rate_hertz_ = 0; +} +inline int32_t AudioConfig::_internal_sample_rate_hertz() const { + return _impl_.sample_rate_hertz_; +} +inline int32_t AudioConfig::sample_rate_hertz() const { + // @@protoc_insertion_point(field_get:service.AudioConfig.sample_rate_hertz) + return _internal_sample_rate_hertz(); +} +inline void AudioConfig::_internal_set_sample_rate_hertz(int32_t value) { + + _impl_.sample_rate_hertz_ = value; +} +inline void AudioConfig::set_sample_rate_hertz(int32_t value) { + _internal_set_sample_rate_hertz(value); + // @@protoc_insertion_point(field_set:service.AudioConfig.sample_rate_hertz) +} + +// bool disable_audio = 2; +inline void AudioConfig::clear_disable_audio() { + _impl_.disable_audio_ = false; +} +inline bool AudioConfig::_internal_disable_audio() const { + return _impl_.disable_audio_; +} +inline bool AudioConfig::disable_audio() const { + // @@protoc_insertion_point(field_get:service.AudioConfig.disable_audio) + return _internal_disable_audio(); +} +inline void AudioConfig::_internal_set_disable_audio(bool value) { + + _impl_.disable_audio_ = value; +} +inline void AudioConfig::set_disable_audio(bool value) { + _internal_set_disable_audio(value); + // @@protoc_insertion_point(field_set:service.AudioConfig.disable_audio) +} + +// bool enable_facial_data = 3; +inline void AudioConfig::clear_enable_facial_data() { + _impl_.enable_facial_data_ = false; +} +inline bool AudioConfig::_internal_enable_facial_data() const { + return _impl_.enable_facial_data_; +} +inline bool AudioConfig::enable_facial_data() const { + // @@protoc_insertion_point(field_get:service.AudioConfig.enable_facial_data) + return _internal_enable_facial_data(); +} +inline void AudioConfig::_internal_set_enable_facial_data(bool value) { + + _impl_.enable_facial_data_ = value; +} +inline void AudioConfig::set_enable_facial_data(bool value) { + _internal_set_enable_facial_data(value); + // @@protoc_insertion_point(field_set:service.AudioConfig.enable_facial_data) +} + +// .service.FaceModel face_model = 4; +inline void AudioConfig::clear_face_model() { + _impl_.face_model_ = 0; +} +inline ::service::FaceModel AudioConfig::_internal_face_model() const { + return static_cast< ::service::FaceModel >(_impl_.face_model_); +} +inline ::service::FaceModel AudioConfig::face_model() const { + // @@protoc_insertion_point(field_get:service.AudioConfig.face_model) + return _internal_face_model(); +} +inline void AudioConfig::_internal_set_face_model(::service::FaceModel value) { + + _impl_.face_model_ = value; +} +inline void AudioConfig::set_face_model(::service::FaceModel value) { + _internal_set_face_model(value); + // @@protoc_insertion_point(field_set:service.AudioConfig.face_model) +} + +// bool enable_facial_emotion_data = 5; +inline void AudioConfig::clear_enable_facial_emotion_data() { + _impl_.enable_facial_emotion_data_ = false; +} +inline bool AudioConfig::_internal_enable_facial_emotion_data() const { + return _impl_.enable_facial_emotion_data_; +} +inline bool AudioConfig::enable_facial_emotion_data() const { + // @@protoc_insertion_point(field_get:service.AudioConfig.enable_facial_emotion_data) + return _internal_enable_facial_emotion_data(); +} +inline void AudioConfig::_internal_set_enable_facial_emotion_data(bool value) { + + _impl_.enable_facial_emotion_data_ = value; +} +inline void AudioConfig::set_enable_facial_emotion_data(bool value) { + _internal_set_enable_facial_emotion_data(value); + // @@protoc_insertion_point(field_set:service.AudioConfig.enable_facial_emotion_data) +} + +// ------------------------------------------------------------------- + +// TriggerConfig + +// string trigger_name = 1; +inline void TriggerConfig::clear_trigger_name() { + _impl_.trigger_name_.ClearToEmpty(); +} +inline const std::string& TriggerConfig::trigger_name() const { + // @@protoc_insertion_point(field_get:service.TriggerConfig.trigger_name) + return _internal_trigger_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void TriggerConfig::set_trigger_name(ArgT0&& arg0, ArgT... args) { + + _impl_.trigger_name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.TriggerConfig.trigger_name) +} +inline std::string* TriggerConfig::mutable_trigger_name() { + std::string* _s = _internal_mutable_trigger_name(); + // @@protoc_insertion_point(field_mutable:service.TriggerConfig.trigger_name) + return _s; +} +inline const std::string& TriggerConfig::_internal_trigger_name() const { + return _impl_.trigger_name_.Get(); +} +inline void TriggerConfig::_internal_set_trigger_name(const std::string& value) { + + _impl_.trigger_name_.Set(value, GetArenaForAllocation()); +} +inline std::string* TriggerConfig::_internal_mutable_trigger_name() { + + return _impl_.trigger_name_.Mutable(GetArenaForAllocation()); +} +inline std::string* TriggerConfig::release_trigger_name() { + // @@protoc_insertion_point(field_release:service.TriggerConfig.trigger_name) + return _impl_.trigger_name_.Release(); +} +inline void TriggerConfig::set_allocated_trigger_name(std::string* trigger_name) { + if (trigger_name != nullptr) { + + } else { + + } + _impl_.trigger_name_.SetAllocated(trigger_name, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.trigger_name_.IsDefault()) { + _impl_.trigger_name_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.TriggerConfig.trigger_name) +} + +// string trigger_message = 2; +inline void TriggerConfig::clear_trigger_message() { + _impl_.trigger_message_.ClearToEmpty(); +} +inline const std::string& TriggerConfig::trigger_message() const { + // @@protoc_insertion_point(field_get:service.TriggerConfig.trigger_message) + return _internal_trigger_message(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void TriggerConfig::set_trigger_message(ArgT0&& arg0, ArgT... args) { + + _impl_.trigger_message_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.TriggerConfig.trigger_message) +} +inline std::string* TriggerConfig::mutable_trigger_message() { + std::string* _s = _internal_mutable_trigger_message(); + // @@protoc_insertion_point(field_mutable:service.TriggerConfig.trigger_message) + return _s; +} +inline const std::string& TriggerConfig::_internal_trigger_message() const { + return _impl_.trigger_message_.Get(); +} +inline void TriggerConfig::_internal_set_trigger_message(const std::string& value) { + + _impl_.trigger_message_.Set(value, GetArenaForAllocation()); +} +inline std::string* TriggerConfig::_internal_mutable_trigger_message() { + + return _impl_.trigger_message_.Mutable(GetArenaForAllocation()); +} +inline std::string* TriggerConfig::release_trigger_message() { + // @@protoc_insertion_point(field_release:service.TriggerConfig.trigger_message) + return _impl_.trigger_message_.Release(); +} +inline void TriggerConfig::set_allocated_trigger_message(std::string* trigger_message) { + if (trigger_message != nullptr) { + + } else { + + } + _impl_.trigger_message_.SetAllocated(trigger_message, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.trigger_message_.IsDefault()) { + _impl_.trigger_message_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.TriggerConfig.trigger_message) +} + +// ------------------------------------------------------------------- + +// ActionConfig_Character + +// string name = 1; +inline void ActionConfig_Character::clear_name() { + _impl_.name_.ClearToEmpty(); +} +inline const std::string& ActionConfig_Character::name() const { + // @@protoc_insertion_point(field_get:service.ActionConfig.Character.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ActionConfig_Character::set_name(ArgT0&& arg0, ArgT... args) { + + _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.ActionConfig.Character.name) +} +inline std::string* ActionConfig_Character::mutable_name() { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:service.ActionConfig.Character.name) + return _s; +} +inline const std::string& ActionConfig_Character::_internal_name() const { + return _impl_.name_.Get(); +} +inline void ActionConfig_Character::_internal_set_name(const std::string& value) { + + _impl_.name_.Set(value, GetArenaForAllocation()); +} +inline std::string* ActionConfig_Character::_internal_mutable_name() { + + return _impl_.name_.Mutable(GetArenaForAllocation()); +} +inline std::string* ActionConfig_Character::release_name() { + // @@protoc_insertion_point(field_release:service.ActionConfig.Character.name) + return _impl_.name_.Release(); +} +inline void ActionConfig_Character::set_allocated_name(std::string* name) { + if (name != nullptr) { + + } else { + + } + _impl_.name_.SetAllocated(name, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.ActionConfig.Character.name) +} + +// string bio = 2; +inline void ActionConfig_Character::clear_bio() { + _impl_.bio_.ClearToEmpty(); +} +inline const std::string& ActionConfig_Character::bio() const { + // @@protoc_insertion_point(field_get:service.ActionConfig.Character.bio) + return _internal_bio(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ActionConfig_Character::set_bio(ArgT0&& arg0, ArgT... args) { + + _impl_.bio_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.ActionConfig.Character.bio) +} +inline std::string* ActionConfig_Character::mutable_bio() { + std::string* _s = _internal_mutable_bio(); + // @@protoc_insertion_point(field_mutable:service.ActionConfig.Character.bio) + return _s; +} +inline const std::string& ActionConfig_Character::_internal_bio() const { + return _impl_.bio_.Get(); +} +inline void ActionConfig_Character::_internal_set_bio(const std::string& value) { + + _impl_.bio_.Set(value, GetArenaForAllocation()); +} +inline std::string* ActionConfig_Character::_internal_mutable_bio() { + + return _impl_.bio_.Mutable(GetArenaForAllocation()); +} +inline std::string* ActionConfig_Character::release_bio() { + // @@protoc_insertion_point(field_release:service.ActionConfig.Character.bio) + return _impl_.bio_.Release(); +} +inline void ActionConfig_Character::set_allocated_bio(std::string* bio) { + if (bio != nullptr) { + + } else { + + } + _impl_.bio_.SetAllocated(bio, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.bio_.IsDefault()) { + _impl_.bio_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.ActionConfig.Character.bio) +} + +// ------------------------------------------------------------------- + +// ActionConfig_Object + +// string name = 1; +inline void ActionConfig_Object::clear_name() { + _impl_.name_.ClearToEmpty(); +} +inline const std::string& ActionConfig_Object::name() const { + // @@protoc_insertion_point(field_get:service.ActionConfig.Object.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ActionConfig_Object::set_name(ArgT0&& arg0, ArgT... args) { + + _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.ActionConfig.Object.name) +} +inline std::string* ActionConfig_Object::mutable_name() { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:service.ActionConfig.Object.name) + return _s; +} +inline const std::string& ActionConfig_Object::_internal_name() const { + return _impl_.name_.Get(); +} +inline void ActionConfig_Object::_internal_set_name(const std::string& value) { + + _impl_.name_.Set(value, GetArenaForAllocation()); +} +inline std::string* ActionConfig_Object::_internal_mutable_name() { + + return _impl_.name_.Mutable(GetArenaForAllocation()); +} +inline std::string* ActionConfig_Object::release_name() { + // @@protoc_insertion_point(field_release:service.ActionConfig.Object.name) + return _impl_.name_.Release(); +} +inline void ActionConfig_Object::set_allocated_name(std::string* name) { + if (name != nullptr) { + + } else { + + } + _impl_.name_.SetAllocated(name, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.ActionConfig.Object.name) +} + +// string description = 2; +inline void ActionConfig_Object::clear_description() { + _impl_.description_.ClearToEmpty(); +} +inline const std::string& ActionConfig_Object::description() const { + // @@protoc_insertion_point(field_get:service.ActionConfig.Object.description) + return _internal_description(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ActionConfig_Object::set_description(ArgT0&& arg0, ArgT... args) { + + _impl_.description_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.ActionConfig.Object.description) +} +inline std::string* ActionConfig_Object::mutable_description() { + std::string* _s = _internal_mutable_description(); + // @@protoc_insertion_point(field_mutable:service.ActionConfig.Object.description) + return _s; +} +inline const std::string& ActionConfig_Object::_internal_description() const { + return _impl_.description_.Get(); +} +inline void ActionConfig_Object::_internal_set_description(const std::string& value) { + + _impl_.description_.Set(value, GetArenaForAllocation()); +} +inline std::string* ActionConfig_Object::_internal_mutable_description() { + + return _impl_.description_.Mutable(GetArenaForAllocation()); +} +inline std::string* ActionConfig_Object::release_description() { + // @@protoc_insertion_point(field_release:service.ActionConfig.Object.description) + return _impl_.description_.Release(); +} +inline void ActionConfig_Object::set_allocated_description(std::string* description) { + if (description != nullptr) { + + } else { + + } + _impl_.description_.SetAllocated(description, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.description_.IsDefault()) { + _impl_.description_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.ActionConfig.Object.description) +} + +// ------------------------------------------------------------------- + +// ActionConfig + +// repeated string actions = 1; +inline int ActionConfig::_internal_actions_size() const { + return _impl_.actions_.size(); +} +inline int ActionConfig::actions_size() const { + return _internal_actions_size(); +} +inline void ActionConfig::clear_actions() { + _impl_.actions_.Clear(); +} +inline std::string* ActionConfig::add_actions() { + std::string* _s = _internal_add_actions(); + // @@protoc_insertion_point(field_add_mutable:service.ActionConfig.actions) + return _s; +} +inline const std::string& ActionConfig::_internal_actions(int index) const { + return _impl_.actions_.Get(index); +} +inline const std::string& ActionConfig::actions(int index) const { + // @@protoc_insertion_point(field_get:service.ActionConfig.actions) + return _internal_actions(index); +} +inline std::string* ActionConfig::mutable_actions(int index) { + // @@protoc_insertion_point(field_mutable:service.ActionConfig.actions) + return _impl_.actions_.Mutable(index); +} +inline void ActionConfig::set_actions(int index, const std::string& value) { + _impl_.actions_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set:service.ActionConfig.actions) +} +inline void ActionConfig::set_actions(int index, std::string&& value) { + _impl_.actions_.Mutable(index)->assign(std::move(value)); + // @@protoc_insertion_point(field_set:service.ActionConfig.actions) +} +inline void ActionConfig::set_actions(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + _impl_.actions_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:service.ActionConfig.actions) +} +inline void ActionConfig::set_actions(int index, const char* value, size_t size) { + _impl_.actions_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:service.ActionConfig.actions) +} +inline std::string* ActionConfig::_internal_add_actions() { + return _impl_.actions_.Add(); +} +inline void ActionConfig::add_actions(const std::string& value) { + _impl_.actions_.Add()->assign(value); + // @@protoc_insertion_point(field_add:service.ActionConfig.actions) +} +inline void ActionConfig::add_actions(std::string&& value) { + _impl_.actions_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:service.ActionConfig.actions) +} +inline void ActionConfig::add_actions(const char* value) { + GOOGLE_DCHECK(value != nullptr); + _impl_.actions_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:service.ActionConfig.actions) +} +inline void ActionConfig::add_actions(const char* value, size_t size) { + _impl_.actions_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:service.ActionConfig.actions) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& +ActionConfig::actions() const { + // @@protoc_insertion_point(field_list:service.ActionConfig.actions) + return _impl_.actions_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* +ActionConfig::mutable_actions() { + // @@protoc_insertion_point(field_mutable_list:service.ActionConfig.actions) + return &_impl_.actions_; +} + +// repeated .service.ActionConfig.Character characters = 2; +inline int ActionConfig::_internal_characters_size() const { + return _impl_.characters_.size(); +} +inline int ActionConfig::characters_size() const { + return _internal_characters_size(); +} +inline void ActionConfig::clear_characters() { + _impl_.characters_.Clear(); +} +inline ::service::ActionConfig_Character* ActionConfig::mutable_characters(int index) { + // @@protoc_insertion_point(field_mutable:service.ActionConfig.characters) + return _impl_.characters_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Character >* +ActionConfig::mutable_characters() { + // @@protoc_insertion_point(field_mutable_list:service.ActionConfig.characters) + return &_impl_.characters_; +} +inline const ::service::ActionConfig_Character& ActionConfig::_internal_characters(int index) const { + return _impl_.characters_.Get(index); +} +inline const ::service::ActionConfig_Character& ActionConfig::characters(int index) const { + // @@protoc_insertion_point(field_get:service.ActionConfig.characters) + return _internal_characters(index); +} +inline ::service::ActionConfig_Character* ActionConfig::_internal_add_characters() { + return _impl_.characters_.Add(); +} +inline ::service::ActionConfig_Character* ActionConfig::add_characters() { + ::service::ActionConfig_Character* _add = _internal_add_characters(); + // @@protoc_insertion_point(field_add:service.ActionConfig.characters) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Character >& +ActionConfig::characters() const { + // @@protoc_insertion_point(field_list:service.ActionConfig.characters) + return _impl_.characters_; +} + +// repeated .service.ActionConfig.Object objects = 3; +inline int ActionConfig::_internal_objects_size() const { + return _impl_.objects_.size(); +} +inline int ActionConfig::objects_size() const { + return _internal_objects_size(); +} +inline void ActionConfig::clear_objects() { + _impl_.objects_.Clear(); +} +inline ::service::ActionConfig_Object* ActionConfig::mutable_objects(int index) { + // @@protoc_insertion_point(field_mutable:service.ActionConfig.objects) + return _impl_.objects_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Object >* +ActionConfig::mutable_objects() { + // @@protoc_insertion_point(field_mutable_list:service.ActionConfig.objects) + return &_impl_.objects_; +} +inline const ::service::ActionConfig_Object& ActionConfig::_internal_objects(int index) const { + return _impl_.objects_.Get(index); +} +inline const ::service::ActionConfig_Object& ActionConfig::objects(int index) const { + // @@protoc_insertion_point(field_get:service.ActionConfig.objects) + return _internal_objects(index); +} +inline ::service::ActionConfig_Object* ActionConfig::_internal_add_objects() { + return _impl_.objects_.Add(); +} +inline ::service::ActionConfig_Object* ActionConfig::add_objects() { + ::service::ActionConfig_Object* _add = _internal_add_objects(); + // @@protoc_insertion_point(field_add:service.ActionConfig.objects) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::service::ActionConfig_Object >& +ActionConfig::objects() const { + // @@protoc_insertion_point(field_list:service.ActionConfig.objects) + return _impl_.objects_; +} + +// string classification = 4; +inline void ActionConfig::clear_classification() { + _impl_.classification_.ClearToEmpty(); +} +inline const std::string& ActionConfig::classification() const { + // @@protoc_insertion_point(field_get:service.ActionConfig.classification) + return _internal_classification(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ActionConfig::set_classification(ArgT0&& arg0, ArgT... args) { + + _impl_.classification_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.ActionConfig.classification) +} +inline std::string* ActionConfig::mutable_classification() { + std::string* _s = _internal_mutable_classification(); + // @@protoc_insertion_point(field_mutable:service.ActionConfig.classification) + return _s; +} +inline const std::string& ActionConfig::_internal_classification() const { + return _impl_.classification_.Get(); +} +inline void ActionConfig::_internal_set_classification(const std::string& value) { + + _impl_.classification_.Set(value, GetArenaForAllocation()); +} +inline std::string* ActionConfig::_internal_mutable_classification() { + + return _impl_.classification_.Mutable(GetArenaForAllocation()); +} +inline std::string* ActionConfig::release_classification() { + // @@protoc_insertion_point(field_release:service.ActionConfig.classification) + return _impl_.classification_.Release(); +} +inline void ActionConfig::set_allocated_classification(std::string* classification) { + if (classification != nullptr) { + + } else { + + } + _impl_.classification_.SetAllocated(classification, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.classification_.IsDefault()) { + _impl_.classification_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.ActionConfig.classification) +} + +// int32 context_level = 5; +inline void ActionConfig::clear_context_level() { + _impl_.context_level_ = 0; +} +inline int32_t ActionConfig::_internal_context_level() const { + return _impl_.context_level_; +} +inline int32_t ActionConfig::context_level() const { + // @@protoc_insertion_point(field_get:service.ActionConfig.context_level) + return _internal_context_level(); +} +inline void ActionConfig::_internal_set_context_level(int32_t value) { + + _impl_.context_level_ = value; +} +inline void ActionConfig::set_context_level(int32_t value) { + _internal_set_context_level(value); + // @@protoc_insertion_point(field_set:service.ActionConfig.context_level) +} + +// string current_attention_object = 6; +inline void ActionConfig::clear_current_attention_object() { + _impl_.current_attention_object_.ClearToEmpty(); +} +inline const std::string& ActionConfig::current_attention_object() const { + // @@protoc_insertion_point(field_get:service.ActionConfig.current_attention_object) + return _internal_current_attention_object(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ActionConfig::set_current_attention_object(ArgT0&& arg0, ArgT... args) { + + _impl_.current_attention_object_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.ActionConfig.current_attention_object) +} +inline std::string* ActionConfig::mutable_current_attention_object() { + std::string* _s = _internal_mutable_current_attention_object(); + // @@protoc_insertion_point(field_mutable:service.ActionConfig.current_attention_object) + return _s; +} +inline const std::string& ActionConfig::_internal_current_attention_object() const { + return _impl_.current_attention_object_.Get(); +} +inline void ActionConfig::_internal_set_current_attention_object(const std::string& value) { + + _impl_.current_attention_object_.Set(value, GetArenaForAllocation()); +} +inline std::string* ActionConfig::_internal_mutable_current_attention_object() { + + return _impl_.current_attention_object_.Mutable(GetArenaForAllocation()); +} +inline std::string* ActionConfig::release_current_attention_object() { + // @@protoc_insertion_point(field_release:service.ActionConfig.current_attention_object) + return _impl_.current_attention_object_.Release(); +} +inline void ActionConfig::set_allocated_current_attention_object(std::string* current_attention_object) { + if (current_attention_object != nullptr) { + + } else { + + } + _impl_.current_attention_object_.SetAllocated(current_attention_object, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.current_attention_object_.IsDefault()) { + _impl_.current_attention_object_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.ActionConfig.current_attention_object) +} + +// ------------------------------------------------------------------- + +// STTRequest + +// .service.AudioConfig audio_config = 1; +inline bool STTRequest::_internal_has_audio_config() const { + return request_type_case() == kAudioConfig; +} +inline bool STTRequest::has_audio_config() const { + return _internal_has_audio_config(); +} +inline void STTRequest::set_has_audio_config() { + _impl_._oneof_case_[0] = kAudioConfig; +} +inline void STTRequest::clear_audio_config() { + if (_internal_has_audio_config()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.request_type_.audio_config_; + } + clear_has_request_type(); + } +} +inline ::service::AudioConfig* STTRequest::release_audio_config() { + // @@protoc_insertion_point(field_release:service.STTRequest.audio_config) + if (_internal_has_audio_config()) { + clear_has_request_type(); + ::service::AudioConfig* temp = _impl_.request_type_.audio_config_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + _impl_.request_type_.audio_config_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::AudioConfig& STTRequest::_internal_audio_config() const { + return _internal_has_audio_config() + ? *_impl_.request_type_.audio_config_ + : reinterpret_cast< ::service::AudioConfig&>(::service::_AudioConfig_default_instance_); +} +inline const ::service::AudioConfig& STTRequest::audio_config() const { + // @@protoc_insertion_point(field_get:service.STTRequest.audio_config) + return _internal_audio_config(); +} +inline ::service::AudioConfig* STTRequest::unsafe_arena_release_audio_config() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.STTRequest.audio_config) + if (_internal_has_audio_config()) { + clear_has_request_type(); + ::service::AudioConfig* temp = _impl_.request_type_.audio_config_; + _impl_.request_type_.audio_config_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void STTRequest::unsafe_arena_set_allocated_audio_config(::service::AudioConfig* audio_config) { + clear_request_type(); + if (audio_config) { + set_has_audio_config(); + _impl_.request_type_.audio_config_ = audio_config; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.STTRequest.audio_config) +} +inline ::service::AudioConfig* STTRequest::_internal_mutable_audio_config() { + if (!_internal_has_audio_config()) { + clear_request_type(); + set_has_audio_config(); + _impl_.request_type_.audio_config_ = CreateMaybeMessage< ::service::AudioConfig >(GetArenaForAllocation()); + } + return _impl_.request_type_.audio_config_; +} +inline ::service::AudioConfig* STTRequest::mutable_audio_config() { + ::service::AudioConfig* _msg = _internal_mutable_audio_config(); + // @@protoc_insertion_point(field_mutable:service.STTRequest.audio_config) + return _msg; +} + +// bytes audio_chunk = 2; +inline bool STTRequest::_internal_has_audio_chunk() const { + return request_type_case() == kAudioChunk; +} +inline bool STTRequest::has_audio_chunk() const { + return _internal_has_audio_chunk(); +} +inline void STTRequest::set_has_audio_chunk() { + _impl_._oneof_case_[0] = kAudioChunk; +} +inline void STTRequest::clear_audio_chunk() { + if (_internal_has_audio_chunk()) { + _impl_.request_type_.audio_chunk_.Destroy(); + clear_has_request_type(); + } +} +inline const std::string& STTRequest::audio_chunk() const { + // @@protoc_insertion_point(field_get:service.STTRequest.audio_chunk) + return _internal_audio_chunk(); +} +template +inline void STTRequest::set_audio_chunk(ArgT0&& arg0, ArgT... args) { + if (!_internal_has_audio_chunk()) { + clear_request_type(); + set_has_audio_chunk(); + _impl_.request_type_.audio_chunk_.InitDefault(); + } + _impl_.request_type_.audio_chunk_.SetBytes( static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.STTRequest.audio_chunk) +} +inline std::string* STTRequest::mutable_audio_chunk() { + std::string* _s = _internal_mutable_audio_chunk(); + // @@protoc_insertion_point(field_mutable:service.STTRequest.audio_chunk) + return _s; +} +inline const std::string& STTRequest::_internal_audio_chunk() const { + if (_internal_has_audio_chunk()) { + return _impl_.request_type_.audio_chunk_.Get(); + } + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); +} +inline void STTRequest::_internal_set_audio_chunk(const std::string& value) { + if (!_internal_has_audio_chunk()) { + clear_request_type(); + set_has_audio_chunk(); + _impl_.request_type_.audio_chunk_.InitDefault(); + } + _impl_.request_type_.audio_chunk_.Set(value, GetArenaForAllocation()); +} +inline std::string* STTRequest::_internal_mutable_audio_chunk() { + if (!_internal_has_audio_chunk()) { + clear_request_type(); + set_has_audio_chunk(); + _impl_.request_type_.audio_chunk_.InitDefault(); + } + return _impl_.request_type_.audio_chunk_.Mutable( GetArenaForAllocation()); +} +inline std::string* STTRequest::release_audio_chunk() { + // @@protoc_insertion_point(field_release:service.STTRequest.audio_chunk) + if (_internal_has_audio_chunk()) { + clear_has_request_type(); + return _impl_.request_type_.audio_chunk_.Release(); + } else { + return nullptr; + } +} +inline void STTRequest::set_allocated_audio_chunk(std::string* audio_chunk) { + if (has_request_type()) { + clear_request_type(); + } + if (audio_chunk != nullptr) { + set_has_audio_chunk(); + _impl_.request_type_.audio_chunk_.InitAllocated(audio_chunk, GetArenaForAllocation()); + } + // @@protoc_insertion_point(field_set_allocated:service.STTRequest.audio_chunk) +} + +inline bool STTRequest::has_request_type() const { + return request_type_case() != REQUEST_TYPE_NOT_SET; +} +inline void STTRequest::clear_has_request_type() { + _impl_._oneof_case_[0] = REQUEST_TYPE_NOT_SET; +} +inline STTRequest::RequestTypeCase STTRequest::request_type_case() const { + return STTRequest::RequestTypeCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// STTResponse + +// string text = 1; +inline void STTResponse::clear_text() { + _impl_.text_.ClearToEmpty(); +} +inline const std::string& STTResponse::text() const { + // @@protoc_insertion_point(field_get:service.STTResponse.text) + return _internal_text(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void STTResponse::set_text(ArgT0&& arg0, ArgT... args) { + + _impl_.text_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.STTResponse.text) +} +inline std::string* STTResponse::mutable_text() { + std::string* _s = _internal_mutable_text(); + // @@protoc_insertion_point(field_mutable:service.STTResponse.text) + return _s; +} +inline const std::string& STTResponse::_internal_text() const { + return _impl_.text_.Get(); +} +inline void STTResponse::_internal_set_text(const std::string& value) { + + _impl_.text_.Set(value, GetArenaForAllocation()); +} +inline std::string* STTResponse::_internal_mutable_text() { + + return _impl_.text_.Mutable(GetArenaForAllocation()); +} +inline std::string* STTResponse::release_text() { + // @@protoc_insertion_point(field_release:service.STTResponse.text) + return _impl_.text_.Release(); +} +inline void STTResponse::set_allocated_text(std::string* text) { + if (text != nullptr) { + + } else { + + } + _impl_.text_.SetAllocated(text, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.text_.IsDefault()) { + _impl_.text_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.STTResponse.text) +} + +// ------------------------------------------------------------------- + +// DynamicInfoConfig + +// string text = 1; +inline void DynamicInfoConfig::clear_text() { + _impl_.text_.ClearToEmpty(); +} +inline const std::string& DynamicInfoConfig::text() const { + // @@protoc_insertion_point(field_get:service.DynamicInfoConfig.text) + return _internal_text(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void DynamicInfoConfig::set_text(ArgT0&& arg0, ArgT... args) { + + _impl_.text_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.DynamicInfoConfig.text) +} +inline std::string* DynamicInfoConfig::mutable_text() { + std::string* _s = _internal_mutable_text(); + // @@protoc_insertion_point(field_mutable:service.DynamicInfoConfig.text) + return _s; +} +inline const std::string& DynamicInfoConfig::_internal_text() const { + return _impl_.text_.Get(); +} +inline void DynamicInfoConfig::_internal_set_text(const std::string& value) { + + _impl_.text_.Set(value, GetArenaForAllocation()); +} +inline std::string* DynamicInfoConfig::_internal_mutable_text() { + + return _impl_.text_.Mutable(GetArenaForAllocation()); +} +inline std::string* DynamicInfoConfig::release_text() { + // @@protoc_insertion_point(field_release:service.DynamicInfoConfig.text) + return _impl_.text_.Release(); +} +inline void DynamicInfoConfig::set_allocated_text(std::string* text) { + if (text != nullptr) { + + } else { + + } + _impl_.text_.SetAllocated(text, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.text_.IsDefault()) { + _impl_.text_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.DynamicInfoConfig.text) +} + +// ------------------------------------------------------------------- + +// VisionInput_ImageData + +// int32 width = 1; +inline void VisionInput_ImageData::clear_width() { + _impl_.width_ = 0; +} +inline int32_t VisionInput_ImageData::_internal_width() const { + return _impl_.width_; +} +inline int32_t VisionInput_ImageData::width() const { + // @@protoc_insertion_point(field_get:service.VisionInput.ImageData.width) + return _internal_width(); +} +inline void VisionInput_ImageData::_internal_set_width(int32_t value) { + + _impl_.width_ = value; +} +inline void VisionInput_ImageData::set_width(int32_t value) { + _internal_set_width(value); + // @@protoc_insertion_point(field_set:service.VisionInput.ImageData.width) +} + +// int32 height = 2; +inline void VisionInput_ImageData::clear_height() { + _impl_.height_ = 0; +} +inline int32_t VisionInput_ImageData::_internal_height() const { + return _impl_.height_; +} +inline int32_t VisionInput_ImageData::height() const { + // @@protoc_insertion_point(field_get:service.VisionInput.ImageData.height) + return _internal_height(); +} +inline void VisionInput_ImageData::_internal_set_height(int32_t value) { + + _impl_.height_ = value; +} +inline void VisionInput_ImageData::set_height(int32_t value) { + _internal_set_height(value); + // @@protoc_insertion_point(field_set:service.VisionInput.ImageData.height) +} + +// bytes data = 3; +inline void VisionInput_ImageData::clear_data() { + _impl_.data_.ClearToEmpty(); +} +inline const std::string& VisionInput_ImageData::data() const { + // @@protoc_insertion_point(field_get:service.VisionInput.ImageData.data) + return _internal_data(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void VisionInput_ImageData::set_data(ArgT0&& arg0, ArgT... args) { + + _impl_.data_.SetBytes(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.VisionInput.ImageData.data) +} +inline std::string* VisionInput_ImageData::mutable_data() { + std::string* _s = _internal_mutable_data(); + // @@protoc_insertion_point(field_mutable:service.VisionInput.ImageData.data) + return _s; +} +inline const std::string& VisionInput_ImageData::_internal_data() const { + return _impl_.data_.Get(); +} +inline void VisionInput_ImageData::_internal_set_data(const std::string& value) { + + _impl_.data_.Set(value, GetArenaForAllocation()); +} +inline std::string* VisionInput_ImageData::_internal_mutable_data() { + + return _impl_.data_.Mutable(GetArenaForAllocation()); +} +inline std::string* VisionInput_ImageData::release_data() { + // @@protoc_insertion_point(field_release:service.VisionInput.ImageData.data) + return _impl_.data_.Release(); +} +inline void VisionInput_ImageData::set_allocated_data(std::string* data) { + if (data != nullptr) { + + } else { + + } + _impl_.data_.SetAllocated(data, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.data_.IsDefault()) { + _impl_.data_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.VisionInput.ImageData.data) +} + +// ------------------------------------------------------------------- + +// VisionInput_VideoData + +// int32 fps = 1; +inline void VisionInput_VideoData::clear_fps() { + _impl_.fps_ = 0; +} +inline int32_t VisionInput_VideoData::_internal_fps() const { + return _impl_.fps_; +} +inline int32_t VisionInput_VideoData::fps() const { + // @@protoc_insertion_point(field_get:service.VisionInput.VideoData.fps) + return _internal_fps(); +} +inline void VisionInput_VideoData::_internal_set_fps(int32_t value) { + + _impl_.fps_ = value; +} +inline void VisionInput_VideoData::set_fps(int32_t value) { + _internal_set_fps(value); + // @@protoc_insertion_point(field_set:service.VisionInput.VideoData.fps) +} + +// int32 width = 2; +inline void VisionInput_VideoData::clear_width() { + _impl_.width_ = 0; +} +inline int32_t VisionInput_VideoData::_internal_width() const { + return _impl_.width_; +} +inline int32_t VisionInput_VideoData::width() const { + // @@protoc_insertion_point(field_get:service.VisionInput.VideoData.width) + return _internal_width(); +} +inline void VisionInput_VideoData::_internal_set_width(int32_t value) { + + _impl_.width_ = value; +} +inline void VisionInput_VideoData::set_width(int32_t value) { + _internal_set_width(value); + // @@protoc_insertion_point(field_set:service.VisionInput.VideoData.width) +} + +// int32 height = 3; +inline void VisionInput_VideoData::clear_height() { + _impl_.height_ = 0; +} +inline int32_t VisionInput_VideoData::_internal_height() const { + return _impl_.height_; +} +inline int32_t VisionInput_VideoData::height() const { + // @@protoc_insertion_point(field_get:service.VisionInput.VideoData.height) + return _internal_height(); +} +inline void VisionInput_VideoData::_internal_set_height(int32_t value) { + + _impl_.height_ = value; +} +inline void VisionInput_VideoData::set_height(int32_t value) { + _internal_set_height(value); + // @@protoc_insertion_point(field_set:service.VisionInput.VideoData.height) +} + +// bytes data = 4; +inline void VisionInput_VideoData::clear_data() { + _impl_.data_.ClearToEmpty(); +} +inline const std::string& VisionInput_VideoData::data() const { + // @@protoc_insertion_point(field_get:service.VisionInput.VideoData.data) + return _internal_data(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void VisionInput_VideoData::set_data(ArgT0&& arg0, ArgT... args) { + + _impl_.data_.SetBytes(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.VisionInput.VideoData.data) +} +inline std::string* VisionInput_VideoData::mutable_data() { + std::string* _s = _internal_mutable_data(); + // @@protoc_insertion_point(field_mutable:service.VisionInput.VideoData.data) + return _s; +} +inline const std::string& VisionInput_VideoData::_internal_data() const { + return _impl_.data_.Get(); +} +inline void VisionInput_VideoData::_internal_set_data(const std::string& value) { + + _impl_.data_.Set(value, GetArenaForAllocation()); +} +inline std::string* VisionInput_VideoData::_internal_mutable_data() { + + return _impl_.data_.Mutable(GetArenaForAllocation()); +} +inline std::string* VisionInput_VideoData::release_data() { + // @@protoc_insertion_point(field_release:service.VisionInput.VideoData.data) + return _impl_.data_.Release(); +} +inline void VisionInput_VideoData::set_allocated_data(std::string* data) { + if (data != nullptr) { + + } else { + + } + _impl_.data_.SetAllocated(data, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.data_.IsDefault()) { + _impl_.data_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.VisionInput.VideoData.data) +} + +// ------------------------------------------------------------------- + +// VisionInput + +// .service.VisionInput.ImageData image_data = 1; +inline bool VisionInput::_internal_has_image_data() const { + return vision_data_case() == kImageData; +} +inline bool VisionInput::has_image_data() const { + return _internal_has_image_data(); +} +inline void VisionInput::set_has_image_data() { + _impl_._oneof_case_[0] = kImageData; +} +inline void VisionInput::clear_image_data() { + if (_internal_has_image_data()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.vision_data_.image_data_; + } + clear_has_vision_data(); + } +} +inline ::service::VisionInput_ImageData* VisionInput::release_image_data() { + // @@protoc_insertion_point(field_release:service.VisionInput.image_data) + if (_internal_has_image_data()) { + clear_has_vision_data(); + ::service::VisionInput_ImageData* temp = _impl_.vision_data_.image_data_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + _impl_.vision_data_.image_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::VisionInput_ImageData& VisionInput::_internal_image_data() const { + return _internal_has_image_data() + ? *_impl_.vision_data_.image_data_ + : reinterpret_cast< ::service::VisionInput_ImageData&>(::service::_VisionInput_ImageData_default_instance_); +} +inline const ::service::VisionInput_ImageData& VisionInput::image_data() const { + // @@protoc_insertion_point(field_get:service.VisionInput.image_data) + return _internal_image_data(); +} +inline ::service::VisionInput_ImageData* VisionInput::unsafe_arena_release_image_data() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.VisionInput.image_data) + if (_internal_has_image_data()) { + clear_has_vision_data(); + ::service::VisionInput_ImageData* temp = _impl_.vision_data_.image_data_; + _impl_.vision_data_.image_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void VisionInput::unsafe_arena_set_allocated_image_data(::service::VisionInput_ImageData* image_data) { + clear_vision_data(); + if (image_data) { + set_has_image_data(); + _impl_.vision_data_.image_data_ = image_data; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.VisionInput.image_data) +} +inline ::service::VisionInput_ImageData* VisionInput::_internal_mutable_image_data() { + if (!_internal_has_image_data()) { + clear_vision_data(); + set_has_image_data(); + _impl_.vision_data_.image_data_ = CreateMaybeMessage< ::service::VisionInput_ImageData >(GetArenaForAllocation()); + } + return _impl_.vision_data_.image_data_; +} +inline ::service::VisionInput_ImageData* VisionInput::mutable_image_data() { + ::service::VisionInput_ImageData* _msg = _internal_mutable_image_data(); + // @@protoc_insertion_point(field_mutable:service.VisionInput.image_data) + return _msg; +} + +// .service.VisionInput.VideoData video_data = 2; +inline bool VisionInput::_internal_has_video_data() const { + return vision_data_case() == kVideoData; +} +inline bool VisionInput::has_video_data() const { + return _internal_has_video_data(); +} +inline void VisionInput::set_has_video_data() { + _impl_._oneof_case_[0] = kVideoData; +} +inline void VisionInput::clear_video_data() { + if (_internal_has_video_data()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.vision_data_.video_data_; + } + clear_has_vision_data(); + } +} +inline ::service::VisionInput_VideoData* VisionInput::release_video_data() { + // @@protoc_insertion_point(field_release:service.VisionInput.video_data) + if (_internal_has_video_data()) { + clear_has_vision_data(); + ::service::VisionInput_VideoData* temp = _impl_.vision_data_.video_data_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + _impl_.vision_data_.video_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::VisionInput_VideoData& VisionInput::_internal_video_data() const { + return _internal_has_video_data() + ? *_impl_.vision_data_.video_data_ + : reinterpret_cast< ::service::VisionInput_VideoData&>(::service::_VisionInput_VideoData_default_instance_); +} +inline const ::service::VisionInput_VideoData& VisionInput::video_data() const { + // @@protoc_insertion_point(field_get:service.VisionInput.video_data) + return _internal_video_data(); +} +inline ::service::VisionInput_VideoData* VisionInput::unsafe_arena_release_video_data() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.VisionInput.video_data) + if (_internal_has_video_data()) { + clear_has_vision_data(); + ::service::VisionInput_VideoData* temp = _impl_.vision_data_.video_data_; + _impl_.vision_data_.video_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void VisionInput::unsafe_arena_set_allocated_video_data(::service::VisionInput_VideoData* video_data) { + clear_vision_data(); + if (video_data) { + set_has_video_data(); + _impl_.vision_data_.video_data_ = video_data; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.VisionInput.video_data) +} +inline ::service::VisionInput_VideoData* VisionInput::_internal_mutable_video_data() { + if (!_internal_has_video_data()) { + clear_vision_data(); + set_has_video_data(); + _impl_.vision_data_.video_data_ = CreateMaybeMessage< ::service::VisionInput_VideoData >(GetArenaForAllocation()); + } + return _impl_.vision_data_.video_data_; +} +inline ::service::VisionInput_VideoData* VisionInput::mutable_video_data() { + ::service::VisionInput_VideoData* _msg = _internal_mutable_video_data(); + // @@protoc_insertion_point(field_mutable:service.VisionInput.video_data) + return _msg; +} + +inline bool VisionInput::has_vision_data() const { + return vision_data_case() != VISION_DATA_NOT_SET; +} +inline void VisionInput::clear_has_vision_data() { + _impl_._oneof_case_[0] = VISION_DATA_NOT_SET; +} +inline VisionInput::VisionDataCase VisionInput::vision_data_case() const { + return VisionInput::VisionDataCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// GetResponseRequest_GetResponseConfig + +// string character_id = 2; +inline void GetResponseRequest_GetResponseConfig::clear_character_id() { + _impl_.character_id_.ClearToEmpty(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::character_id() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.character_id) + return _internal_character_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseRequest_GetResponseConfig::set_character_id(ArgT0&& arg0, ArgT... args) { + + _impl_.character_id_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseConfig.character_id) +} +inline std::string* GetResponseRequest_GetResponseConfig::mutable_character_id() { + std::string* _s = _internal_mutable_character_id(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.character_id) + return _s; +} +inline const std::string& GetResponseRequest_GetResponseConfig::_internal_character_id() const { + return _impl_.character_id_.Get(); +} +inline void GetResponseRequest_GetResponseConfig::_internal_set_character_id(const std::string& value) { + + _impl_.character_id_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseConfig::_internal_mutable_character_id() { + + return _impl_.character_id_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseConfig::release_character_id() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.character_id) + return _impl_.character_id_.Release(); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_character_id(std::string* character_id) { + if (character_id != nullptr) { + + } else { + + } + _impl_.character_id_.SetAllocated(character_id, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.character_id_.IsDefault()) { + _impl_.character_id_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.character_id) +} + +// string api_key = 3; +inline void GetResponseRequest_GetResponseConfig::clear_api_key() { + _impl_.api_key_.ClearToEmpty(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::api_key() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.api_key) + return _internal_api_key(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseRequest_GetResponseConfig::set_api_key(ArgT0&& arg0, ArgT... args) { + + _impl_.api_key_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseConfig.api_key) +} +inline std::string* GetResponseRequest_GetResponseConfig::mutable_api_key() { + std::string* _s = _internal_mutable_api_key(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.api_key) + return _s; +} +inline const std::string& GetResponseRequest_GetResponseConfig::_internal_api_key() const { + return _impl_.api_key_.Get(); +} +inline void GetResponseRequest_GetResponseConfig::_internal_set_api_key(const std::string& value) { + + _impl_.api_key_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseConfig::_internal_mutable_api_key() { + + return _impl_.api_key_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseConfig::release_api_key() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.api_key) + return _impl_.api_key_.Release(); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_api_key(std::string* api_key) { + if (api_key != nullptr) { + + } else { + + } + _impl_.api_key_.SetAllocated(api_key, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.api_key_.IsDefault()) { + _impl_.api_key_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.api_key) +} + +// string session_id = 4; +inline void GetResponseRequest_GetResponseConfig::clear_session_id() { + _impl_.session_id_.ClearToEmpty(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::session_id() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.session_id) + return _internal_session_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseRequest_GetResponseConfig::set_session_id(ArgT0&& arg0, ArgT... args) { + + _impl_.session_id_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseConfig.session_id) +} +inline std::string* GetResponseRequest_GetResponseConfig::mutable_session_id() { + std::string* _s = _internal_mutable_session_id(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.session_id) + return _s; +} +inline const std::string& GetResponseRequest_GetResponseConfig::_internal_session_id() const { + return _impl_.session_id_.Get(); +} +inline void GetResponseRequest_GetResponseConfig::_internal_set_session_id(const std::string& value) { + + _impl_.session_id_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseConfig::_internal_mutable_session_id() { + + return _impl_.session_id_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseConfig::release_session_id() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.session_id) + return _impl_.session_id_.Release(); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_session_id(std::string* session_id) { + if (session_id != nullptr) { + + } else { + + } + _impl_.session_id_.SetAllocated(session_id, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.session_id_.IsDefault()) { + _impl_.session_id_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.session_id) +} + +// .service.AudioConfig audio_config = 5; +inline bool GetResponseRequest_GetResponseConfig::_internal_has_audio_config() const { + return this != internal_default_instance() && _impl_.audio_config_ != nullptr; +} +inline bool GetResponseRequest_GetResponseConfig::has_audio_config() const { + return _internal_has_audio_config(); +} +inline void GetResponseRequest_GetResponseConfig::clear_audio_config() { + if (GetArenaForAllocation() == nullptr && _impl_.audio_config_ != nullptr) { + delete _impl_.audio_config_; + } + _impl_.audio_config_ = nullptr; +} +inline const ::service::AudioConfig& GetResponseRequest_GetResponseConfig::_internal_audio_config() const { + const ::service::AudioConfig* p = _impl_.audio_config_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_AudioConfig_default_instance_); +} +inline const ::service::AudioConfig& GetResponseRequest_GetResponseConfig::audio_config() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.audio_config) + return _internal_audio_config(); +} +inline void GetResponseRequest_GetResponseConfig::unsafe_arena_set_allocated_audio_config( + ::service::AudioConfig* audio_config) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.audio_config_); + } + _impl_.audio_config_ = audio_config; + if (audio_config) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequest.GetResponseConfig.audio_config) +} +inline ::service::AudioConfig* GetResponseRequest_GetResponseConfig::release_audio_config() { + + ::service::AudioConfig* temp = _impl_.audio_config_; + _impl_.audio_config_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service::AudioConfig* GetResponseRequest_GetResponseConfig::unsafe_arena_release_audio_config() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.audio_config) + + ::service::AudioConfig* temp = _impl_.audio_config_; + _impl_.audio_config_ = nullptr; + return temp; +} +inline ::service::AudioConfig* GetResponseRequest_GetResponseConfig::_internal_mutable_audio_config() { + + if (_impl_.audio_config_ == nullptr) { + auto* p = CreateMaybeMessage<::service::AudioConfig>(GetArenaForAllocation()); + _impl_.audio_config_ = p; + } + return _impl_.audio_config_; +} +inline ::service::AudioConfig* GetResponseRequest_GetResponseConfig::mutable_audio_config() { + ::service::AudioConfig* _msg = _internal_mutable_audio_config(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.audio_config) + return _msg; +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_audio_config(::service::AudioConfig* audio_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.audio_config_; + } + if (audio_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(audio_config); + if (message_arena != submessage_arena) { + audio_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, audio_config, submessage_arena); + } + + } else { + + } + _impl_.audio_config_ = audio_config; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.audio_config) +} + +// .service.ActionConfig action_config = 6; +inline bool GetResponseRequest_GetResponseConfig::_internal_has_action_config() const { + return this != internal_default_instance() && _impl_.action_config_ != nullptr; +} +inline bool GetResponseRequest_GetResponseConfig::has_action_config() const { + return _internal_has_action_config(); +} +inline void GetResponseRequest_GetResponseConfig::clear_action_config() { + if (GetArenaForAllocation() == nullptr && _impl_.action_config_ != nullptr) { + delete _impl_.action_config_; + } + _impl_.action_config_ = nullptr; +} +inline const ::service::ActionConfig& GetResponseRequest_GetResponseConfig::_internal_action_config() const { + const ::service::ActionConfig* p = _impl_.action_config_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_ActionConfig_default_instance_); +} +inline const ::service::ActionConfig& GetResponseRequest_GetResponseConfig::action_config() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.action_config) + return _internal_action_config(); +} +inline void GetResponseRequest_GetResponseConfig::unsafe_arena_set_allocated_action_config( + ::service::ActionConfig* action_config) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.action_config_); + } + _impl_.action_config_ = action_config; + if (action_config) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequest.GetResponseConfig.action_config) +} +inline ::service::ActionConfig* GetResponseRequest_GetResponseConfig::release_action_config() { + + ::service::ActionConfig* temp = _impl_.action_config_; + _impl_.action_config_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service::ActionConfig* GetResponseRequest_GetResponseConfig::unsafe_arena_release_action_config() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.action_config) + + ::service::ActionConfig* temp = _impl_.action_config_; + _impl_.action_config_ = nullptr; + return temp; +} +inline ::service::ActionConfig* GetResponseRequest_GetResponseConfig::_internal_mutable_action_config() { + + if (_impl_.action_config_ == nullptr) { + auto* p = CreateMaybeMessage<::service::ActionConfig>(GetArenaForAllocation()); + _impl_.action_config_ = p; + } + return _impl_.action_config_; +} +inline ::service::ActionConfig* GetResponseRequest_GetResponseConfig::mutable_action_config() { + ::service::ActionConfig* _msg = _internal_mutable_action_config(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.action_config) + return _msg; +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_action_config(::service::ActionConfig* action_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.action_config_; + } + if (action_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(action_config); + if (message_arena != submessage_arena) { + action_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, action_config, submessage_arena); + } + + } else { + + } + _impl_.action_config_ = action_config; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.action_config) +} + +// string speaker = 7; +inline void GetResponseRequest_GetResponseConfig::clear_speaker() { + _impl_.speaker_.ClearToEmpty(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::speaker() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.speaker) + return _internal_speaker(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseRequest_GetResponseConfig::set_speaker(ArgT0&& arg0, ArgT... args) { + + _impl_.speaker_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseConfig.speaker) +} +inline std::string* GetResponseRequest_GetResponseConfig::mutable_speaker() { + std::string* _s = _internal_mutable_speaker(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.speaker) + return _s; +} +inline const std::string& GetResponseRequest_GetResponseConfig::_internal_speaker() const { + return _impl_.speaker_.Get(); +} +inline void GetResponseRequest_GetResponseConfig::_internal_set_speaker(const std::string& value) { + + _impl_.speaker_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseConfig::_internal_mutable_speaker() { + + return _impl_.speaker_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseConfig::release_speaker() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.speaker) + return _impl_.speaker_.Release(); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_speaker(std::string* speaker) { + if (speaker != nullptr) { + + } else { + + } + _impl_.speaker_.SetAllocated(speaker, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.speaker_.IsDefault()) { + _impl_.speaker_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.speaker) +} + +// string language_code = 8; +inline void GetResponseRequest_GetResponseConfig::clear_language_code() { + _impl_.language_code_.ClearToEmpty(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::language_code() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.language_code) + return _internal_language_code(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseRequest_GetResponseConfig::set_language_code(ArgT0&& arg0, ArgT... args) { + + _impl_.language_code_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseConfig.language_code) +} +inline std::string* GetResponseRequest_GetResponseConfig::mutable_language_code() { + std::string* _s = _internal_mutable_language_code(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.language_code) + return _s; +} +inline const std::string& GetResponseRequest_GetResponseConfig::_internal_language_code() const { + return _impl_.language_code_.Get(); +} +inline void GetResponseRequest_GetResponseConfig::_internal_set_language_code(const std::string& value) { + + _impl_.language_code_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseConfig::_internal_mutable_language_code() { + + return _impl_.language_code_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseConfig::release_language_code() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.language_code) + return _impl_.language_code_.Release(); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_language_code(std::string* language_code) { + if (language_code != nullptr) { + + } else { + + } + _impl_.language_code_.SetAllocated(language_code, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.language_code_.IsDefault()) { + _impl_.language_code_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.language_code) +} + +// string speaker_id = 9; +inline void GetResponseRequest_GetResponseConfig::clear_speaker_id() { + _impl_.speaker_id_.ClearToEmpty(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::speaker_id() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.speaker_id) + return _internal_speaker_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseRequest_GetResponseConfig::set_speaker_id(ArgT0&& arg0, ArgT... args) { + + _impl_.speaker_id_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseConfig.speaker_id) +} +inline std::string* GetResponseRequest_GetResponseConfig::mutable_speaker_id() { + std::string* _s = _internal_mutable_speaker_id(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.speaker_id) + return _s; +} +inline const std::string& GetResponseRequest_GetResponseConfig::_internal_speaker_id() const { + return _impl_.speaker_id_.Get(); +} +inline void GetResponseRequest_GetResponseConfig::_internal_set_speaker_id(const std::string& value) { + + _impl_.speaker_id_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseConfig::_internal_mutable_speaker_id() { + + return _impl_.speaker_id_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseConfig::release_speaker_id() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.speaker_id) + return _impl_.speaker_id_.Release(); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_speaker_id(std::string* speaker_id) { + if (speaker_id != nullptr) { + + } else { + + } + _impl_.speaker_id_.SetAllocated(speaker_id, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.speaker_id_.IsDefault()) { + _impl_.speaker_id_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.speaker_id) +} + +// string api_auth_token = 10; +inline void GetResponseRequest_GetResponseConfig::clear_api_auth_token() { + _impl_.api_auth_token_.ClearToEmpty(); +} +inline const std::string& GetResponseRequest_GetResponseConfig::api_auth_token() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.api_auth_token) + return _internal_api_auth_token(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseRequest_GetResponseConfig::set_api_auth_token(ArgT0&& arg0, ArgT... args) { + + _impl_.api_auth_token_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseConfig.api_auth_token) +} +inline std::string* GetResponseRequest_GetResponseConfig::mutable_api_auth_token() { + std::string* _s = _internal_mutable_api_auth_token(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.api_auth_token) + return _s; +} +inline const std::string& GetResponseRequest_GetResponseConfig::_internal_api_auth_token() const { + return _impl_.api_auth_token_.Get(); +} +inline void GetResponseRequest_GetResponseConfig::_internal_set_api_auth_token(const std::string& value) { + + _impl_.api_auth_token_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseConfig::_internal_mutable_api_auth_token() { + + return _impl_.api_auth_token_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseConfig::release_api_auth_token() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.api_auth_token) + return _impl_.api_auth_token_.Release(); +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_api_auth_token(std::string* api_auth_token) { + if (api_auth_token != nullptr) { + + } else { + + } + _impl_.api_auth_token_.SetAllocated(api_auth_token, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.api_auth_token_.IsDefault()) { + _impl_.api_auth_token_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.api_auth_token) +} + +// map narrative_template_keys = 11; +inline int GetResponseRequest_GetResponseConfig::_internal_narrative_template_keys_size() const { + return _impl_.narrative_template_keys_.size(); +} +inline int GetResponseRequest_GetResponseConfig::narrative_template_keys_size() const { + return _internal_narrative_template_keys_size(); +} +inline void GetResponseRequest_GetResponseConfig::clear_narrative_template_keys() { + _impl_.narrative_template_keys_.Clear(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& +GetResponseRequest_GetResponseConfig::_internal_narrative_template_keys() const { + return _impl_.narrative_template_keys_.GetMap(); +} +inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >& +GetResponseRequest_GetResponseConfig::narrative_template_keys() const { + // @@protoc_insertion_point(field_map:service.GetResponseRequest.GetResponseConfig.narrative_template_keys) + return _internal_narrative_template_keys(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* +GetResponseRequest_GetResponseConfig::_internal_mutable_narrative_template_keys() { + return _impl_.narrative_template_keys_.MutableMap(); +} +inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >* +GetResponseRequest_GetResponseConfig::mutable_narrative_template_keys() { + // @@protoc_insertion_point(field_mutable_map:service.GetResponseRequest.GetResponseConfig.narrative_template_keys) + return _internal_mutable_narrative_template_keys(); +} + +// .service.DynamicInfoConfig dynamic_info_config = 12; +inline bool GetResponseRequest_GetResponseConfig::_internal_has_dynamic_info_config() const { + return this != internal_default_instance() && _impl_.dynamic_info_config_ != nullptr; +} +inline bool GetResponseRequest_GetResponseConfig::has_dynamic_info_config() const { + return _internal_has_dynamic_info_config(); +} +inline void GetResponseRequest_GetResponseConfig::clear_dynamic_info_config() { + if (GetArenaForAllocation() == nullptr && _impl_.dynamic_info_config_ != nullptr) { + delete _impl_.dynamic_info_config_; + } + _impl_.dynamic_info_config_ = nullptr; +} +inline const ::service::DynamicInfoConfig& GetResponseRequest_GetResponseConfig::_internal_dynamic_info_config() const { + const ::service::DynamicInfoConfig* p = _impl_.dynamic_info_config_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_DynamicInfoConfig_default_instance_); +} +inline const ::service::DynamicInfoConfig& GetResponseRequest_GetResponseConfig::dynamic_info_config() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.dynamic_info_config) + return _internal_dynamic_info_config(); +} +inline void GetResponseRequest_GetResponseConfig::unsafe_arena_set_allocated_dynamic_info_config( + ::service::DynamicInfoConfig* dynamic_info_config) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.dynamic_info_config_); + } + _impl_.dynamic_info_config_ = dynamic_info_config; + if (dynamic_info_config) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequest.GetResponseConfig.dynamic_info_config) +} +inline ::service::DynamicInfoConfig* GetResponseRequest_GetResponseConfig::release_dynamic_info_config() { + + ::service::DynamicInfoConfig* temp = _impl_.dynamic_info_config_; + _impl_.dynamic_info_config_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service::DynamicInfoConfig* GetResponseRequest_GetResponseConfig::unsafe_arena_release_dynamic_info_config() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.dynamic_info_config) + + ::service::DynamicInfoConfig* temp = _impl_.dynamic_info_config_; + _impl_.dynamic_info_config_ = nullptr; + return temp; +} +inline ::service::DynamicInfoConfig* GetResponseRequest_GetResponseConfig::_internal_mutable_dynamic_info_config() { + + if (_impl_.dynamic_info_config_ == nullptr) { + auto* p = CreateMaybeMessage<::service::DynamicInfoConfig>(GetArenaForAllocation()); + _impl_.dynamic_info_config_ = p; + } + return _impl_.dynamic_info_config_; +} +inline ::service::DynamicInfoConfig* GetResponseRequest_GetResponseConfig::mutable_dynamic_info_config() { + ::service::DynamicInfoConfig* _msg = _internal_mutable_dynamic_info_config(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.dynamic_info_config) + return _msg; +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_dynamic_info_config(::service::DynamicInfoConfig* dynamic_info_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.dynamic_info_config_; + } + if (dynamic_info_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(dynamic_info_config); + if (message_arena != submessage_arena) { + dynamic_info_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, dynamic_info_config, submessage_arena); + } + + } else { + + } + _impl_.dynamic_info_config_ = dynamic_info_config; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.dynamic_info_config) +} + +// .service.VisionInput vision_input = 13; +inline bool GetResponseRequest_GetResponseConfig::_internal_has_vision_input() const { + return this != internal_default_instance() && _impl_.vision_input_ != nullptr; +} +inline bool GetResponseRequest_GetResponseConfig::has_vision_input() const { + return _internal_has_vision_input(); +} +inline void GetResponseRequest_GetResponseConfig::clear_vision_input() { + if (GetArenaForAllocation() == nullptr && _impl_.vision_input_ != nullptr) { + delete _impl_.vision_input_; + } + _impl_.vision_input_ = nullptr; +} +inline const ::service::VisionInput& GetResponseRequest_GetResponseConfig::_internal_vision_input() const { + const ::service::VisionInput* p = _impl_.vision_input_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_VisionInput_default_instance_); +} +inline const ::service::VisionInput& GetResponseRequest_GetResponseConfig::vision_input() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseConfig.vision_input) + return _internal_vision_input(); +} +inline void GetResponseRequest_GetResponseConfig::unsafe_arena_set_allocated_vision_input( + ::service::VisionInput* vision_input) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.vision_input_); + } + _impl_.vision_input_ = vision_input; + if (vision_input) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequest.GetResponseConfig.vision_input) +} +inline ::service::VisionInput* GetResponseRequest_GetResponseConfig::release_vision_input() { + + ::service::VisionInput* temp = _impl_.vision_input_; + _impl_.vision_input_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service::VisionInput* GetResponseRequest_GetResponseConfig::unsafe_arena_release_vision_input() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseConfig.vision_input) + + ::service::VisionInput* temp = _impl_.vision_input_; + _impl_.vision_input_ = nullptr; + return temp; +} +inline ::service::VisionInput* GetResponseRequest_GetResponseConfig::_internal_mutable_vision_input() { + + if (_impl_.vision_input_ == nullptr) { + auto* p = CreateMaybeMessage<::service::VisionInput>(GetArenaForAllocation()); + _impl_.vision_input_ = p; + } + return _impl_.vision_input_; +} +inline ::service::VisionInput* GetResponseRequest_GetResponseConfig::mutable_vision_input() { + ::service::VisionInput* _msg = _internal_mutable_vision_input(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseConfig.vision_input) + return _msg; +} +inline void GetResponseRequest_GetResponseConfig::set_allocated_vision_input(::service::VisionInput* vision_input) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.vision_input_; + } + if (vision_input) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(vision_input); + if (message_arena != submessage_arena) { + vision_input = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, vision_input, submessage_arena); + } + + } else { + + } + _impl_.vision_input_ = vision_input; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseConfig.vision_input) +} + +// ------------------------------------------------------------------- + +// GetResponseRequest_GetResponseData + +// bytes audio_data = 1; +inline bool GetResponseRequest_GetResponseData::_internal_has_audio_data() const { + return input_type_case() == kAudioData; +} +inline bool GetResponseRequest_GetResponseData::has_audio_data() const { + return _internal_has_audio_data(); +} +inline void GetResponseRequest_GetResponseData::set_has_audio_data() { + _impl_._oneof_case_[0] = kAudioData; +} +inline void GetResponseRequest_GetResponseData::clear_audio_data() { + if (_internal_has_audio_data()) { + _impl_.input_type_.audio_data_.Destroy(); + clear_has_input_type(); + } +} +inline const std::string& GetResponseRequest_GetResponseData::audio_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseData.audio_data) + return _internal_audio_data(); +} +template +inline void GetResponseRequest_GetResponseData::set_audio_data(ArgT0&& arg0, ArgT... args) { + if (!_internal_has_audio_data()) { + clear_input_type(); + set_has_audio_data(); + _impl_.input_type_.audio_data_.InitDefault(); + } + _impl_.input_type_.audio_data_.SetBytes( static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseData.audio_data) +} +inline std::string* GetResponseRequest_GetResponseData::mutable_audio_data() { + std::string* _s = _internal_mutable_audio_data(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseData.audio_data) + return _s; +} +inline const std::string& GetResponseRequest_GetResponseData::_internal_audio_data() const { + if (_internal_has_audio_data()) { + return _impl_.input_type_.audio_data_.Get(); + } + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); +} +inline void GetResponseRequest_GetResponseData::_internal_set_audio_data(const std::string& value) { + if (!_internal_has_audio_data()) { + clear_input_type(); + set_has_audio_data(); + _impl_.input_type_.audio_data_.InitDefault(); + } + _impl_.input_type_.audio_data_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseData::_internal_mutable_audio_data() { + if (!_internal_has_audio_data()) { + clear_input_type(); + set_has_audio_data(); + _impl_.input_type_.audio_data_.InitDefault(); + } + return _impl_.input_type_.audio_data_.Mutable( GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseData::release_audio_data() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseData.audio_data) + if (_internal_has_audio_data()) { + clear_has_input_type(); + return _impl_.input_type_.audio_data_.Release(); + } else { + return nullptr; + } +} +inline void GetResponseRequest_GetResponseData::set_allocated_audio_data(std::string* audio_data) { + if (has_input_type()) { + clear_input_type(); + } + if (audio_data != nullptr) { + set_has_audio_data(); + _impl_.input_type_.audio_data_.InitAllocated(audio_data, GetArenaForAllocation()); + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseData.audio_data) +} + +// string text_data = 2; +inline bool GetResponseRequest_GetResponseData::_internal_has_text_data() const { + return input_type_case() == kTextData; +} +inline bool GetResponseRequest_GetResponseData::has_text_data() const { + return _internal_has_text_data(); +} +inline void GetResponseRequest_GetResponseData::set_has_text_data() { + _impl_._oneof_case_[0] = kTextData; +} +inline void GetResponseRequest_GetResponseData::clear_text_data() { + if (_internal_has_text_data()) { + _impl_.input_type_.text_data_.Destroy(); + clear_has_input_type(); + } +} +inline const std::string& GetResponseRequest_GetResponseData::text_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseData.text_data) + return _internal_text_data(); +} +template +inline void GetResponseRequest_GetResponseData::set_text_data(ArgT0&& arg0, ArgT... args) { + if (!_internal_has_text_data()) { + clear_input_type(); + set_has_text_data(); + _impl_.input_type_.text_data_.InitDefault(); + } + _impl_.input_type_.text_data_.Set( static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseRequest.GetResponseData.text_data) +} +inline std::string* GetResponseRequest_GetResponseData::mutable_text_data() { + std::string* _s = _internal_mutable_text_data(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseData.text_data) + return _s; +} +inline const std::string& GetResponseRequest_GetResponseData::_internal_text_data() const { + if (_internal_has_text_data()) { + return _impl_.input_type_.text_data_.Get(); + } + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); +} +inline void GetResponseRequest_GetResponseData::_internal_set_text_data(const std::string& value) { + if (!_internal_has_text_data()) { + clear_input_type(); + set_has_text_data(); + _impl_.input_type_.text_data_.InitDefault(); + } + _impl_.input_type_.text_data_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseData::_internal_mutable_text_data() { + if (!_internal_has_text_data()) { + clear_input_type(); + set_has_text_data(); + _impl_.input_type_.text_data_.InitDefault(); + } + return _impl_.input_type_.text_data_.Mutable( GetArenaForAllocation()); +} +inline std::string* GetResponseRequest_GetResponseData::release_text_data() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseData.text_data) + if (_internal_has_text_data()) { + clear_has_input_type(); + return _impl_.input_type_.text_data_.Release(); + } else { + return nullptr; + } +} +inline void GetResponseRequest_GetResponseData::set_allocated_text_data(std::string* text_data) { + if (has_input_type()) { + clear_input_type(); + } + if (text_data != nullptr) { + set_has_text_data(); + _impl_.input_type_.text_data_.InitAllocated(text_data, GetArenaForAllocation()); + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequest.GetResponseData.text_data) +} + +// .service.TriggerConfig trigger_data = 3; +inline bool GetResponseRequest_GetResponseData::_internal_has_trigger_data() const { + return input_type_case() == kTriggerData; +} +inline bool GetResponseRequest_GetResponseData::has_trigger_data() const { + return _internal_has_trigger_data(); +} +inline void GetResponseRequest_GetResponseData::set_has_trigger_data() { + _impl_._oneof_case_[0] = kTriggerData; +} +inline void GetResponseRequest_GetResponseData::clear_trigger_data() { + if (_internal_has_trigger_data()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.input_type_.trigger_data_; + } + clear_has_input_type(); + } +} +inline ::service::TriggerConfig* GetResponseRequest_GetResponseData::release_trigger_data() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.GetResponseData.trigger_data) + if (_internal_has_trigger_data()) { + clear_has_input_type(); + ::service::TriggerConfig* temp = _impl_.input_type_.trigger_data_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + _impl_.input_type_.trigger_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::TriggerConfig& GetResponseRequest_GetResponseData::_internal_trigger_data() const { + return _internal_has_trigger_data() + ? *_impl_.input_type_.trigger_data_ + : reinterpret_cast< ::service::TriggerConfig&>(::service::_TriggerConfig_default_instance_); +} +inline const ::service::TriggerConfig& GetResponseRequest_GetResponseData::trigger_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.GetResponseData.trigger_data) + return _internal_trigger_data(); +} +inline ::service::TriggerConfig* GetResponseRequest_GetResponseData::unsafe_arena_release_trigger_data() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseRequest.GetResponseData.trigger_data) + if (_internal_has_trigger_data()) { + clear_has_input_type(); + ::service::TriggerConfig* temp = _impl_.input_type_.trigger_data_; + _impl_.input_type_.trigger_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseRequest_GetResponseData::unsafe_arena_set_allocated_trigger_data(::service::TriggerConfig* trigger_data) { + clear_input_type(); + if (trigger_data) { + set_has_trigger_data(); + _impl_.input_type_.trigger_data_ = trigger_data; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequest.GetResponseData.trigger_data) +} +inline ::service::TriggerConfig* GetResponseRequest_GetResponseData::_internal_mutable_trigger_data() { + if (!_internal_has_trigger_data()) { + clear_input_type(); + set_has_trigger_data(); + _impl_.input_type_.trigger_data_ = CreateMaybeMessage< ::service::TriggerConfig >(GetArenaForAllocation()); + } + return _impl_.input_type_.trigger_data_; +} +inline ::service::TriggerConfig* GetResponseRequest_GetResponseData::mutable_trigger_data() { + ::service::TriggerConfig* _msg = _internal_mutable_trigger_data(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.GetResponseData.trigger_data) + return _msg; +} + +inline bool GetResponseRequest_GetResponseData::has_input_type() const { + return input_type_case() != INPUT_TYPE_NOT_SET; +} +inline void GetResponseRequest_GetResponseData::clear_has_input_type() { + _impl_._oneof_case_[0] = INPUT_TYPE_NOT_SET; +} +inline GetResponseRequest_GetResponseData::InputTypeCase GetResponseRequest_GetResponseData::input_type_case() const { + return GetResponseRequest_GetResponseData::InputTypeCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// GetResponseRequest + +// .service.GetResponseRequest.GetResponseConfig get_response_config = 1; +inline bool GetResponseRequest::_internal_has_get_response_config() const { + return request_type_case() == kGetResponseConfig; +} +inline bool GetResponseRequest::has_get_response_config() const { + return _internal_has_get_response_config(); +} +inline void GetResponseRequest::set_has_get_response_config() { + _impl_._oneof_case_[0] = kGetResponseConfig; +} +inline void GetResponseRequest::clear_get_response_config() { + if (_internal_has_get_response_config()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.request_type_.get_response_config_; + } + clear_has_request_type(); + } +} +inline ::service::GetResponseRequest_GetResponseConfig* GetResponseRequest::release_get_response_config() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.get_response_config) + if (_internal_has_get_response_config()) { + clear_has_request_type(); + ::service::GetResponseRequest_GetResponseConfig* temp = _impl_.request_type_.get_response_config_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + _impl_.request_type_.get_response_config_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::GetResponseRequest_GetResponseConfig& GetResponseRequest::_internal_get_response_config() const { + return _internal_has_get_response_config() + ? *_impl_.request_type_.get_response_config_ + : reinterpret_cast< ::service::GetResponseRequest_GetResponseConfig&>(::service::_GetResponseRequest_GetResponseConfig_default_instance_); +} +inline const ::service::GetResponseRequest_GetResponseConfig& GetResponseRequest::get_response_config() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.get_response_config) + return _internal_get_response_config(); +} +inline ::service::GetResponseRequest_GetResponseConfig* GetResponseRequest::unsafe_arena_release_get_response_config() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseRequest.get_response_config) + if (_internal_has_get_response_config()) { + clear_has_request_type(); + ::service::GetResponseRequest_GetResponseConfig* temp = _impl_.request_type_.get_response_config_; + _impl_.request_type_.get_response_config_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseRequest::unsafe_arena_set_allocated_get_response_config(::service::GetResponseRequest_GetResponseConfig* get_response_config) { + clear_request_type(); + if (get_response_config) { + set_has_get_response_config(); + _impl_.request_type_.get_response_config_ = get_response_config; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequest.get_response_config) +} +inline ::service::GetResponseRequest_GetResponseConfig* GetResponseRequest::_internal_mutable_get_response_config() { + if (!_internal_has_get_response_config()) { + clear_request_type(); + set_has_get_response_config(); + _impl_.request_type_.get_response_config_ = CreateMaybeMessage< ::service::GetResponseRequest_GetResponseConfig >(GetArenaForAllocation()); + } + return _impl_.request_type_.get_response_config_; +} +inline ::service::GetResponseRequest_GetResponseConfig* GetResponseRequest::mutable_get_response_config() { + ::service::GetResponseRequest_GetResponseConfig* _msg = _internal_mutable_get_response_config(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.get_response_config) + return _msg; +} + +// .service.GetResponseRequest.GetResponseData get_response_data = 2; +inline bool GetResponseRequest::_internal_has_get_response_data() const { + return request_type_case() == kGetResponseData; +} +inline bool GetResponseRequest::has_get_response_data() const { + return _internal_has_get_response_data(); +} +inline void GetResponseRequest::set_has_get_response_data() { + _impl_._oneof_case_[0] = kGetResponseData; +} +inline void GetResponseRequest::clear_get_response_data() { + if (_internal_has_get_response_data()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.request_type_.get_response_data_; + } + clear_has_request_type(); + } +} +inline ::service::GetResponseRequest_GetResponseData* GetResponseRequest::release_get_response_data() { + // @@protoc_insertion_point(field_release:service.GetResponseRequest.get_response_data) + if (_internal_has_get_response_data()) { + clear_has_request_type(); + ::service::GetResponseRequest_GetResponseData* temp = _impl_.request_type_.get_response_data_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + _impl_.request_type_.get_response_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::GetResponseRequest_GetResponseData& GetResponseRequest::_internal_get_response_data() const { + return _internal_has_get_response_data() + ? *_impl_.request_type_.get_response_data_ + : reinterpret_cast< ::service::GetResponseRequest_GetResponseData&>(::service::_GetResponseRequest_GetResponseData_default_instance_); +} +inline const ::service::GetResponseRequest_GetResponseData& GetResponseRequest::get_response_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequest.get_response_data) + return _internal_get_response_data(); +} +inline ::service::GetResponseRequest_GetResponseData* GetResponseRequest::unsafe_arena_release_get_response_data() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseRequest.get_response_data) + if (_internal_has_get_response_data()) { + clear_has_request_type(); + ::service::GetResponseRequest_GetResponseData* temp = _impl_.request_type_.get_response_data_; + _impl_.request_type_.get_response_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseRequest::unsafe_arena_set_allocated_get_response_data(::service::GetResponseRequest_GetResponseData* get_response_data) { + clear_request_type(); + if (get_response_data) { + set_has_get_response_data(); + _impl_.request_type_.get_response_data_ = get_response_data; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequest.get_response_data) +} +inline ::service::GetResponseRequest_GetResponseData* GetResponseRequest::_internal_mutable_get_response_data() { + if (!_internal_has_get_response_data()) { + clear_request_type(); + set_has_get_response_data(); + _impl_.request_type_.get_response_data_ = CreateMaybeMessage< ::service::GetResponseRequest_GetResponseData >(GetArenaForAllocation()); + } + return _impl_.request_type_.get_response_data_; +} +inline ::service::GetResponseRequest_GetResponseData* GetResponseRequest::mutable_get_response_data() { + ::service::GetResponseRequest_GetResponseData* _msg = _internal_mutable_get_response_data(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequest.get_response_data) + return _msg; +} + +inline bool GetResponseRequest::has_request_type() const { + return request_type_case() != REQUEST_TYPE_NOT_SET; +} +inline void GetResponseRequest::clear_has_request_type() { + _impl_._oneof_case_[0] = REQUEST_TYPE_NOT_SET; +} +inline GetResponseRequest::RequestTypeCase GetResponseRequest::request_type_case() const { + return GetResponseRequest::RequestTypeCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// GetResponseRequestSingle + +// .service.GetResponseRequest response_config = 1; +inline bool GetResponseRequestSingle::_internal_has_response_config() const { + return this != internal_default_instance() && _impl_.response_config_ != nullptr; +} +inline bool GetResponseRequestSingle::has_response_config() const { + return _internal_has_response_config(); +} +inline void GetResponseRequestSingle::clear_response_config() { + if (GetArenaForAllocation() == nullptr && _impl_.response_config_ != nullptr) { + delete _impl_.response_config_; + } + _impl_.response_config_ = nullptr; +} +inline const ::service::GetResponseRequest& GetResponseRequestSingle::_internal_response_config() const { + const ::service::GetResponseRequest* p = _impl_.response_config_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_GetResponseRequest_default_instance_); +} +inline const ::service::GetResponseRequest& GetResponseRequestSingle::response_config() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequestSingle.response_config) + return _internal_response_config(); +} +inline void GetResponseRequestSingle::unsafe_arena_set_allocated_response_config( + ::service::GetResponseRequest* response_config) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.response_config_); + } + _impl_.response_config_ = response_config; + if (response_config) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequestSingle.response_config) +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::release_response_config() { + + ::service::GetResponseRequest* temp = _impl_.response_config_; + _impl_.response_config_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::unsafe_arena_release_response_config() { + // @@protoc_insertion_point(field_release:service.GetResponseRequestSingle.response_config) + + ::service::GetResponseRequest* temp = _impl_.response_config_; + _impl_.response_config_ = nullptr; + return temp; +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::_internal_mutable_response_config() { + + if (_impl_.response_config_ == nullptr) { + auto* p = CreateMaybeMessage<::service::GetResponseRequest>(GetArenaForAllocation()); + _impl_.response_config_ = p; + } + return _impl_.response_config_; +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::mutable_response_config() { + ::service::GetResponseRequest* _msg = _internal_mutable_response_config(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequestSingle.response_config) + return _msg; +} +inline void GetResponseRequestSingle::set_allocated_response_config(::service::GetResponseRequest* response_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.response_config_; + } + if (response_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(response_config); + if (message_arena != submessage_arena) { + response_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, response_config, submessage_arena); + } + + } else { + + } + _impl_.response_config_ = response_config; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequestSingle.response_config) +} + +// .service.GetResponseRequest response_data = 2; +inline bool GetResponseRequestSingle::_internal_has_response_data() const { + return this != internal_default_instance() && _impl_.response_data_ != nullptr; +} +inline bool GetResponseRequestSingle::has_response_data() const { + return _internal_has_response_data(); +} +inline void GetResponseRequestSingle::clear_response_data() { + if (GetArenaForAllocation() == nullptr && _impl_.response_data_ != nullptr) { + delete _impl_.response_data_; + } + _impl_.response_data_ = nullptr; +} +inline const ::service::GetResponseRequest& GetResponseRequestSingle::_internal_response_data() const { + const ::service::GetResponseRequest* p = _impl_.response_data_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_GetResponseRequest_default_instance_); +} +inline const ::service::GetResponseRequest& GetResponseRequestSingle::response_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseRequestSingle.response_data) + return _internal_response_data(); +} +inline void GetResponseRequestSingle::unsafe_arena_set_allocated_response_data( + ::service::GetResponseRequest* response_data) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.response_data_); + } + _impl_.response_data_ = response_data; + if (response_data) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseRequestSingle.response_data) +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::release_response_data() { + + ::service::GetResponseRequest* temp = _impl_.response_data_; + _impl_.response_data_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::unsafe_arena_release_response_data() { + // @@protoc_insertion_point(field_release:service.GetResponseRequestSingle.response_data) + + ::service::GetResponseRequest* temp = _impl_.response_data_; + _impl_.response_data_ = nullptr; + return temp; +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::_internal_mutable_response_data() { + + if (_impl_.response_data_ == nullptr) { + auto* p = CreateMaybeMessage<::service::GetResponseRequest>(GetArenaForAllocation()); + _impl_.response_data_ = p; + } + return _impl_.response_data_; +} +inline ::service::GetResponseRequest* GetResponseRequestSingle::mutable_response_data() { + ::service::GetResponseRequest* _msg = _internal_mutable_response_data(); + // @@protoc_insertion_point(field_mutable:service.GetResponseRequestSingle.response_data) + return _msg; +} +inline void GetResponseRequestSingle::set_allocated_response_data(::service::GetResponseRequest* response_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.response_data_; + } + if (response_data) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(response_data); + if (message_arena != submessage_arena) { + response_data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, response_data, submessage_arena); + } + + } else { + + } + _impl_.response_data_ = response_data; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseRequestSingle.response_data) +} + +// ------------------------------------------------------------------- + +// GetResponseResponse_AudioResponse + +// bytes audio_data = 1; +inline void GetResponseResponse_AudioResponse::clear_audio_data() { + _impl_.audio_data_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_AudioResponse::audio_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.audio_data) + return _internal_audio_data(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseResponse_AudioResponse::set_audio_data(ArgT0&& arg0, ArgT... args) { + + _impl_.audio_data_.SetBytes(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.AudioResponse.audio_data) +} +inline std::string* GetResponseResponse_AudioResponse::mutable_audio_data() { + std::string* _s = _internal_mutable_audio_data(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.audio_data) + return _s; +} +inline const std::string& GetResponseResponse_AudioResponse::_internal_audio_data() const { + return _impl_.audio_data_.Get(); +} +inline void GetResponseResponse_AudioResponse::_internal_set_audio_data(const std::string& value) { + + _impl_.audio_data_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_AudioResponse::_internal_mutable_audio_data() { + + return _impl_.audio_data_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_AudioResponse::release_audio_data() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.audio_data) + return _impl_.audio_data_.Release(); +} +inline void GetResponseResponse_AudioResponse::set_allocated_audio_data(std::string* audio_data) { + if (audio_data != nullptr) { + + } else { + + } + _impl_.audio_data_.SetAllocated(audio_data, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.audio_data_.IsDefault()) { + _impl_.audio_data_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.audio_data) +} + +// .service.AudioConfig audio_config = 2; +inline bool GetResponseResponse_AudioResponse::_internal_has_audio_config() const { + return this != internal_default_instance() && _impl_.audio_config_ != nullptr; +} +inline bool GetResponseResponse_AudioResponse::has_audio_config() const { + return _internal_has_audio_config(); +} +inline void GetResponseResponse_AudioResponse::clear_audio_config() { + if (GetArenaForAllocation() == nullptr && _impl_.audio_config_ != nullptr) { + delete _impl_.audio_config_; + } + _impl_.audio_config_ = nullptr; +} +inline const ::service::AudioConfig& GetResponseResponse_AudioResponse::_internal_audio_config() const { + const ::service::AudioConfig* p = _impl_.audio_config_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_AudioConfig_default_instance_); +} +inline const ::service::AudioConfig& GetResponseResponse_AudioResponse::audio_config() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.audio_config) + return _internal_audio_config(); +} +inline void GetResponseResponse_AudioResponse::unsafe_arena_set_allocated_audio_config( + ::service::AudioConfig* audio_config) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.audio_config_); + } + _impl_.audio_config_ = audio_config; + if (audio_config) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.AudioResponse.audio_config) +} +inline ::service::AudioConfig* GetResponseResponse_AudioResponse::release_audio_config() { + + ::service::AudioConfig* temp = _impl_.audio_config_; + _impl_.audio_config_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service::AudioConfig* GetResponseResponse_AudioResponse::unsafe_arena_release_audio_config() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.audio_config) + + ::service::AudioConfig* temp = _impl_.audio_config_; + _impl_.audio_config_ = nullptr; + return temp; +} +inline ::service::AudioConfig* GetResponseResponse_AudioResponse::_internal_mutable_audio_config() { + + if (_impl_.audio_config_ == nullptr) { + auto* p = CreateMaybeMessage<::service::AudioConfig>(GetArenaForAllocation()); + _impl_.audio_config_ = p; + } + return _impl_.audio_config_; +} +inline ::service::AudioConfig* GetResponseResponse_AudioResponse::mutable_audio_config() { + ::service::AudioConfig* _msg = _internal_mutable_audio_config(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.audio_config) + return _msg; +} +inline void GetResponseResponse_AudioResponse::set_allocated_audio_config(::service::AudioConfig* audio_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.audio_config_; + } + if (audio_config) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(audio_config); + if (message_arena != submessage_arena) { + audio_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, audio_config, submessage_arena); + } + + } else { + + } + _impl_.audio_config_ = audio_config; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.audio_config) +} + +// string text_data = 3; +inline void GetResponseResponse_AudioResponse::clear_text_data() { + _impl_.text_data_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_AudioResponse::text_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.text_data) + return _internal_text_data(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseResponse_AudioResponse::set_text_data(ArgT0&& arg0, ArgT... args) { + + _impl_.text_data_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.AudioResponse.text_data) +} +inline std::string* GetResponseResponse_AudioResponse::mutable_text_data() { + std::string* _s = _internal_mutable_text_data(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.text_data) + return _s; +} +inline const std::string& GetResponseResponse_AudioResponse::_internal_text_data() const { + return _impl_.text_data_.Get(); +} +inline void GetResponseResponse_AudioResponse::_internal_set_text_data(const std::string& value) { + + _impl_.text_data_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_AudioResponse::_internal_mutable_text_data() { + + return _impl_.text_data_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_AudioResponse::release_text_data() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.text_data) + return _impl_.text_data_.Release(); +} +inline void GetResponseResponse_AudioResponse::set_allocated_text_data(std::string* text_data) { + if (text_data != nullptr) { + + } else { + + } + _impl_.text_data_.SetAllocated(text_data, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.text_data_.IsDefault()) { + _impl_.text_data_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.text_data) +} + +// bool end_of_response = 4; +inline void GetResponseResponse_AudioResponse::clear_end_of_response() { + _impl_.end_of_response_ = false; +} +inline bool GetResponseResponse_AudioResponse::_internal_end_of_response() const { + return _impl_.end_of_response_; +} +inline bool GetResponseResponse_AudioResponse::end_of_response() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.end_of_response) + return _internal_end_of_response(); +} +inline void GetResponseResponse_AudioResponse::_internal_set_end_of_response(bool value) { + + _impl_.end_of_response_ = value; +} +inline void GetResponseResponse_AudioResponse::set_end_of_response(bool value) { + _internal_set_end_of_response(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.AudioResponse.end_of_response) +} + +// string face_data = 5; +inline void GetResponseResponse_AudioResponse::clear_face_data() { + _impl_.face_data_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_AudioResponse::face_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.face_data) + return _internal_face_data(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseResponse_AudioResponse::set_face_data(ArgT0&& arg0, ArgT... args) { + + _impl_.face_data_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.AudioResponse.face_data) +} +inline std::string* GetResponseResponse_AudioResponse::mutable_face_data() { + std::string* _s = _internal_mutable_face_data(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.face_data) + return _s; +} +inline const std::string& GetResponseResponse_AudioResponse::_internal_face_data() const { + return _impl_.face_data_.Get(); +} +inline void GetResponseResponse_AudioResponse::_internal_set_face_data(const std::string& value) { + + _impl_.face_data_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_AudioResponse::_internal_mutable_face_data() { + + return _impl_.face_data_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_AudioResponse::release_face_data() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.face_data) + return _impl_.face_data_.Release(); +} +inline void GetResponseResponse_AudioResponse::set_allocated_face_data(std::string* face_data) { + if (face_data != nullptr) { + + } else { + + } + _impl_.face_data_.SetAllocated(face_data, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.face_data_.IsDefault()) { + _impl_.face_data_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.face_data) +} + +// .service.VisemesData visemes_data = 6; +inline bool GetResponseResponse_AudioResponse::_internal_has_visemes_data() const { + return face_data_type_case() == kVisemesData; +} +inline bool GetResponseResponse_AudioResponse::has_visemes_data() const { + return _internal_has_visemes_data(); +} +inline void GetResponseResponse_AudioResponse::set_has_visemes_data() { + _impl_._oneof_case_[0] = kVisemesData; +} +inline void GetResponseResponse_AudioResponse::clear_visemes_data() { + if (_internal_has_visemes_data()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.face_data_type_.visemes_data_; + } + clear_has_face_data_type(); + } +} +inline ::service::VisemesData* GetResponseResponse_AudioResponse::release_visemes_data() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.visemes_data) + if (_internal_has_visemes_data()) { + clear_has_face_data_type(); + ::service::VisemesData* temp = _impl_.face_data_type_.visemes_data_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + _impl_.face_data_type_.visemes_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::VisemesData& GetResponseResponse_AudioResponse::_internal_visemes_data() const { + return _internal_has_visemes_data() + ? *_impl_.face_data_type_.visemes_data_ + : reinterpret_cast< ::service::VisemesData&>(::service::_VisemesData_default_instance_); +} +inline const ::service::VisemesData& GetResponseResponse_AudioResponse::visemes_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.visemes_data) + return _internal_visemes_data(); +} +inline ::service::VisemesData* GetResponseResponse_AudioResponse::unsafe_arena_release_visemes_data() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseResponse.AudioResponse.visemes_data) + if (_internal_has_visemes_data()) { + clear_has_face_data_type(); + ::service::VisemesData* temp = _impl_.face_data_type_.visemes_data_; + _impl_.face_data_type_.visemes_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseResponse_AudioResponse::unsafe_arena_set_allocated_visemes_data(::service::VisemesData* visemes_data) { + clear_face_data_type(); + if (visemes_data) { + set_has_visemes_data(); + _impl_.face_data_type_.visemes_data_ = visemes_data; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.AudioResponse.visemes_data) +} +inline ::service::VisemesData* GetResponseResponse_AudioResponse::_internal_mutable_visemes_data() { + if (!_internal_has_visemes_data()) { + clear_face_data_type(); + set_has_visemes_data(); + _impl_.face_data_type_.visemes_data_ = CreateMaybeMessage< ::service::VisemesData >(GetArenaForAllocation()); + } + return _impl_.face_data_type_.visemes_data_; +} +inline ::service::VisemesData* GetResponseResponse_AudioResponse::mutable_visemes_data() { + ::service::VisemesData* _msg = _internal_mutable_visemes_data(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.visemes_data) + return _msg; +} + +// .service.BlendShapesData blendshapes_data = 7; +inline bool GetResponseResponse_AudioResponse::_internal_has_blendshapes_data() const { + return face_data_type_case() == kBlendshapesData; +} +inline bool GetResponseResponse_AudioResponse::has_blendshapes_data() const { + return _internal_has_blendshapes_data(); +} +inline void GetResponseResponse_AudioResponse::set_has_blendshapes_data() { + _impl_._oneof_case_[0] = kBlendshapesData; +} +inline void GetResponseResponse_AudioResponse::clear_blendshapes_data() { + if (_internal_has_blendshapes_data()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.face_data_type_.blendshapes_data_; + } + clear_has_face_data_type(); + } +} +inline ::service::BlendShapesData* GetResponseResponse_AudioResponse::release_blendshapes_data() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.blendshapes_data) + if (_internal_has_blendshapes_data()) { + clear_has_face_data_type(); + ::service::BlendShapesData* temp = _impl_.face_data_type_.blendshapes_data_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + _impl_.face_data_type_.blendshapes_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::BlendShapesData& GetResponseResponse_AudioResponse::_internal_blendshapes_data() const { + return _internal_has_blendshapes_data() + ? *_impl_.face_data_type_.blendshapes_data_ + : reinterpret_cast< ::service::BlendShapesData&>(::service::_BlendShapesData_default_instance_); +} +inline const ::service::BlendShapesData& GetResponseResponse_AudioResponse::blendshapes_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.blendshapes_data) + return _internal_blendshapes_data(); +} +inline ::service::BlendShapesData* GetResponseResponse_AudioResponse::unsafe_arena_release_blendshapes_data() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseResponse.AudioResponse.blendshapes_data) + if (_internal_has_blendshapes_data()) { + clear_has_face_data_type(); + ::service::BlendShapesData* temp = _impl_.face_data_type_.blendshapes_data_; + _impl_.face_data_type_.blendshapes_data_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseResponse_AudioResponse::unsafe_arena_set_allocated_blendshapes_data(::service::BlendShapesData* blendshapes_data) { + clear_face_data_type(); + if (blendshapes_data) { + set_has_blendshapes_data(); + _impl_.face_data_type_.blendshapes_data_ = blendshapes_data; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.AudioResponse.blendshapes_data) +} +inline ::service::BlendShapesData* GetResponseResponse_AudioResponse::_internal_mutable_blendshapes_data() { + if (!_internal_has_blendshapes_data()) { + clear_face_data_type(); + set_has_blendshapes_data(); + _impl_.face_data_type_.blendshapes_data_ = CreateMaybeMessage< ::service::BlendShapesData >(GetArenaForAllocation()); + } + return _impl_.face_data_type_.blendshapes_data_; +} +inline ::service::BlendShapesData* GetResponseResponse_AudioResponse::mutable_blendshapes_data() { + ::service::BlendShapesData* _msg = _internal_mutable_blendshapes_data(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.blendshapes_data) + return _msg; +} + +// .service.ARKitBlendShapesData face_emotion = 8; +inline bool GetResponseResponse_AudioResponse::_internal_has_face_emotion() const { + return this != internal_default_instance() && _impl_.face_emotion_ != nullptr; +} +inline bool GetResponseResponse_AudioResponse::has_face_emotion() const { + return _internal_has_face_emotion(); +} +inline const ::service::ARKitBlendShapesData& GetResponseResponse_AudioResponse::_internal_face_emotion() const { + const ::service::ARKitBlendShapesData* p = _impl_.face_emotion_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_ARKitBlendShapesData_default_instance_); +} +inline const ::service::ARKitBlendShapesData& GetResponseResponse_AudioResponse::face_emotion() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.face_emotion) + return _internal_face_emotion(); +} +inline void GetResponseResponse_AudioResponse::unsafe_arena_set_allocated_face_emotion( + ::service::ARKitBlendShapesData* face_emotion) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.face_emotion_); + } + _impl_.face_emotion_ = face_emotion; + if (face_emotion) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.AudioResponse.face_emotion) +} +inline ::service::ARKitBlendShapesData* GetResponseResponse_AudioResponse::release_face_emotion() { + + ::service::ARKitBlendShapesData* temp = _impl_.face_emotion_; + _impl_.face_emotion_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service::ARKitBlendShapesData* GetResponseResponse_AudioResponse::unsafe_arena_release_face_emotion() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.face_emotion) + + ::service::ARKitBlendShapesData* temp = _impl_.face_emotion_; + _impl_.face_emotion_ = nullptr; + return temp; +} +inline ::service::ARKitBlendShapesData* GetResponseResponse_AudioResponse::_internal_mutable_face_emotion() { + + if (_impl_.face_emotion_ == nullptr) { + auto* p = CreateMaybeMessage<::service::ARKitBlendShapesData>(GetArenaForAllocation()); + _impl_.face_emotion_ = p; + } + return _impl_.face_emotion_; +} +inline ::service::ARKitBlendShapesData* GetResponseResponse_AudioResponse::mutable_face_emotion() { + ::service::ARKitBlendShapesData* _msg = _internal_mutable_face_emotion(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.face_emotion) + return _msg; +} +inline void GetResponseResponse_AudioResponse::set_allocated_face_emotion(::service::ARKitBlendShapesData* face_emotion) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.face_emotion_); + } + if (face_emotion) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(face_emotion)); + if (message_arena != submessage_arena) { + face_emotion = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, face_emotion, submessage_arena); + } + + } else { + + } + _impl_.face_emotion_ = face_emotion; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.face_emotion) +} + +// .service.EmotionResponse emotion_response = 9; +inline bool GetResponseResponse_AudioResponse::_internal_has_emotion_response() const { + return this != internal_default_instance() && _impl_.emotion_response_ != nullptr; +} +inline bool GetResponseResponse_AudioResponse::has_emotion_response() const { + return _internal_has_emotion_response(); +} +inline void GetResponseResponse_AudioResponse::clear_emotion_response() { + if (GetArenaForAllocation() == nullptr && _impl_.emotion_response_ != nullptr) { + delete _impl_.emotion_response_; + } + _impl_.emotion_response_ = nullptr; +} +inline const ::service::EmotionResponse& GetResponseResponse_AudioResponse::_internal_emotion_response() const { + const ::service::EmotionResponse* p = _impl_.emotion_response_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_EmotionResponse_default_instance_); +} +inline const ::service::EmotionResponse& GetResponseResponse_AudioResponse::emotion_response() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.AudioResponse.emotion_response) + return _internal_emotion_response(); +} +inline void GetResponseResponse_AudioResponse::unsafe_arena_set_allocated_emotion_response( + ::service::EmotionResponse* emotion_response) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.emotion_response_); + } + _impl_.emotion_response_ = emotion_response; + if (emotion_response) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.AudioResponse.emotion_response) +} +inline ::service::EmotionResponse* GetResponseResponse_AudioResponse::release_emotion_response() { + + ::service::EmotionResponse* temp = _impl_.emotion_response_; + _impl_.emotion_response_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service::EmotionResponse* GetResponseResponse_AudioResponse::unsafe_arena_release_emotion_response() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.AudioResponse.emotion_response) + + ::service::EmotionResponse* temp = _impl_.emotion_response_; + _impl_.emotion_response_ = nullptr; + return temp; +} +inline ::service::EmotionResponse* GetResponseResponse_AudioResponse::_internal_mutable_emotion_response() { + + if (_impl_.emotion_response_ == nullptr) { + auto* p = CreateMaybeMessage<::service::EmotionResponse>(GetArenaForAllocation()); + _impl_.emotion_response_ = p; + } + return _impl_.emotion_response_; +} +inline ::service::EmotionResponse* GetResponseResponse_AudioResponse::mutable_emotion_response() { + ::service::EmotionResponse* _msg = _internal_mutable_emotion_response(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.AudioResponse.emotion_response) + return _msg; +} +inline void GetResponseResponse_AudioResponse::set_allocated_emotion_response(::service::EmotionResponse* emotion_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.emotion_response_; + } + if (emotion_response) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(emotion_response); + if (message_arena != submessage_arena) { + emotion_response = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, emotion_response, submessage_arena); + } + + } else { + + } + _impl_.emotion_response_ = emotion_response; + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.AudioResponse.emotion_response) +} + +inline bool GetResponseResponse_AudioResponse::has_face_data_type() const { + return face_data_type_case() != FACE_DATA_TYPE_NOT_SET; +} +inline void GetResponseResponse_AudioResponse::clear_has_face_data_type() { + _impl_._oneof_case_[0] = FACE_DATA_TYPE_NOT_SET; +} +inline GetResponseResponse_AudioResponse::FaceDataTypeCase GetResponseResponse_AudioResponse::face_data_type_case() const { + return GetResponseResponse_AudioResponse::FaceDataTypeCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// GetResponseResponse_ActionResponse + +// string action = 1; +inline void GetResponseResponse_ActionResponse::clear_action() { + _impl_.action_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_ActionResponse::action() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.ActionResponse.action) + return _internal_action(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseResponse_ActionResponse::set_action(ArgT0&& arg0, ArgT... args) { + + _impl_.action_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.ActionResponse.action) +} +inline std::string* GetResponseResponse_ActionResponse::mutable_action() { + std::string* _s = _internal_mutable_action(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.ActionResponse.action) + return _s; +} +inline const std::string& GetResponseResponse_ActionResponse::_internal_action() const { + return _impl_.action_.Get(); +} +inline void GetResponseResponse_ActionResponse::_internal_set_action(const std::string& value) { + + _impl_.action_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_ActionResponse::_internal_mutable_action() { + + return _impl_.action_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_ActionResponse::release_action() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.ActionResponse.action) + return _impl_.action_.Release(); +} +inline void GetResponseResponse_ActionResponse::set_allocated_action(std::string* action) { + if (action != nullptr) { + + } else { + + } + _impl_.action_.SetAllocated(action, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.action_.IsDefault()) { + _impl_.action_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.ActionResponse.action) +} + +// ------------------------------------------------------------------- + +// GetResponseResponse_BehaviorTreeResponse + +// string bt_code = 1; +inline void GetResponseResponse_BehaviorTreeResponse::clear_bt_code() { + _impl_.bt_code_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_BehaviorTreeResponse::bt_code() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.BehaviorTreeResponse.bt_code) + return _internal_bt_code(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseResponse_BehaviorTreeResponse::set_bt_code(ArgT0&& arg0, ArgT... args) { + + _impl_.bt_code_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.BehaviorTreeResponse.bt_code) +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::mutable_bt_code() { + std::string* _s = _internal_mutable_bt_code(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.BehaviorTreeResponse.bt_code) + return _s; +} +inline const std::string& GetResponseResponse_BehaviorTreeResponse::_internal_bt_code() const { + return _impl_.bt_code_.Get(); +} +inline void GetResponseResponse_BehaviorTreeResponse::_internal_set_bt_code(const std::string& value) { + + _impl_.bt_code_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::_internal_mutable_bt_code() { + + return _impl_.bt_code_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::release_bt_code() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.BehaviorTreeResponse.bt_code) + return _impl_.bt_code_.Release(); +} +inline void GetResponseResponse_BehaviorTreeResponse::set_allocated_bt_code(std::string* bt_code) { + if (bt_code != nullptr) { + + } else { + + } + _impl_.bt_code_.SetAllocated(bt_code, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.bt_code_.IsDefault()) { + _impl_.bt_code_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.BehaviorTreeResponse.bt_code) +} + +// string bt_constants = 2; +inline void GetResponseResponse_BehaviorTreeResponse::clear_bt_constants() { + _impl_.bt_constants_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_BehaviorTreeResponse::bt_constants() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.BehaviorTreeResponse.bt_constants) + return _internal_bt_constants(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseResponse_BehaviorTreeResponse::set_bt_constants(ArgT0&& arg0, ArgT... args) { + + _impl_.bt_constants_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.BehaviorTreeResponse.bt_constants) +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::mutable_bt_constants() { + std::string* _s = _internal_mutable_bt_constants(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.BehaviorTreeResponse.bt_constants) + return _s; +} +inline const std::string& GetResponseResponse_BehaviorTreeResponse::_internal_bt_constants() const { + return _impl_.bt_constants_.Get(); +} +inline void GetResponseResponse_BehaviorTreeResponse::_internal_set_bt_constants(const std::string& value) { + + _impl_.bt_constants_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::_internal_mutable_bt_constants() { + + return _impl_.bt_constants_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::release_bt_constants() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.BehaviorTreeResponse.bt_constants) + return _impl_.bt_constants_.Release(); +} +inline void GetResponseResponse_BehaviorTreeResponse::set_allocated_bt_constants(std::string* bt_constants) { + if (bt_constants != nullptr) { + + } else { + + } + _impl_.bt_constants_.SetAllocated(bt_constants, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.bt_constants_.IsDefault()) { + _impl_.bt_constants_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.BehaviorTreeResponse.bt_constants) +} + +// string narrative_section_id = 3; +inline void GetResponseResponse_BehaviorTreeResponse::clear_narrative_section_id() { + _impl_.narrative_section_id_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_BehaviorTreeResponse::narrative_section_id() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id) + return _internal_narrative_section_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseResponse_BehaviorTreeResponse::set_narrative_section_id(ArgT0&& arg0, ArgT... args) { + + _impl_.narrative_section_id_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id) +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::mutable_narrative_section_id() { + std::string* _s = _internal_mutable_narrative_section_id(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id) + return _s; +} +inline const std::string& GetResponseResponse_BehaviorTreeResponse::_internal_narrative_section_id() const { + return _impl_.narrative_section_id_.Get(); +} +inline void GetResponseResponse_BehaviorTreeResponse::_internal_set_narrative_section_id(const std::string& value) { + + _impl_.narrative_section_id_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::_internal_mutable_narrative_section_id() { + + return _impl_.narrative_section_id_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_BehaviorTreeResponse::release_narrative_section_id() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id) + return _impl_.narrative_section_id_.Release(); +} +inline void GetResponseResponse_BehaviorTreeResponse::set_allocated_narrative_section_id(std::string* narrative_section_id) { + if (narrative_section_id != nullptr) { + + } else { + + } + _impl_.narrative_section_id_.SetAllocated(narrative_section_id, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.narrative_section_id_.IsDefault()) { + _impl_.narrative_section_id_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.BehaviorTreeResponse.narrative_section_id) +} + +// ------------------------------------------------------------------- + +// GetResponseResponse_UserTranscript + +// string text_data = 1; +inline void GetResponseResponse_UserTranscript::clear_text_data() { + _impl_.text_data_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse_UserTranscript::text_data() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.UserTranscript.text_data) + return _internal_text_data(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseResponse_UserTranscript::set_text_data(ArgT0&& arg0, ArgT... args) { + + _impl_.text_data_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.UserTranscript.text_data) +} +inline std::string* GetResponseResponse_UserTranscript::mutable_text_data() { + std::string* _s = _internal_mutable_text_data(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.UserTranscript.text_data) + return _s; +} +inline const std::string& GetResponseResponse_UserTranscript::_internal_text_data() const { + return _impl_.text_data_.Get(); +} +inline void GetResponseResponse_UserTranscript::_internal_set_text_data(const std::string& value) { + + _impl_.text_data_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_UserTranscript::_internal_mutable_text_data() { + + return _impl_.text_data_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseResponse_UserTranscript::release_text_data() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.UserTranscript.text_data) + return _impl_.text_data_.Release(); +} +inline void GetResponseResponse_UserTranscript::set_allocated_text_data(std::string* text_data) { + if (text_data != nullptr) { + + } else { + + } + _impl_.text_data_.SetAllocated(text_data, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.text_data_.IsDefault()) { + _impl_.text_data_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.UserTranscript.text_data) +} + +// bool is_final = 2; +inline void GetResponseResponse_UserTranscript::clear_is_final() { + _impl_.is_final_ = false; +} +inline bool GetResponseResponse_UserTranscript::_internal_is_final() const { + return _impl_.is_final_; +} +inline bool GetResponseResponse_UserTranscript::is_final() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.UserTranscript.is_final) + return _internal_is_final(); +} +inline void GetResponseResponse_UserTranscript::_internal_set_is_final(bool value) { + + _impl_.is_final_ = value; +} +inline void GetResponseResponse_UserTranscript::set_is_final(bool value) { + _internal_set_is_final(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.UserTranscript.is_final) +} + +// bool end_of_response = 3; +inline void GetResponseResponse_UserTranscript::clear_end_of_response() { + _impl_.end_of_response_ = false; +} +inline bool GetResponseResponse_UserTranscript::_internal_end_of_response() const { + return _impl_.end_of_response_; +} +inline bool GetResponseResponse_UserTranscript::end_of_response() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.UserTranscript.end_of_response) + return _internal_end_of_response(); +} +inline void GetResponseResponse_UserTranscript::_internal_set_end_of_response(bool value) { + + _impl_.end_of_response_ = value; +} +inline void GetResponseResponse_UserTranscript::set_end_of_response(bool value) { + _internal_set_end_of_response(value); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.UserTranscript.end_of_response) +} + +// ------------------------------------------------------------------- + +// GetResponseResponse + +// string session_id = 1; +inline void GetResponseResponse::clear_session_id() { + _impl_.session_id_.ClearToEmpty(); +} +inline const std::string& GetResponseResponse::session_id() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.session_id) + return _internal_session_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void GetResponseResponse::set_session_id(ArgT0&& arg0, ArgT... args) { + + _impl_.session_id_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.session_id) +} +inline std::string* GetResponseResponse::mutable_session_id() { + std::string* _s = _internal_mutable_session_id(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.session_id) + return _s; +} +inline const std::string& GetResponseResponse::_internal_session_id() const { + return _impl_.session_id_.Get(); +} +inline void GetResponseResponse::_internal_set_session_id(const std::string& value) { + + _impl_.session_id_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseResponse::_internal_mutable_session_id() { + + return _impl_.session_id_.Mutable(GetArenaForAllocation()); +} +inline std::string* GetResponseResponse::release_session_id() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.session_id) + return _impl_.session_id_.Release(); +} +inline void GetResponseResponse::set_allocated_session_id(std::string* session_id) { + if (session_id != nullptr) { + + } else { + + } + _impl_.session_id_.SetAllocated(session_id, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.session_id_.IsDefault()) { + _impl_.session_id_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.session_id) +} + +// .service.GetResponseResponse.ActionResponse action_response = 2; +inline bool GetResponseResponse::_internal_has_action_response() const { + return response_type_case() == kActionResponse; +} +inline bool GetResponseResponse::has_action_response() const { + return _internal_has_action_response(); +} +inline void GetResponseResponse::set_has_action_response() { + _impl_._oneof_case_[0] = kActionResponse; +} +inline void GetResponseResponse::clear_action_response() { + if (_internal_has_action_response()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.response_type_.action_response_; + } + clear_has_response_type(); + } +} +inline ::service::GetResponseResponse_ActionResponse* GetResponseResponse::release_action_response() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.action_response) + if (_internal_has_action_response()) { + clear_has_response_type(); + ::service::GetResponseResponse_ActionResponse* temp = _impl_.response_type_.action_response_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + _impl_.response_type_.action_response_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::GetResponseResponse_ActionResponse& GetResponseResponse::_internal_action_response() const { + return _internal_has_action_response() + ? *_impl_.response_type_.action_response_ + : reinterpret_cast< ::service::GetResponseResponse_ActionResponse&>(::service::_GetResponseResponse_ActionResponse_default_instance_); +} +inline const ::service::GetResponseResponse_ActionResponse& GetResponseResponse::action_response() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.action_response) + return _internal_action_response(); +} +inline ::service::GetResponseResponse_ActionResponse* GetResponseResponse::unsafe_arena_release_action_response() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseResponse.action_response) + if (_internal_has_action_response()) { + clear_has_response_type(); + ::service::GetResponseResponse_ActionResponse* temp = _impl_.response_type_.action_response_; + _impl_.response_type_.action_response_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseResponse::unsafe_arena_set_allocated_action_response(::service::GetResponseResponse_ActionResponse* action_response) { + clear_response_type(); + if (action_response) { + set_has_action_response(); + _impl_.response_type_.action_response_ = action_response; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.action_response) +} +inline ::service::GetResponseResponse_ActionResponse* GetResponseResponse::_internal_mutable_action_response() { + if (!_internal_has_action_response()) { + clear_response_type(); + set_has_action_response(); + _impl_.response_type_.action_response_ = CreateMaybeMessage< ::service::GetResponseResponse_ActionResponse >(GetArenaForAllocation()); + } + return _impl_.response_type_.action_response_; +} +inline ::service::GetResponseResponse_ActionResponse* GetResponseResponse::mutable_action_response() { + ::service::GetResponseResponse_ActionResponse* _msg = _internal_mutable_action_response(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.action_response) + return _msg; +} + +// .service.GetResponseResponse.AudioResponse audio_response = 3; +inline bool GetResponseResponse::_internal_has_audio_response() const { + return response_type_case() == kAudioResponse; +} +inline bool GetResponseResponse::has_audio_response() const { + return _internal_has_audio_response(); +} +inline void GetResponseResponse::set_has_audio_response() { + _impl_._oneof_case_[0] = kAudioResponse; +} +inline void GetResponseResponse::clear_audio_response() { + if (_internal_has_audio_response()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.response_type_.audio_response_; + } + clear_has_response_type(); + } +} +inline ::service::GetResponseResponse_AudioResponse* GetResponseResponse::release_audio_response() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.audio_response) + if (_internal_has_audio_response()) { + clear_has_response_type(); + ::service::GetResponseResponse_AudioResponse* temp = _impl_.response_type_.audio_response_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + _impl_.response_type_.audio_response_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::GetResponseResponse_AudioResponse& GetResponseResponse::_internal_audio_response() const { + return _internal_has_audio_response() + ? *_impl_.response_type_.audio_response_ + : reinterpret_cast< ::service::GetResponseResponse_AudioResponse&>(::service::_GetResponseResponse_AudioResponse_default_instance_); +} +inline const ::service::GetResponseResponse_AudioResponse& GetResponseResponse::audio_response() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.audio_response) + return _internal_audio_response(); +} +inline ::service::GetResponseResponse_AudioResponse* GetResponseResponse::unsafe_arena_release_audio_response() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseResponse.audio_response) + if (_internal_has_audio_response()) { + clear_has_response_type(); + ::service::GetResponseResponse_AudioResponse* temp = _impl_.response_type_.audio_response_; + _impl_.response_type_.audio_response_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseResponse::unsafe_arena_set_allocated_audio_response(::service::GetResponseResponse_AudioResponse* audio_response) { + clear_response_type(); + if (audio_response) { + set_has_audio_response(); + _impl_.response_type_.audio_response_ = audio_response; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.audio_response) +} +inline ::service::GetResponseResponse_AudioResponse* GetResponseResponse::_internal_mutable_audio_response() { + if (!_internal_has_audio_response()) { + clear_response_type(); + set_has_audio_response(); + _impl_.response_type_.audio_response_ = CreateMaybeMessage< ::service::GetResponseResponse_AudioResponse >(GetArenaForAllocation()); + } + return _impl_.response_type_.audio_response_; +} +inline ::service::GetResponseResponse_AudioResponse* GetResponseResponse::mutable_audio_response() { + ::service::GetResponseResponse_AudioResponse* _msg = _internal_mutable_audio_response(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.audio_response) + return _msg; +} + +// string debug_log = 4; +inline bool GetResponseResponse::_internal_has_debug_log() const { + return response_type_case() == kDebugLog; +} +inline bool GetResponseResponse::has_debug_log() const { + return _internal_has_debug_log(); +} +inline void GetResponseResponse::set_has_debug_log() { + _impl_._oneof_case_[0] = kDebugLog; +} +inline void GetResponseResponse::clear_debug_log() { + if (_internal_has_debug_log()) { + _impl_.response_type_.debug_log_.Destroy(); + clear_has_response_type(); + } +} +inline const std::string& GetResponseResponse::debug_log() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.debug_log) + return _internal_debug_log(); +} +template +inline void GetResponseResponse::set_debug_log(ArgT0&& arg0, ArgT... args) { + if (!_internal_has_debug_log()) { + clear_response_type(); + set_has_debug_log(); + _impl_.response_type_.debug_log_.InitDefault(); + } + _impl_.response_type_.debug_log_.Set( static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.debug_log) +} +inline std::string* GetResponseResponse::mutable_debug_log() { + std::string* _s = _internal_mutable_debug_log(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.debug_log) + return _s; +} +inline const std::string& GetResponseResponse::_internal_debug_log() const { + if (_internal_has_debug_log()) { + return _impl_.response_type_.debug_log_.Get(); + } + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); +} +inline void GetResponseResponse::_internal_set_debug_log(const std::string& value) { + if (!_internal_has_debug_log()) { + clear_response_type(); + set_has_debug_log(); + _impl_.response_type_.debug_log_.InitDefault(); + } + _impl_.response_type_.debug_log_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseResponse::_internal_mutable_debug_log() { + if (!_internal_has_debug_log()) { + clear_response_type(); + set_has_debug_log(); + _impl_.response_type_.debug_log_.InitDefault(); + } + return _impl_.response_type_.debug_log_.Mutable( GetArenaForAllocation()); +} +inline std::string* GetResponseResponse::release_debug_log() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.debug_log) + if (_internal_has_debug_log()) { + clear_has_response_type(); + return _impl_.response_type_.debug_log_.Release(); + } else { + return nullptr; + } +} +inline void GetResponseResponse::set_allocated_debug_log(std::string* debug_log) { + if (has_response_type()) { + clear_response_type(); + } + if (debug_log != nullptr) { + set_has_debug_log(); + _impl_.response_type_.debug_log_.InitAllocated(debug_log, GetArenaForAllocation()); + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.debug_log) +} + +// .service.GetResponseResponse.UserTranscript user_query = 5; +inline bool GetResponseResponse::_internal_has_user_query() const { + return response_type_case() == kUserQuery; +} +inline bool GetResponseResponse::has_user_query() const { + return _internal_has_user_query(); +} +inline void GetResponseResponse::set_has_user_query() { + _impl_._oneof_case_[0] = kUserQuery; +} +inline void GetResponseResponse::clear_user_query() { + if (_internal_has_user_query()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.response_type_.user_query_; + } + clear_has_response_type(); + } +} +inline ::service::GetResponseResponse_UserTranscript* GetResponseResponse::release_user_query() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.user_query) + if (_internal_has_user_query()) { + clear_has_response_type(); + ::service::GetResponseResponse_UserTranscript* temp = _impl_.response_type_.user_query_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + _impl_.response_type_.user_query_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::GetResponseResponse_UserTranscript& GetResponseResponse::_internal_user_query() const { + return _internal_has_user_query() + ? *_impl_.response_type_.user_query_ + : reinterpret_cast< ::service::GetResponseResponse_UserTranscript&>(::service::_GetResponseResponse_UserTranscript_default_instance_); +} +inline const ::service::GetResponseResponse_UserTranscript& GetResponseResponse::user_query() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.user_query) + return _internal_user_query(); +} +inline ::service::GetResponseResponse_UserTranscript* GetResponseResponse::unsafe_arena_release_user_query() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseResponse.user_query) + if (_internal_has_user_query()) { + clear_has_response_type(); + ::service::GetResponseResponse_UserTranscript* temp = _impl_.response_type_.user_query_; + _impl_.response_type_.user_query_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseResponse::unsafe_arena_set_allocated_user_query(::service::GetResponseResponse_UserTranscript* user_query) { + clear_response_type(); + if (user_query) { + set_has_user_query(); + _impl_.response_type_.user_query_ = user_query; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.user_query) +} +inline ::service::GetResponseResponse_UserTranscript* GetResponseResponse::_internal_mutable_user_query() { + if (!_internal_has_user_query()) { + clear_response_type(); + set_has_user_query(); + _impl_.response_type_.user_query_ = CreateMaybeMessage< ::service::GetResponseResponse_UserTranscript >(GetArenaForAllocation()); + } + return _impl_.response_type_.user_query_; +} +inline ::service::GetResponseResponse_UserTranscript* GetResponseResponse::mutable_user_query() { + ::service::GetResponseResponse_UserTranscript* _msg = _internal_mutable_user_query(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.user_query) + return _msg; +} + +// .service.GetResponseResponse.BehaviorTreeResponse bt_response = 6; +inline bool GetResponseResponse::_internal_has_bt_response() const { + return response_type_case() == kBtResponse; +} +inline bool GetResponseResponse::has_bt_response() const { + return _internal_has_bt_response(); +} +inline void GetResponseResponse::set_has_bt_response() { + _impl_._oneof_case_[0] = kBtResponse; +} +inline void GetResponseResponse::clear_bt_response() { + if (_internal_has_bt_response()) { + if (GetArenaForAllocation() == nullptr) { + delete _impl_.response_type_.bt_response_; + } + clear_has_response_type(); + } +} +inline ::service::GetResponseResponse_BehaviorTreeResponse* GetResponseResponse::release_bt_response() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.bt_response) + if (_internal_has_bt_response()) { + clear_has_response_type(); + ::service::GetResponseResponse_BehaviorTreeResponse* temp = _impl_.response_type_.bt_response_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + _impl_.response_type_.bt_response_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::service::GetResponseResponse_BehaviorTreeResponse& GetResponseResponse::_internal_bt_response() const { + return _internal_has_bt_response() + ? *_impl_.response_type_.bt_response_ + : reinterpret_cast< ::service::GetResponseResponse_BehaviorTreeResponse&>(::service::_GetResponseResponse_BehaviorTreeResponse_default_instance_); +} +inline const ::service::GetResponseResponse_BehaviorTreeResponse& GetResponseResponse::bt_response() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.bt_response) + return _internal_bt_response(); +} +inline ::service::GetResponseResponse_BehaviorTreeResponse* GetResponseResponse::unsafe_arena_release_bt_response() { + // @@protoc_insertion_point(field_unsafe_arena_release:service.GetResponseResponse.bt_response) + if (_internal_has_bt_response()) { + clear_has_response_type(); + ::service::GetResponseResponse_BehaviorTreeResponse* temp = _impl_.response_type_.bt_response_; + _impl_.response_type_.bt_response_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GetResponseResponse::unsafe_arena_set_allocated_bt_response(::service::GetResponseResponse_BehaviorTreeResponse* bt_response) { + clear_response_type(); + if (bt_response) { + set_has_bt_response(); + _impl_.response_type_.bt_response_ = bt_response; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.GetResponseResponse.bt_response) +} +inline ::service::GetResponseResponse_BehaviorTreeResponse* GetResponseResponse::_internal_mutable_bt_response() { + if (!_internal_has_bt_response()) { + clear_response_type(); + set_has_bt_response(); + _impl_.response_type_.bt_response_ = CreateMaybeMessage< ::service::GetResponseResponse_BehaviorTreeResponse >(GetArenaForAllocation()); + } + return _impl_.response_type_.bt_response_; +} +inline ::service::GetResponseResponse_BehaviorTreeResponse* GetResponseResponse::mutable_bt_response() { + ::service::GetResponseResponse_BehaviorTreeResponse* _msg = _internal_mutable_bt_response(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.bt_response) + return _msg; +} + +// string emotion_response = 7; +inline bool GetResponseResponse::_internal_has_emotion_response() const { + return response_type_case() == kEmotionResponse; +} +inline bool GetResponseResponse::has_emotion_response() const { + return _internal_has_emotion_response(); +} +inline void GetResponseResponse::set_has_emotion_response() { + _impl_._oneof_case_[0] = kEmotionResponse; +} +inline void GetResponseResponse::clear_emotion_response() { + if (_internal_has_emotion_response()) { + _impl_.response_type_.emotion_response_.Destroy(); + clear_has_response_type(); + } +} +inline const std::string& GetResponseResponse::emotion_response() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.emotion_response) + return _internal_emotion_response(); +} +template +inline void GetResponseResponse::set_emotion_response(ArgT0&& arg0, ArgT... args) { + if (!_internal_has_emotion_response()) { + clear_response_type(); + set_has_emotion_response(); + _impl_.response_type_.emotion_response_.InitDefault(); + } + _impl_.response_type_.emotion_response_.Set( static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.emotion_response) +} +inline std::string* GetResponseResponse::mutable_emotion_response() { + std::string* _s = _internal_mutable_emotion_response(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.emotion_response) + return _s; +} +inline const std::string& GetResponseResponse::_internal_emotion_response() const { + if (_internal_has_emotion_response()) { + return _impl_.response_type_.emotion_response_.Get(); + } + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); +} +inline void GetResponseResponse::_internal_set_emotion_response(const std::string& value) { + if (!_internal_has_emotion_response()) { + clear_response_type(); + set_has_emotion_response(); + _impl_.response_type_.emotion_response_.InitDefault(); + } + _impl_.response_type_.emotion_response_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseResponse::_internal_mutable_emotion_response() { + if (!_internal_has_emotion_response()) { + clear_response_type(); + set_has_emotion_response(); + _impl_.response_type_.emotion_response_.InitDefault(); + } + return _impl_.response_type_.emotion_response_.Mutable( GetArenaForAllocation()); +} +inline std::string* GetResponseResponse::release_emotion_response() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.emotion_response) + if (_internal_has_emotion_response()) { + clear_has_response_type(); + return _impl_.response_type_.emotion_response_.Release(); + } else { + return nullptr; + } +} +inline void GetResponseResponse::set_allocated_emotion_response(std::string* emotion_response) { + if (has_response_type()) { + clear_response_type(); + } + if (emotion_response != nullptr) { + set_has_emotion_response(); + _impl_.response_type_.emotion_response_.InitAllocated(emotion_response, GetArenaForAllocation()); + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.emotion_response) +} + +// string interaction_id = 8; +inline bool GetResponseResponse::_internal_has_interaction_id() const { + return response_type_case() == kInteractionId; +} +inline bool GetResponseResponse::has_interaction_id() const { + return _internal_has_interaction_id(); +} +inline void GetResponseResponse::set_has_interaction_id() { + _impl_._oneof_case_[0] = kInteractionId; +} +inline void GetResponseResponse::clear_interaction_id() { + if (_internal_has_interaction_id()) { + _impl_.response_type_.interaction_id_.Destroy(); + clear_has_response_type(); + } +} +inline const std::string& GetResponseResponse::interaction_id() const { + // @@protoc_insertion_point(field_get:service.GetResponseResponse.interaction_id) + return _internal_interaction_id(); +} +template +inline void GetResponseResponse::set_interaction_id(ArgT0&& arg0, ArgT... args) { + if (!_internal_has_interaction_id()) { + clear_response_type(); + set_has_interaction_id(); + _impl_.response_type_.interaction_id_.InitDefault(); + } + _impl_.response_type_.interaction_id_.Set( static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.GetResponseResponse.interaction_id) +} +inline std::string* GetResponseResponse::mutable_interaction_id() { + std::string* _s = _internal_mutable_interaction_id(); + // @@protoc_insertion_point(field_mutable:service.GetResponseResponse.interaction_id) + return _s; +} +inline const std::string& GetResponseResponse::_internal_interaction_id() const { + if (_internal_has_interaction_id()) { + return _impl_.response_type_.interaction_id_.Get(); + } + return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(); +} +inline void GetResponseResponse::_internal_set_interaction_id(const std::string& value) { + if (!_internal_has_interaction_id()) { + clear_response_type(); + set_has_interaction_id(); + _impl_.response_type_.interaction_id_.InitDefault(); + } + _impl_.response_type_.interaction_id_.Set(value, GetArenaForAllocation()); +} +inline std::string* GetResponseResponse::_internal_mutable_interaction_id() { + if (!_internal_has_interaction_id()) { + clear_response_type(); + set_has_interaction_id(); + _impl_.response_type_.interaction_id_.InitDefault(); + } + return _impl_.response_type_.interaction_id_.Mutable( GetArenaForAllocation()); +} +inline std::string* GetResponseResponse::release_interaction_id() { + // @@protoc_insertion_point(field_release:service.GetResponseResponse.interaction_id) + if (_internal_has_interaction_id()) { + clear_has_response_type(); + return _impl_.response_type_.interaction_id_.Release(); + } else { + return nullptr; + } +} +inline void GetResponseResponse::set_allocated_interaction_id(std::string* interaction_id) { + if (has_response_type()) { + clear_response_type(); + } + if (interaction_id != nullptr) { + set_has_interaction_id(); + _impl_.response_type_.interaction_id_.InitAllocated(interaction_id, GetArenaForAllocation()); + } + // @@protoc_insertion_point(field_set_allocated:service.GetResponseResponse.interaction_id) +} + +inline bool GetResponseResponse::has_response_type() const { + return response_type_case() != RESPONSE_TYPE_NOT_SET; +} +inline void GetResponseResponse::clear_has_response_type() { + _impl_._oneof_case_[0] = RESPONSE_TYPE_NOT_SET; +} +inline GetResponseResponse::ResponseTypeCase GetResponseResponse::response_type_case() const { + return GetResponseResponse::ResponseTypeCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// VisemesData + +// .service.Viseme visemes = 1; +inline bool VisemesData::_internal_has_visemes() const { + return this != internal_default_instance() && _impl_.visemes_ != nullptr; +} +inline bool VisemesData::has_visemes() const { + return _internal_has_visemes(); +} +inline void VisemesData::clear_visemes() { + if (GetArenaForAllocation() == nullptr && _impl_.visemes_ != nullptr) { + delete _impl_.visemes_; + } + _impl_.visemes_ = nullptr; +} +inline const ::service::Viseme& VisemesData::_internal_visemes() const { + const ::service::Viseme* p = _impl_.visemes_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_Viseme_default_instance_); +} +inline const ::service::Viseme& VisemesData::visemes() const { + // @@protoc_insertion_point(field_get:service.VisemesData.visemes) + return _internal_visemes(); +} +inline void VisemesData::unsafe_arena_set_allocated_visemes( + ::service::Viseme* visemes) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.visemes_); + } + _impl_.visemes_ = visemes; + if (visemes) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.VisemesData.visemes) +} +inline ::service::Viseme* VisemesData::release_visemes() { + + ::service::Viseme* temp = _impl_.visemes_; + _impl_.visemes_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service::Viseme* VisemesData::unsafe_arena_release_visemes() { + // @@protoc_insertion_point(field_release:service.VisemesData.visemes) + + ::service::Viseme* temp = _impl_.visemes_; + _impl_.visemes_ = nullptr; + return temp; +} +inline ::service::Viseme* VisemesData::_internal_mutable_visemes() { + + if (_impl_.visemes_ == nullptr) { + auto* p = CreateMaybeMessage<::service::Viseme>(GetArenaForAllocation()); + _impl_.visemes_ = p; + } + return _impl_.visemes_; +} +inline ::service::Viseme* VisemesData::mutable_visemes() { + ::service::Viseme* _msg = _internal_mutable_visemes(); + // @@protoc_insertion_point(field_mutable:service.VisemesData.visemes) + return _msg; +} +inline void VisemesData::set_allocated_visemes(::service::Viseme* visemes) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.visemes_; + } + if (visemes) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(visemes); + if (message_arena != submessage_arena) { + visemes = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, visemes, submessage_arena); + } + + } else { + + } + _impl_.visemes_ = visemes; + // @@protoc_insertion_point(field_set_allocated:service.VisemesData.visemes) +} + +// ------------------------------------------------------------------- + +// EmotionResponse + +// string emotion = 1; +inline void EmotionResponse::clear_emotion() { + _impl_.emotion_.ClearToEmpty(); +} +inline const std::string& EmotionResponse::emotion() const { + // @@protoc_insertion_point(field_get:service.EmotionResponse.emotion) + return _internal_emotion(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void EmotionResponse::set_emotion(ArgT0&& arg0, ArgT... args) { + + _impl_.emotion_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.EmotionResponse.emotion) +} +inline std::string* EmotionResponse::mutable_emotion() { + std::string* _s = _internal_mutable_emotion(); + // @@protoc_insertion_point(field_mutable:service.EmotionResponse.emotion) + return _s; +} +inline const std::string& EmotionResponse::_internal_emotion() const { + return _impl_.emotion_.Get(); +} +inline void EmotionResponse::_internal_set_emotion(const std::string& value) { + + _impl_.emotion_.Set(value, GetArenaForAllocation()); +} +inline std::string* EmotionResponse::_internal_mutable_emotion() { + + return _impl_.emotion_.Mutable(GetArenaForAllocation()); +} +inline std::string* EmotionResponse::release_emotion() { + // @@protoc_insertion_point(field_release:service.EmotionResponse.emotion) + return _impl_.emotion_.Release(); +} +inline void EmotionResponse::set_allocated_emotion(std::string* emotion) { + if (emotion != nullptr) { + + } else { + + } + _impl_.emotion_.SetAllocated(emotion, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.emotion_.IsDefault()) { + _impl_.emotion_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.EmotionResponse.emotion) +} + +// string scale = 2; +inline void EmotionResponse::clear_scale() { + _impl_.scale_.ClearToEmpty(); +} +inline const std::string& EmotionResponse::scale() const { + // @@protoc_insertion_point(field_get:service.EmotionResponse.scale) + return _internal_scale(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void EmotionResponse::set_scale(ArgT0&& arg0, ArgT... args) { + + _impl_.scale_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.EmotionResponse.scale) +} +inline std::string* EmotionResponse::mutable_scale() { + std::string* _s = _internal_mutable_scale(); + // @@protoc_insertion_point(field_mutable:service.EmotionResponse.scale) + return _s; +} +inline const std::string& EmotionResponse::_internal_scale() const { + return _impl_.scale_.Get(); +} +inline void EmotionResponse::_internal_set_scale(const std::string& value) { + + _impl_.scale_.Set(value, GetArenaForAllocation()); +} +inline std::string* EmotionResponse::_internal_mutable_scale() { + + return _impl_.scale_.Mutable(GetArenaForAllocation()); +} +inline std::string* EmotionResponse::release_scale() { + // @@protoc_insertion_point(field_release:service.EmotionResponse.scale) + return _impl_.scale_.Release(); +} +inline void EmotionResponse::set_allocated_scale(std::string* scale) { + if (scale != nullptr) { + + } else { + + } + _impl_.scale_.SetAllocated(scale, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.scale_.IsDefault()) { + _impl_.scale_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.EmotionResponse.scale) +} + +// ------------------------------------------------------------------- + +// Viseme + +// float sil = 1; +inline void Viseme::clear_sil() { + _impl_.sil_ = 0; +} +inline float Viseme::_internal_sil() const { + return _impl_.sil_; +} +inline float Viseme::sil() const { + // @@protoc_insertion_point(field_get:service.Viseme.sil) + return _internal_sil(); +} +inline void Viseme::_internal_set_sil(float value) { + + _impl_.sil_ = value; +} +inline void Viseme::set_sil(float value) { + _internal_set_sil(value); + // @@protoc_insertion_point(field_set:service.Viseme.sil) +} + +// float pp = 2; +inline void Viseme::clear_pp() { + _impl_.pp_ = 0; +} +inline float Viseme::_internal_pp() const { + return _impl_.pp_; +} +inline float Viseme::pp() const { + // @@protoc_insertion_point(field_get:service.Viseme.pp) + return _internal_pp(); +} +inline void Viseme::_internal_set_pp(float value) { + + _impl_.pp_ = value; +} +inline void Viseme::set_pp(float value) { + _internal_set_pp(value); + // @@protoc_insertion_point(field_set:service.Viseme.pp) +} + +// float ff = 3; +inline void Viseme::clear_ff() { + _impl_.ff_ = 0; +} +inline float Viseme::_internal_ff() const { + return _impl_.ff_; +} +inline float Viseme::ff() const { + // @@protoc_insertion_point(field_get:service.Viseme.ff) + return _internal_ff(); +} +inline void Viseme::_internal_set_ff(float value) { + + _impl_.ff_ = value; +} +inline void Viseme::set_ff(float value) { + _internal_set_ff(value); + // @@protoc_insertion_point(field_set:service.Viseme.ff) +} + +// float th = 4; +inline void Viseme::clear_th() { + _impl_.th_ = 0; +} +inline float Viseme::_internal_th() const { + return _impl_.th_; +} +inline float Viseme::th() const { + // @@protoc_insertion_point(field_get:service.Viseme.th) + return _internal_th(); +} +inline void Viseme::_internal_set_th(float value) { + + _impl_.th_ = value; +} +inline void Viseme::set_th(float value) { + _internal_set_th(value); + // @@protoc_insertion_point(field_set:service.Viseme.th) +} + +// float dd = 5; +inline void Viseme::clear_dd() { + _impl_.dd_ = 0; +} +inline float Viseme::_internal_dd() const { + return _impl_.dd_; +} +inline float Viseme::dd() const { + // @@protoc_insertion_point(field_get:service.Viseme.dd) + return _internal_dd(); +} +inline void Viseme::_internal_set_dd(float value) { + + _impl_.dd_ = value; +} +inline void Viseme::set_dd(float value) { + _internal_set_dd(value); + // @@protoc_insertion_point(field_set:service.Viseme.dd) +} + +// float kk = 6; +inline void Viseme::clear_kk() { + _impl_.kk_ = 0; +} +inline float Viseme::_internal_kk() const { + return _impl_.kk_; +} +inline float Viseme::kk() const { + // @@protoc_insertion_point(field_get:service.Viseme.kk) + return _internal_kk(); +} +inline void Viseme::_internal_set_kk(float value) { + + _impl_.kk_ = value; +} +inline void Viseme::set_kk(float value) { + _internal_set_kk(value); + // @@protoc_insertion_point(field_set:service.Viseme.kk) +} + +// float ch = 7; +inline void Viseme::clear_ch() { + _impl_.ch_ = 0; +} +inline float Viseme::_internal_ch() const { + return _impl_.ch_; +} +inline float Viseme::ch() const { + // @@protoc_insertion_point(field_get:service.Viseme.ch) + return _internal_ch(); +} +inline void Viseme::_internal_set_ch(float value) { + + _impl_.ch_ = value; +} +inline void Viseme::set_ch(float value) { + _internal_set_ch(value); + // @@protoc_insertion_point(field_set:service.Viseme.ch) +} + +// float ss = 8; +inline void Viseme::clear_ss() { + _impl_.ss_ = 0; +} +inline float Viseme::_internal_ss() const { + return _impl_.ss_; +} +inline float Viseme::ss() const { + // @@protoc_insertion_point(field_get:service.Viseme.ss) + return _internal_ss(); +} +inline void Viseme::_internal_set_ss(float value) { + + _impl_.ss_ = value; +} +inline void Viseme::set_ss(float value) { + _internal_set_ss(value); + // @@protoc_insertion_point(field_set:service.Viseme.ss) +} + +// float nn = 9; +inline void Viseme::clear_nn() { + _impl_.nn_ = 0; +} +inline float Viseme::_internal_nn() const { + return _impl_.nn_; +} +inline float Viseme::nn() const { + // @@protoc_insertion_point(field_get:service.Viseme.nn) + return _internal_nn(); +} +inline void Viseme::_internal_set_nn(float value) { + + _impl_.nn_ = value; +} +inline void Viseme::set_nn(float value) { + _internal_set_nn(value); + // @@protoc_insertion_point(field_set:service.Viseme.nn) +} + +// float rr = 10; +inline void Viseme::clear_rr() { + _impl_.rr_ = 0; +} +inline float Viseme::_internal_rr() const { + return _impl_.rr_; +} +inline float Viseme::rr() const { + // @@protoc_insertion_point(field_get:service.Viseme.rr) + return _internal_rr(); +} +inline void Viseme::_internal_set_rr(float value) { + + _impl_.rr_ = value; +} +inline void Viseme::set_rr(float value) { + _internal_set_rr(value); + // @@protoc_insertion_point(field_set:service.Viseme.rr) +} + +// float aa = 11; +inline void Viseme::clear_aa() { + _impl_.aa_ = 0; +} +inline float Viseme::_internal_aa() const { + return _impl_.aa_; +} +inline float Viseme::aa() const { + // @@protoc_insertion_point(field_get:service.Viseme.aa) + return _internal_aa(); +} +inline void Viseme::_internal_set_aa(float value) { + + _impl_.aa_ = value; +} +inline void Viseme::set_aa(float value) { + _internal_set_aa(value); + // @@protoc_insertion_point(field_set:service.Viseme.aa) +} + +// float e = 12; +inline void Viseme::clear_e() { + _impl_.e_ = 0; +} +inline float Viseme::_internal_e() const { + return _impl_.e_; +} +inline float Viseme::e() const { + // @@protoc_insertion_point(field_get:service.Viseme.e) + return _internal_e(); +} +inline void Viseme::_internal_set_e(float value) { + + _impl_.e_ = value; +} +inline void Viseme::set_e(float value) { + _internal_set_e(value); + // @@protoc_insertion_point(field_set:service.Viseme.e) +} + +// float ih = 13; +inline void Viseme::clear_ih() { + _impl_.ih_ = 0; +} +inline float Viseme::_internal_ih() const { + return _impl_.ih_; +} +inline float Viseme::ih() const { + // @@protoc_insertion_point(field_get:service.Viseme.ih) + return _internal_ih(); +} +inline void Viseme::_internal_set_ih(float value) { + + _impl_.ih_ = value; +} +inline void Viseme::set_ih(float value) { + _internal_set_ih(value); + // @@protoc_insertion_point(field_set:service.Viseme.ih) +} + +// float oh = 14; +inline void Viseme::clear_oh() { + _impl_.oh_ = 0; +} +inline float Viseme::_internal_oh() const { + return _impl_.oh_; +} +inline float Viseme::oh() const { + // @@protoc_insertion_point(field_get:service.Viseme.oh) + return _internal_oh(); +} +inline void Viseme::_internal_set_oh(float value) { + + _impl_.oh_ = value; +} +inline void Viseme::set_oh(float value) { + _internal_set_oh(value); + // @@protoc_insertion_point(field_set:service.Viseme.oh) +} + +// float ou = 15; +inline void Viseme::clear_ou() { + _impl_.ou_ = 0; +} +inline float Viseme::_internal_ou() const { + return _impl_.ou_; +} +inline float Viseme::ou() const { + // @@protoc_insertion_point(field_get:service.Viseme.ou) + return _internal_ou(); +} +inline void Viseme::_internal_set_ou(float value) { + + _impl_.ou_ = value; +} +inline void Viseme::set_ou(float value) { + _internal_set_ou(value); + // @@protoc_insertion_point(field_set:service.Viseme.ou) +} + +// ------------------------------------------------------------------- + +// BlendShapesData + +// string blendshape_data = 1; +inline void BlendShapesData::clear_blendshape_data() { + _impl_.blendshape_data_.ClearToEmpty(); +} +inline const std::string& BlendShapesData::blendshape_data() const { + // @@protoc_insertion_point(field_get:service.BlendShapesData.blendshape_data) + return _internal_blendshape_data(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void BlendShapesData::set_blendshape_data(ArgT0&& arg0, ArgT... args) { + + _impl_.blendshape_data_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.BlendShapesData.blendshape_data) +} +inline std::string* BlendShapesData::mutable_blendshape_data() { + std::string* _s = _internal_mutable_blendshape_data(); + // @@protoc_insertion_point(field_mutable:service.BlendShapesData.blendshape_data) + return _s; +} +inline const std::string& BlendShapesData::_internal_blendshape_data() const { + return _impl_.blendshape_data_.Get(); +} +inline void BlendShapesData::_internal_set_blendshape_data(const std::string& value) { + + _impl_.blendshape_data_.Set(value, GetArenaForAllocation()); +} +inline std::string* BlendShapesData::_internal_mutable_blendshape_data() { + + return _impl_.blendshape_data_.Mutable(GetArenaForAllocation()); +} +inline std::string* BlendShapesData::release_blendshape_data() { + // @@protoc_insertion_point(field_release:service.BlendShapesData.blendshape_data) + return _impl_.blendshape_data_.Release(); +} +inline void BlendShapesData::set_allocated_blendshape_data(std::string* blendshape_data) { + if (blendshape_data != nullptr) { + + } else { + + } + _impl_.blendshape_data_.SetAllocated(blendshape_data, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.blendshape_data_.IsDefault()) { + _impl_.blendshape_data_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.BlendShapesData.blendshape_data) +} + +// ------------------------------------------------------------------- + +// HelloRequest + +// string name = 1; +inline void HelloRequest::clear_name() { + _impl_.name_.ClearToEmpty(); +} +inline const std::string& HelloRequest::name() const { + // @@protoc_insertion_point(field_get:service.HelloRequest.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void HelloRequest::set_name(ArgT0&& arg0, ArgT... args) { + + _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.HelloRequest.name) +} +inline std::string* HelloRequest::mutable_name() { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:service.HelloRequest.name) + return _s; +} +inline const std::string& HelloRequest::_internal_name() const { + return _impl_.name_.Get(); +} +inline void HelloRequest::_internal_set_name(const std::string& value) { + + _impl_.name_.Set(value, GetArenaForAllocation()); +} +inline std::string* HelloRequest::_internal_mutable_name() { + + return _impl_.name_.Mutable(GetArenaForAllocation()); +} +inline std::string* HelloRequest::release_name() { + // @@protoc_insertion_point(field_release:service.HelloRequest.name) + return _impl_.name_.Release(); +} +inline void HelloRequest::set_allocated_name(std::string* name) { + if (name != nullptr) { + + } else { + + } + _impl_.name_.SetAllocated(name, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.HelloRequest.name) +} + +// ------------------------------------------------------------------- + +// HelloResponse + +// string message = 1; +inline void HelloResponse::clear_message() { + _impl_.message_.ClearToEmpty(); +} +inline const std::string& HelloResponse::message() const { + // @@protoc_insertion_point(field_get:service.HelloResponse.message) + return _internal_message(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void HelloResponse::set_message(ArgT0&& arg0, ArgT... args) { + + _impl_.message_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.HelloResponse.message) +} +inline std::string* HelloResponse::mutable_message() { + std::string* _s = _internal_mutable_message(); + // @@protoc_insertion_point(field_mutable:service.HelloResponse.message) + return _s; +} +inline const std::string& HelloResponse::_internal_message() const { + return _impl_.message_.Get(); +} +inline void HelloResponse::_internal_set_message(const std::string& value) { + + _impl_.message_.Set(value, GetArenaForAllocation()); +} +inline std::string* HelloResponse::_internal_mutable_message() { + + return _impl_.message_.Mutable(GetArenaForAllocation()); +} +inline std::string* HelloResponse::release_message() { + // @@protoc_insertion_point(field_release:service.HelloResponse.message) + return _impl_.message_.Release(); +} +inline void HelloResponse::set_allocated_message(std::string* message) { + if (message != nullptr) { + + } else { + + } + _impl_.message_.SetAllocated(message, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.message_.IsDefault()) { + _impl_.message_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.HelloResponse.message) +} + +// ------------------------------------------------------------------- + +// FeedbackRequest_Feedback + +// bool thumbs_up = 1; +inline void FeedbackRequest_Feedback::clear_thumbs_up() { + _impl_.thumbs_up_ = false; +} +inline bool FeedbackRequest_Feedback::_internal_thumbs_up() const { + return _impl_.thumbs_up_; +} +inline bool FeedbackRequest_Feedback::thumbs_up() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.Feedback.thumbs_up) + return _internal_thumbs_up(); +} +inline void FeedbackRequest_Feedback::_internal_set_thumbs_up(bool value) { + + _impl_.thumbs_up_ = value; +} +inline void FeedbackRequest_Feedback::set_thumbs_up(bool value) { + _internal_set_thumbs_up(value); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.Feedback.thumbs_up) +} + +// string feedback_text = 2; +inline void FeedbackRequest_Feedback::clear_feedback_text() { + _impl_.feedback_text_.ClearToEmpty(); +} +inline const std::string& FeedbackRequest_Feedback::feedback_text() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.Feedback.feedback_text) + return _internal_feedback_text(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void FeedbackRequest_Feedback::set_feedback_text(ArgT0&& arg0, ArgT... args) { + + _impl_.feedback_text_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.Feedback.feedback_text) +} +inline std::string* FeedbackRequest_Feedback::mutable_feedback_text() { + std::string* _s = _internal_mutable_feedback_text(); + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.Feedback.feedback_text) + return _s; +} +inline const std::string& FeedbackRequest_Feedback::_internal_feedback_text() const { + return _impl_.feedback_text_.Get(); +} +inline void FeedbackRequest_Feedback::_internal_set_feedback_text(const std::string& value) { + + _impl_.feedback_text_.Set(value, GetArenaForAllocation()); +} +inline std::string* FeedbackRequest_Feedback::_internal_mutable_feedback_text() { + + return _impl_.feedback_text_.Mutable(GetArenaForAllocation()); +} +inline std::string* FeedbackRequest_Feedback::release_feedback_text() { + // @@protoc_insertion_point(field_release:service.FeedbackRequest.Feedback.feedback_text) + return _impl_.feedback_text_.Release(); +} +inline void FeedbackRequest_Feedback::set_allocated_feedback_text(std::string* feedback_text) { + if (feedback_text != nullptr) { + + } else { + + } + _impl_.feedback_text_.SetAllocated(feedback_text, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.feedback_text_.IsDefault()) { + _impl_.feedback_text_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.FeedbackRequest.Feedback.feedback_text) +} + +// repeated string tags = 3; +inline int FeedbackRequest_Feedback::_internal_tags_size() const { + return _impl_.tags_.size(); +} +inline int FeedbackRequest_Feedback::tags_size() const { + return _internal_tags_size(); +} +inline void FeedbackRequest_Feedback::clear_tags() { + _impl_.tags_.Clear(); +} +inline std::string* FeedbackRequest_Feedback::add_tags() { + std::string* _s = _internal_add_tags(); + // @@protoc_insertion_point(field_add_mutable:service.FeedbackRequest.Feedback.tags) + return _s; +} +inline const std::string& FeedbackRequest_Feedback::_internal_tags(int index) const { + return _impl_.tags_.Get(index); +} +inline const std::string& FeedbackRequest_Feedback::tags(int index) const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.Feedback.tags) + return _internal_tags(index); +} +inline std::string* FeedbackRequest_Feedback::mutable_tags(int index) { + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.Feedback.tags) + return _impl_.tags_.Mutable(index); +} +inline void FeedbackRequest_Feedback::set_tags(int index, const std::string& value) { + _impl_.tags_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.Feedback.tags) +} +inline void FeedbackRequest_Feedback::set_tags(int index, std::string&& value) { + _impl_.tags_.Mutable(index)->assign(std::move(value)); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.Feedback.tags) +} +inline void FeedbackRequest_Feedback::set_tags(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + _impl_.tags_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:service.FeedbackRequest.Feedback.tags) +} +inline void FeedbackRequest_Feedback::set_tags(int index, const char* value, size_t size) { + _impl_.tags_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:service.FeedbackRequest.Feedback.tags) +} +inline std::string* FeedbackRequest_Feedback::_internal_add_tags() { + return _impl_.tags_.Add(); +} +inline void FeedbackRequest_Feedback::add_tags(const std::string& value) { + _impl_.tags_.Add()->assign(value); + // @@protoc_insertion_point(field_add:service.FeedbackRequest.Feedback.tags) +} +inline void FeedbackRequest_Feedback::add_tags(std::string&& value) { + _impl_.tags_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:service.FeedbackRequest.Feedback.tags) +} +inline void FeedbackRequest_Feedback::add_tags(const char* value) { + GOOGLE_DCHECK(value != nullptr); + _impl_.tags_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:service.FeedbackRequest.Feedback.tags) +} +inline void FeedbackRequest_Feedback::add_tags(const char* value, size_t size) { + _impl_.tags_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:service.FeedbackRequest.Feedback.tags) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& +FeedbackRequest_Feedback::tags() const { + // @@protoc_insertion_point(field_list:service.FeedbackRequest.Feedback.tags) + return _impl_.tags_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* +FeedbackRequest_Feedback::mutable_tags() { + // @@protoc_insertion_point(field_mutable_list:service.FeedbackRequest.Feedback.tags) + return &_impl_.tags_; +} + +// bool is_test_case = 4; +inline void FeedbackRequest_Feedback::clear_is_test_case() { + _impl_.is_test_case_ = false; +} +inline bool FeedbackRequest_Feedback::_internal_is_test_case() const { + return _impl_.is_test_case_; +} +inline bool FeedbackRequest_Feedback::is_test_case() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.Feedback.is_test_case) + return _internal_is_test_case(); +} +inline void FeedbackRequest_Feedback::_internal_set_is_test_case(bool value) { + + _impl_.is_test_case_ = value; +} +inline void FeedbackRequest_Feedback::set_is_test_case(bool value) { + _internal_set_is_test_case(value); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.Feedback.is_test_case) +} + +// ------------------------------------------------------------------- + +// FeedbackRequest + +// string interaction_id = 1; +inline void FeedbackRequest::clear_interaction_id() { + _impl_.interaction_id_.ClearToEmpty(); +} +inline const std::string& FeedbackRequest::interaction_id() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.interaction_id) + return _internal_interaction_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void FeedbackRequest::set_interaction_id(ArgT0&& arg0, ArgT... args) { + + _impl_.interaction_id_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.interaction_id) +} +inline std::string* FeedbackRequest::mutable_interaction_id() { + std::string* _s = _internal_mutable_interaction_id(); + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.interaction_id) + return _s; +} +inline const std::string& FeedbackRequest::_internal_interaction_id() const { + return _impl_.interaction_id_.Get(); +} +inline void FeedbackRequest::_internal_set_interaction_id(const std::string& value) { + + _impl_.interaction_id_.Set(value, GetArenaForAllocation()); +} +inline std::string* FeedbackRequest::_internal_mutable_interaction_id() { + + return _impl_.interaction_id_.Mutable(GetArenaForAllocation()); +} +inline std::string* FeedbackRequest::release_interaction_id() { + // @@protoc_insertion_point(field_release:service.FeedbackRequest.interaction_id) + return _impl_.interaction_id_.Release(); +} +inline void FeedbackRequest::set_allocated_interaction_id(std::string* interaction_id) { + if (interaction_id != nullptr) { + + } else { + + } + _impl_.interaction_id_.SetAllocated(interaction_id, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.interaction_id_.IsDefault()) { + _impl_.interaction_id_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.FeedbackRequest.interaction_id) +} + +// string character_id = 2; +inline void FeedbackRequest::clear_character_id() { + _impl_.character_id_.ClearToEmpty(); +} +inline const std::string& FeedbackRequest::character_id() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.character_id) + return _internal_character_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void FeedbackRequest::set_character_id(ArgT0&& arg0, ArgT... args) { + + _impl_.character_id_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.character_id) +} +inline std::string* FeedbackRequest::mutable_character_id() { + std::string* _s = _internal_mutable_character_id(); + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.character_id) + return _s; +} +inline const std::string& FeedbackRequest::_internal_character_id() const { + return _impl_.character_id_.Get(); +} +inline void FeedbackRequest::_internal_set_character_id(const std::string& value) { + + _impl_.character_id_.Set(value, GetArenaForAllocation()); +} +inline std::string* FeedbackRequest::_internal_mutable_character_id() { + + return _impl_.character_id_.Mutable(GetArenaForAllocation()); +} +inline std::string* FeedbackRequest::release_character_id() { + // @@protoc_insertion_point(field_release:service.FeedbackRequest.character_id) + return _impl_.character_id_.Release(); +} +inline void FeedbackRequest::set_allocated_character_id(std::string* character_id) { + if (character_id != nullptr) { + + } else { + + } + _impl_.character_id_.SetAllocated(character_id, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.character_id_.IsDefault()) { + _impl_.character_id_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.FeedbackRequest.character_id) +} + +// string session_id = 3; +inline void FeedbackRequest::clear_session_id() { + _impl_.session_id_.ClearToEmpty(); +} +inline const std::string& FeedbackRequest::session_id() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.session_id) + return _internal_session_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void FeedbackRequest::set_session_id(ArgT0&& arg0, ArgT... args) { + + _impl_.session_id_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.session_id) +} +inline std::string* FeedbackRequest::mutable_session_id() { + std::string* _s = _internal_mutable_session_id(); + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.session_id) + return _s; +} +inline const std::string& FeedbackRequest::_internal_session_id() const { + return _impl_.session_id_.Get(); +} +inline void FeedbackRequest::_internal_set_session_id(const std::string& value) { + + _impl_.session_id_.Set(value, GetArenaForAllocation()); +} +inline std::string* FeedbackRequest::_internal_mutable_session_id() { + + return _impl_.session_id_.Mutable(GetArenaForAllocation()); +} +inline std::string* FeedbackRequest::release_session_id() { + // @@protoc_insertion_point(field_release:service.FeedbackRequest.session_id) + return _impl_.session_id_.Release(); +} +inline void FeedbackRequest::set_allocated_session_id(std::string* session_id) { + if (session_id != nullptr) { + + } else { + + } + _impl_.session_id_.SetAllocated(session_id, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.session_id_.IsDefault()) { + _impl_.session_id_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.FeedbackRequest.session_id) +} + +// .service.FeedbackRequest.Feedback text_feedback = 5; +inline bool FeedbackRequest::_internal_has_text_feedback() const { + return this != internal_default_instance() && _impl_.text_feedback_ != nullptr; +} +inline bool FeedbackRequest::has_text_feedback() const { + return _internal_has_text_feedback(); +} +inline void FeedbackRequest::clear_text_feedback() { + if (GetArenaForAllocation() == nullptr && _impl_.text_feedback_ != nullptr) { + delete _impl_.text_feedback_; + } + _impl_.text_feedback_ = nullptr; +} +inline const ::service::FeedbackRequest_Feedback& FeedbackRequest::_internal_text_feedback() const { + const ::service::FeedbackRequest_Feedback* p = _impl_.text_feedback_; + return p != nullptr ? *p : reinterpret_cast( + ::service::_FeedbackRequest_Feedback_default_instance_); +} +inline const ::service::FeedbackRequest_Feedback& FeedbackRequest::text_feedback() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.text_feedback) + return _internal_text_feedback(); +} +inline void FeedbackRequest::unsafe_arena_set_allocated_text_feedback( + ::service::FeedbackRequest_Feedback* text_feedback) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.text_feedback_); + } + _impl_.text_feedback_ = text_feedback; + if (text_feedback) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:service.FeedbackRequest.text_feedback) +} +inline ::service::FeedbackRequest_Feedback* FeedbackRequest::release_text_feedback() { + + ::service::FeedbackRequest_Feedback* temp = _impl_.text_feedback_; + _impl_.text_feedback_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::service::FeedbackRequest_Feedback* FeedbackRequest::unsafe_arena_release_text_feedback() { + // @@protoc_insertion_point(field_release:service.FeedbackRequest.text_feedback) + + ::service::FeedbackRequest_Feedback* temp = _impl_.text_feedback_; + _impl_.text_feedback_ = nullptr; + return temp; +} +inline ::service::FeedbackRequest_Feedback* FeedbackRequest::_internal_mutable_text_feedback() { + + if (_impl_.text_feedback_ == nullptr) { + auto* p = CreateMaybeMessage<::service::FeedbackRequest_Feedback>(GetArenaForAllocation()); + _impl_.text_feedback_ = p; + } + return _impl_.text_feedback_; +} +inline ::service::FeedbackRequest_Feedback* FeedbackRequest::mutable_text_feedback() { + ::service::FeedbackRequest_Feedback* _msg = _internal_mutable_text_feedback(); + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.text_feedback) + return _msg; +} +inline void FeedbackRequest::set_allocated_text_feedback(::service::FeedbackRequest_Feedback* text_feedback) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.text_feedback_; + } + if (text_feedback) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(text_feedback); + if (message_arena != submessage_arena) { + text_feedback = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, text_feedback, submessage_arena); + } + + } else { + + } + _impl_.text_feedback_ = text_feedback; + // @@protoc_insertion_point(field_set_allocated:service.FeedbackRequest.text_feedback) +} + +// string user_query = 6; +inline void FeedbackRequest::clear_user_query() { + _impl_.user_query_.ClearToEmpty(); +} +inline const std::string& FeedbackRequest::user_query() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.user_query) + return _internal_user_query(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void FeedbackRequest::set_user_query(ArgT0&& arg0, ArgT... args) { + + _impl_.user_query_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.user_query) +} +inline std::string* FeedbackRequest::mutable_user_query() { + std::string* _s = _internal_mutable_user_query(); + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.user_query) + return _s; +} +inline const std::string& FeedbackRequest::_internal_user_query() const { + return _impl_.user_query_.Get(); +} +inline void FeedbackRequest::_internal_set_user_query(const std::string& value) { + + _impl_.user_query_.Set(value, GetArenaForAllocation()); +} +inline std::string* FeedbackRequest::_internal_mutable_user_query() { + + return _impl_.user_query_.Mutable(GetArenaForAllocation()); +} +inline std::string* FeedbackRequest::release_user_query() { + // @@protoc_insertion_point(field_release:service.FeedbackRequest.user_query) + return _impl_.user_query_.Release(); +} +inline void FeedbackRequest::set_allocated_user_query(std::string* user_query) { + if (user_query != nullptr) { + + } else { + + } + _impl_.user_query_.SetAllocated(user_query, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.user_query_.IsDefault()) { + _impl_.user_query_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.FeedbackRequest.user_query) +} + +// string response = 7; +inline void FeedbackRequest::clear_response() { + _impl_.response_.ClearToEmpty(); +} +inline const std::string& FeedbackRequest::response() const { + // @@protoc_insertion_point(field_get:service.FeedbackRequest.response) + return _internal_response(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void FeedbackRequest::set_response(ArgT0&& arg0, ArgT... args) { + + _impl_.response_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.FeedbackRequest.response) +} +inline std::string* FeedbackRequest::mutable_response() { + std::string* _s = _internal_mutable_response(); + // @@protoc_insertion_point(field_mutable:service.FeedbackRequest.response) + return _s; +} +inline const std::string& FeedbackRequest::_internal_response() const { + return _impl_.response_.Get(); +} +inline void FeedbackRequest::_internal_set_response(const std::string& value) { + + _impl_.response_.Set(value, GetArenaForAllocation()); +} +inline std::string* FeedbackRequest::_internal_mutable_response() { + + return _impl_.response_.Mutable(GetArenaForAllocation()); +} +inline std::string* FeedbackRequest::release_response() { + // @@protoc_insertion_point(field_release:service.FeedbackRequest.response) + return _impl_.response_.Release(); +} +inline void FeedbackRequest::set_allocated_response(std::string* response) { + if (response != nullptr) { + + } else { + + } + _impl_.response_.SetAllocated(response, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.response_.IsDefault()) { + _impl_.response_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.FeedbackRequest.response) +} + +// ------------------------------------------------------------------- + +// FeedbackResponse + +// string feedback_response = 1; +inline void FeedbackResponse::clear_feedback_response() { + _impl_.feedback_response_.ClearToEmpty(); +} +inline const std::string& FeedbackResponse::feedback_response() const { + // @@protoc_insertion_point(field_get:service.FeedbackResponse.feedback_response) + return _internal_feedback_response(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void FeedbackResponse::set_feedback_response(ArgT0&& arg0, ArgT... args) { + + _impl_.feedback_response_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:service.FeedbackResponse.feedback_response) +} +inline std::string* FeedbackResponse::mutable_feedback_response() { + std::string* _s = _internal_mutable_feedback_response(); + // @@protoc_insertion_point(field_mutable:service.FeedbackResponse.feedback_response) + return _s; +} +inline const std::string& FeedbackResponse::_internal_feedback_response() const { + return _impl_.feedback_response_.Get(); +} +inline void FeedbackResponse::_internal_set_feedback_response(const std::string& value) { + + _impl_.feedback_response_.Set(value, GetArenaForAllocation()); +} +inline std::string* FeedbackResponse::_internal_mutable_feedback_response() { + + return _impl_.feedback_response_.Mutable(GetArenaForAllocation()); +} +inline std::string* FeedbackResponse::release_feedback_response() { + // @@protoc_insertion_point(field_release:service.FeedbackResponse.feedback_response) + return _impl_.feedback_response_.Release(); +} +inline void FeedbackResponse::set_allocated_feedback_response(std::string* feedback_response) { + if (feedback_response != nullptr) { + + } else { + + } + _impl_.feedback_response_.SetAllocated(feedback_response, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.feedback_response_.IsDefault()) { + _impl_.feedback_response_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:service.FeedbackResponse.feedback_response) +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace service + +PROTOBUF_NAMESPACE_OPEN + +template <> struct is_proto_enum< ::service::FaceModel> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::service::FaceModel>() { + return ::service::FaceModel_descriptor(); +} + +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_service_2eproto + +#endif diff --git a/ConvAI/Convai/Source/Convai/Private/RestAPI/ConvaiAPIBase.cpp b/ConvAI/Convai/Source/Convai/Private/RestAPI/ConvaiAPIBase.cpp new file mode 100644 index 0000000..8a92425 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/RestAPI/ConvaiAPIBase.cpp @@ -0,0 +1,173 @@ + +#include "RestAPI/ConvaiAPIBase.h" +#include "ConvaiUtils.h" + +DEFINE_LOG_CATEGORY(ConvaiBaseHttpLogs); + + +void UConvaiAPIBaseProxy::Activate() +{ + TSharedRef Request = CONVAI_HTTP_MODULE::Get().CreateRequest(); + + if (!ConfigureRequest(Request, TEXT(""))) + { + HandleFailure(); + return; + } + + Request->OnProcessRequestComplete().BindUObject(this, &ThisClass::OnHttpRequestComplete); + + if (Request->ProcessRequest()) + { + AddToRoot(); + } +} + +bool UConvaiAPIBaseProxy::ConfigureRequest(TSharedRef Request, const TCHAR* Verb) +{ + if (!UConvaiFormValidation::ValidateInputText(URL) || !UConvaiFormValidation::ValidateInputText(Verb)) + { + HandleFailure(); + return false; + } + + TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + FString AuthKey = AuthHeaderAndKey.Value; + FString AuthHeader = AuthHeaderAndKey.Key; + + if (!UConvaiFormValidation::ValidateAuthKey(AuthKey)) + { + HandleFailure(); + return false; + } + + Request->SetURL(URL); + Request->SetVerb(Verb); + Request->SetHeader(AuthHeader, AuthKey); + + // Child classes can add filed to this object + TSharedPtr ObjectToSend = MakeShareable(new FJsonObject); + if (AddContentToRequestAsString(ObjectToSend)) + { + Request->SetHeader(TEXT("Content-Type"), TEXT("application/json")); + + FString Content; + TSharedRef> Writer = TJsonWriterFactory<>::Create(&Content); + FJsonSerializer::Serialize(ObjectToSend.ToSharedRef(), Writer); + + Request->SetContentAsString(Content); + + return true; + } + + CONVAI_HTTP_PAYLOAD_ARRAY_TYPE DataToSend; + FString Boundary = TEXT("ConvaiPluginFormBoundary") + FString::FromInt(FDateTime::Now().GetTicks()); + if (AddContentToRequest(DataToSend, Boundary)) + { + if (FString(Verb).Equals(ConvaiHttpConstants::PUT)) + { + Request->SetHeader(TEXT("Content-Type"), TEXT("application/octet-stream")); + Request->SetContent(DataToSend); + return true; + } + + Request->SetHeader(TEXT("Content-Type"), FString::Printf(TEXT("multipart/form-data; boundary=----%s"), *Boundary)); + + // Add closing boundary + FString ClosingBoundary = FString::Printf(TEXT("\r\n------%s--\r\n"), *Boundary); + DataToSend.Append((uint8*)TCHAR_TO_UTF8(*ClosingBoundary), ClosingBoundary.Len()); + + // Set the request content and content length + Request->SetHeader(TEXT("Content-Length"), FString::FromInt(DataToSend.Num())); + Request->SetContent(DataToSend); + + return true; + } + + return true; +} + +void UConvaiAPIBaseProxy::OnHttpRequestComplete(CONVAI_HTTP_REQUEST_PTR Request, CONVAI_HTTP_RESPONSE_PTR Response, bool bWasSuccessful) +{ + if (!Response) + { + if (bWasSuccessful) + { + CONVAI_LOG(ConvaiBaseHttpLogs, Warning, TEXT("HTTP request succeded - But response pointer is invalid")); + } + else + { + CONVAI_LOG(ConvaiBaseHttpLogs, Warning, TEXT("HTTP request failed - Response pointer is invalid")); + } + + HandleFailure(); + return; + } + if (!bWasSuccessful || Response->GetResponseCode() < 200 || Response->GetResponseCode() > 299) + { + CONVAI_LOG(ConvaiBaseHttpLogs, Warning, TEXT("HTTP request failed with code %d, and with response:%s"), Response->GetResponseCode(), *Response->GetContentAsString()); + HandleFailure(); + return; + } + + ResponseString = Response->GetContentAsString(); + ResponseData = Response->GetContent(); + HandleSuccess(); +} + +void UConvaiAPIBaseProxy::HandleSuccess() +{ + RemoveFromRoot(); +} + +void UConvaiAPIBaseProxy::HandleFailure() +{ + RemoveFromRoot(); +} +// END Base api proxy + + + + + + +bool UConvaiAPITokenInBodyProxy::AddContentToRequest(CONVAI_HTTP_PAYLOAD_ARRAY_TYPE& DataToSend, const FString& Boundary) +{ + const TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + const FString AuthKey = AuthHeaderAndKey.Value; + const FString AuthHeader = AuthHeaderAndKey.Key; + + if (!UConvaiFormValidation::ValidateAuthKey(AuthKey)) + { + HandleFailure(); + return false; + } + + if (AuthHeader == ConvaiConstants::Auth_Token_Header) + { + const FString ExpIdField = FString::Printf(TEXT("\r\n------%s\r\nContent-Disposition: form-data; name=\"experience_session_id\"\r\n\r\n%s"), *Boundary, *AuthKey); + DataToSend.Append((uint8*)TCHAR_TO_UTF8(*ExpIdField), ExpIdField.Len()); + } + + return true; +} + +bool UConvaiAPITokenInBodyProxy::AddContentToRequestAsString(TSharedPtr& ObjectToSend) +{ + const TPair AuthHeaderAndKey = UConvaiUtils::GetAuthHeaderAndKey(); + const FString AuthKey = AuthHeaderAndKey.Value; + const FString AuthHeader = AuthHeaderAndKey.Key; + + if (!UConvaiFormValidation::ValidateAuthKey(AuthKey)) + { + HandleFailure(); + return false; + } + + if (AuthHeader == ConvaiConstants::Auth_Token_Header) + { + ObjectToSend->SetStringField(TEXT("experience_session_id"), AuthKey); + } + + return true; +} \ No newline at end of file diff --git a/ConvAI/Convai/Source/Convai/Private/RestAPI/ConvaiLTMProxy.cpp b/ConvAI/Convai/Source/Convai/Private/RestAPI/ConvaiLTMProxy.cpp new file mode 100644 index 0000000..bbe9ce6 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/RestAPI/ConvaiLTMProxy.cpp @@ -0,0 +1,328 @@ + +#include "RestAPI/ConvaiLTMProxy.h" +#include "RestAPI/ConvaiURL.h" +#include "ConvaiDefinitions.h" +#include "Utility/Log/ConvaiLogger.h" + +DEFINE_LOG_CATEGORY(LTMHttpLogs); + +UConvaiCreateSpeakerID* UConvaiCreateSpeakerID::ConvaiCreateSpeakerIDProxy(FString SpeakerName, FString DeviceId) +{ + UConvaiCreateSpeakerID* Proxy = NewObject(); + Proxy->URL = UConvaiURL::GetEndpoint(EConvaiEndpoint::NewSpeaker); + Proxy->AssociatedSpeakerName = SpeakerName; + Proxy->AssociatedDeviceId = DeviceId; + return Proxy; +} + +bool UConvaiCreateSpeakerID::ConfigureRequest(TSharedRef Request, const TCHAR* Verb) +{ + if (!Super::ConfigureRequest(Request, ConvaiHttpConstants::POST)) + { + return false; + } + + return true; +} + +bool UConvaiCreateSpeakerID::AddContentToRequestAsString(TSharedPtr& ObjectToSend) +{ + if (AssociatedSpeakerName.IsEmpty()) + { + CONVAI_LOG(LTMHttpLogs, Error, TEXT("Speaker name is empty")); + HandleFailure(); + return false; + } + + ObjectToSend->SetStringField(TEXT("name"), AssociatedSpeakerName); + + if (!AssociatedDeviceId.IsEmpty()) + { + ObjectToSend->SetStringField(TEXT("deviceId"), AssociatedDeviceId); + } + + return true; +} + +void UConvaiCreateSpeakerID::HandleSuccess() +{ + Super::HandleSuccess(); + + TSharedPtr JsonObject; + const TSharedRef> Reader = TJsonReaderFactory<>::Create(ResponseString); + + if (FJsonSerializer::Deserialize(Reader, JsonObject) && JsonObject.IsValid()) + { + JsonObject->TryGetStringField(TEXT("speaker_id"), AssociatedSpeakerInfo.SpeakerID); + JsonObject->TryGetStringField(TEXT("name"), AssociatedSpeakerInfo.Name); + JsonObject->TryGetStringField(TEXT("device_id"), AssociatedSpeakerInfo.DeviceID); + OnSuccess.Broadcast(AssociatedSpeakerInfo); + } + else + { + CONVAI_LOG(LTMHttpLogs, Error, TEXT("Parse Json failed")); + HandleFailure(); + } +} + +void UConvaiCreateSpeakerID::HandleFailure() +{ + Super::HandleFailure(); + OnFailure.Broadcast(FConvaiSpeakerInfo()); +} + + + + + +UConvaiListSpeakerID* UConvaiListSpeakerID::ConvaiListSpeakerIDProxy() +{ + UConvaiListSpeakerID* Proxy = NewObject(); + Proxy->URL = UConvaiURL::GetEndpoint(EConvaiEndpoint::SpeakerIDList); + return Proxy; +} + +bool UConvaiListSpeakerID::ConfigureRequest(TSharedRef Request, const TCHAR* Verb) +{ + if (!Super::ConfigureRequest(Request, ConvaiHttpConstants::POST)) + { + return false; + } + + return true; +} + +void UConvaiListSpeakerID::HandleSuccess() +{ + Super::HandleSuccess(); + + TArray SpeakerInfoArray; + if (UConvaiLTMUtils::ParseConvaiSpeakerInfoArray(ResponseString, SpeakerInfoArray)) + { + OnSuccess.Broadcast(SpeakerInfoArray); + } + else + { + CONVAI_LOG(LTMHttpLogs, Error, TEXT("Parse speaker id failed")); + HandleFailure(); + } +} + +void UConvaiListSpeakerID::HandleFailure() +{ + Super::HandleFailure(); + OnFailure.Broadcast(TArray()); +} + + + + + +UConvaiDeleteSpeakerID* UConvaiDeleteSpeakerID::ConvaiDeleteSpeakerIDProxy(FString SpeakerID) +{ + UConvaiDeleteSpeakerID* Proxy = NewObject(); + Proxy->URL = UConvaiURL::GetEndpoint(EConvaiEndpoint::DeleteSpeakerID); + Proxy->AssociatedSpeakerID = SpeakerID; + return Proxy; +} + +bool UConvaiDeleteSpeakerID::ConfigureRequest(TSharedRef Request, const TCHAR* Verb) +{ + if (!Super::ConfigureRequest(Request, ConvaiHttpConstants::POST)) + { + return false; + } + + return true; +} + +bool UConvaiDeleteSpeakerID::AddContentToRequestAsString(TSharedPtr& ObjectToSend) +{ + if (AssociatedSpeakerID.IsEmpty()) + { + HandleFailure(); + return false; + } + + ObjectToSend->SetStringField(TEXT("speakerId"), AssociatedSpeakerID); + + return true; +} + +void UConvaiDeleteSpeakerID::HandleSuccess() +{ + Super::HandleSuccess(); + OnSuccess.Broadcast(ResponseString); +} + +void UConvaiDeleteSpeakerID::HandleFailure() +{ + Super::HandleFailure(); + OnFailure.Broadcast(TEXT("Http req failed")); +} + + + + + +UConvaiGetLTMStatus* UConvaiGetLTMStatus::ConvaiGetLTMStatusProxy(FString CharacterID) +{ + UConvaiGetLTMStatus* Proxy = NewObject(); + Proxy->URL = UConvaiURL::GetEndpoint(EConvaiEndpoint::CharacterGet); + Proxy->AssociatedCharacterID = CharacterID; + return Proxy; +} + +bool UConvaiGetLTMStatus::ConfigureRequest(TSharedRef Request, const TCHAR* Verb) +{ + if (!Super::ConfigureRequest(Request, ConvaiHttpConstants::POST)) + { + return false; + } + + return true; +} + +bool UConvaiGetLTMStatus::AddContentToRequestAsString(TSharedPtr& ObjectToSend) +{ + if (AssociatedCharacterID.IsEmpty()) + { + HandleFailure(); + return false; + } + + ObjectToSend->SetStringField(TEXT("charID"), AssociatedCharacterID); + + return true; +} + +void UConvaiGetLTMStatus::HandleSuccess() +{ + Super::HandleSuccess(); + bool bEnabled; + if (UConvaiLTMUtils::GetLTMStatus(ResponseString, bEnabled)) + { + OnSuccess.Broadcast(bEnabled); + } + else + { + CONVAI_LOG(LTMHttpLogs, Error, TEXT("GetLTMStatus failed")); + HandleFailure(); + } +} + +void UConvaiGetLTMStatus::HandleFailure() +{ + Super::HandleFailure(); + OnFailure.Broadcast(false); +} + + + + + +UConvaiSetLTMStatus* UConvaiSetLTMStatus::ConvaiSetLTMStatusProxy(FString CharacterID, bool bEnable) +{ + + UConvaiSetLTMStatus* Proxy = NewObject(); + Proxy->URL = UConvaiURL::GetEndpoint(EConvaiEndpoint::CharacterUpdate); + Proxy->AssociatedCharacterID = CharacterID; + Proxy->bAssociatedEnable = bEnable; + return Proxy; +} + +bool UConvaiSetLTMStatus::ConfigureRequest(TSharedRef Request, const TCHAR* Verb) +{ + if (!Super::ConfigureRequest(Request, ConvaiHttpConstants::POST)) + { + return false; + } + + return true; +} + +bool UConvaiSetLTMStatus::AddContentToRequestAsString(TSharedPtr& ObjectToSend) +{ + if (AssociatedCharacterID.IsEmpty()) + { + HandleFailure(); + return false; + } + + ObjectToSend->SetStringField(TEXT("charID"), AssociatedCharacterID); + + TSharedPtr MemorySettings = MakeShared(); + MemorySettings->SetBoolField(TEXT("enabled"), bAssociatedEnable); + + ObjectToSend->SetObjectField(TEXT("memorySettings"), MemorySettings); + + return true; +} + +void UConvaiSetLTMStatus::HandleSuccess() +{ + Super::HandleSuccess(); + OnSuccess.Broadcast(ResponseString); +} + +void UConvaiSetLTMStatus::HandleFailure() +{ + Super::HandleFailure(); + OnFailure.Broadcast(ResponseString); +} + + + + + +bool UConvaiLTMUtils::ParseConvaiSpeakerInfoArray(const FString& JsonString, TArray& OutSpeakerInfoArray) +{ + OutSpeakerInfoArray.Empty(); + + const TSharedRef> Reader = TJsonReaderFactory<>::Create(JsonString); + TArray> JsonArray; + + if (FJsonSerializer::Deserialize(Reader, JsonArray)) + { + for (const TSharedPtr& JsonValue : JsonArray) + { + TSharedPtr JsonObject = JsonValue->AsObject(); + if (JsonObject.IsValid()) + { + FConvaiSpeakerInfo SpeakerInfo; + JsonObject->TryGetStringField(TEXT("speaker_id"), SpeakerInfo.SpeakerID); + JsonObject->TryGetStringField(TEXT("name"), SpeakerInfo.Name); + JsonObject->TryGetStringField(TEXT("device_id"), SpeakerInfo.DeviceID); + + OutSpeakerInfoArray.Add(SpeakerInfo); + } + } + return true; + } + + return false; +} + +bool UConvaiLTMUtils::GetLTMStatus(const FString& JsonString, bool& bEnabled) +{ + bEnabled = false; + + TSharedRef> Reader = TJsonReaderFactory<>::Create(JsonString); + TSharedPtr JsonObject; + + if (FJsonSerializer::Deserialize(Reader, JsonObject) && JsonObject.IsValid()) + { + if (JsonObject->HasField(TEXT("memory_settings"))) + { + TSharedPtr MemorySettingsObject = JsonObject->GetObjectField(TEXT("memory_settings")); + if (MemorySettingsObject.IsValid() && MemorySettingsObject->HasField(TEXT("enabled"))) + { + bEnabled = MemorySettingsObject->GetBoolField(TEXT("enabled")); + return true; + } + } + } + + return false; +} + diff --git a/ConvAI/Convai/Source/Convai/Private/RestAPI/ConvaiURL.cpp b/ConvAI/Convai/Source/Convai/Private/RestAPI/ConvaiURL.cpp new file mode 100644 index 0000000..1fb836d --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/RestAPI/ConvaiURL.cpp @@ -0,0 +1,157 @@ +#include "RestAPI/ConvaiURL.h" +#include "Misc/CommandLine.h" +#include "../Convai.h" +#include "Utility/Log/ConvaiLogger.h" + +// Define static members +const TCHAR UConvaiURL::BETA_SUBDOMAIN[] = TEXT("beta"); +const TCHAR UConvaiURL::PROD_SUBDOMAIN[] = TEXT("api"); +const TCHAR UConvaiURL::BASE_URL[] = TEXT("https://%s.convai.com/"); +const TCHAR UConvaiURL::BASE_URL_FORMAT[] = TEXT("https://{0}.convai.com/"); + +const TCHAR UConvaiURL::LTM_SUBDOMAIN[] = TEXT("user/speaker/"); +const TCHAR UConvaiURL::USER_SUBDOMAIN[] = TEXT("user/"); +const TCHAR UConvaiURL::CHARACTER_SUBDOMAIN[] = TEXT("character/"); +const TCHAR UConvaiURL::NARRATIVE_DESIGN_SUBDOMAIN[] = TEXT("character/narrative/"); + +TArray UConvaiURL::BetaEndpoints; + +FString UConvaiURL::CustomBetaBaseURL = TEXT(""); +FString UConvaiURL::CustomProdBaseURL = TEXT(""); +bool UConvaiURL::bURLConfigInitialized = false; + +void UConvaiURL::InitializeURLConfig() +{ + if (bURLConfigInitialized) + { + return; + } + + // First check settings + FString SettingsBetaURL = Convai::Get().GetConvaiSettings()->CustomBetaURL; + SettingsBetaURL.TrimEndInline(); + SettingsBetaURL.TrimStartInline(); + if (!SettingsBetaURL.IsEmpty()) + { + CustomBetaBaseURL = SettingsBetaURL; + CONVAI_LOG(LogTemp, Log, TEXT("Using beta URL from settings: %s"), *CustomBetaBaseURL); + } + + FString SettingsProdURL = Convai::Get().GetConvaiSettings()->CustomProdURL; + SettingsProdURL.TrimEndInline(); + SettingsProdURL.TrimStartInline(); + if (!SettingsProdURL.IsEmpty()) + { + CustomProdBaseURL = SettingsProdURL; + CONVAI_LOG(LogTemp, Log, TEXT("Using prod URL from settings: %s"), *CustomProdBaseURL); + } + + // Then check command line parameters (these will override settings if present) + FString BetaURL; + if (FParse::Value(FCommandLine::Get(), TEXT("ConvaiBetaURL="), BetaURL)) + { + CustomBetaBaseURL = BetaURL; + CONVAI_LOG(LogTemp, Log, TEXT("Using custom beta URL from command line: %s"), *CustomBetaBaseURL); + } + + FString ProdURL; + if (FParse::Value(FCommandLine::Get(), TEXT("ConvaiProdURL="), ProdURL)) + { + CustomProdBaseURL = ProdURL; + CONVAI_LOG(LogTemp, Log, TEXT("Using custom prod URL from command line: %s"), *CustomProdBaseURL); + } + + bURLConfigInitialized = true; +} + +FString UConvaiURL::GetBaseURL(const bool bUseBeta) +{ + InitializeURLConfig(); + + if (bUseBeta) + { + if (!CustomBetaBaseURL.IsEmpty()) + { + return CustomBetaBaseURL; + } + return TEXT("https://beta.convai.com"); + } + else + { + if (!CustomProdBaseURL.IsEmpty()) + { + return CustomProdBaseURL; + } + return TEXT("https://api.convai.com"); + } +} + +FString UConvaiURL::GetFullURL(const FString& ApiPath, const bool bUseBeta) +{ + FString BaseURL = GetBaseURL(bUseBeta); + + // Ensure the base URL ends with a slash and the API path doesn't start with one + if (!BaseURL.EndsWith(TEXT("/"))) + { + BaseURL += TEXT("/"); + } + + FString Path = ApiPath; + if (Path.StartsWith(TEXT("/"))) + { + Path = Path.RightChop(1); + } + + return BaseURL + Path; +} + +FString UConvaiURL::GetFormattedBaseURL(const FString& Subdomain) +{ + return FString::Format(BASE_URL_FORMAT, { Subdomain }); +} + +FString UConvaiURL::GetEndpoint(const EConvaiEndpoint Endpoint) +{ + FString Api; + switch (Endpoint) + { + case EConvaiEndpoint::NewSpeaker: + Api = FString(LTM_SUBDOMAIN) + TEXT("new"); + break; + case EConvaiEndpoint::SpeakerIDList: + Api = FString(LTM_SUBDOMAIN) + TEXT("list"); + break; + case EConvaiEndpoint::DeleteSpeakerID: + Api = FString(LTM_SUBDOMAIN) + TEXT("delete"); + break; + case EConvaiEndpoint::ReferralSourceStatus: + Api = FString(USER_SUBDOMAIN) + TEXT("referral-source-status"); + break; + case EConvaiEndpoint::UpdateReferralSource: + Api = FString(USER_SUBDOMAIN) + TEXT("update-source"); + break; + case EConvaiEndpoint::UserAPIUsage: + Api = FString(USER_SUBDOMAIN) + TEXT("user-api-usage"); + break; + case EConvaiEndpoint::CharacterUpdate: + Api = FString(CHARACTER_SUBDOMAIN) + TEXT("update"); + break; + case EConvaiEndpoint::CharacterGet: + Api = FString(CHARACTER_SUBDOMAIN) + TEXT("get"); + break; + case EConvaiEndpoint::ListCharacterSections: + Api = FString(NARRATIVE_DESIGN_SUBDOMAIN) + TEXT("list-sections"); + break; + case EConvaiEndpoint::ListCharacterTriggers: + Api = FString(NARRATIVE_DESIGN_SUBDOMAIN) + TEXT("list-triggers"); + break; + default: + CONVAI_LOG(LogTemp, Warning, TEXT("Invalid endpoint!")); + return FString(); + } + + const bool bOnProd = !BetaEndpoints.Contains(Endpoint); + const FString Subdomain = bOnProd ? FString(PROD_SUBDOMAIN) : FString(BETA_SUBDOMAIN); + + return GetFormattedBaseURL(Subdomain) + Api; +} diff --git a/ConvAI/Convai/Source/Convai/Private/Utility/Log/ConvaiLogger.cpp b/ConvAI/Convai/Source/Convai/Private/Utility/Log/ConvaiLogger.cpp new file mode 100644 index 0000000..302a350 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/Utility/Log/ConvaiLogger.cpp @@ -0,0 +1,196 @@ + +#include "Utility/Log/ConvaiLogger.h" +#include "Misc/DateTime.h" +#include "Misc/Paths.h" +#include "HAL/PlatformFileManager.h" +#include "HAL/PlatformFile.h" +#include "Misc/App.h" +#include "HAL/PlatformProcess.h" // for FPlatformProcess +#include "HAL/Event.h" // for FEvent methods + +FConvaiLogger &FConvaiLogger::Get() +{ + static FConvaiLogger Instance; + return Instance; +} + +FConvaiLogger::FConvaiLogger() + : Thread(nullptr), WakeEvent(FPlatformProcess::GetSynchEventFromPool(false)), bStopping(false) +{ + StartThread(); +} + +FConvaiLogger::~FConvaiLogger() +{ + ShutdownThread(); + if (WakeEvent) + { + FPlatformProcess::ReturnSynchEventToPool(WakeEvent); + } +} + +void FConvaiLogger::StartThread() +{ + // Logs go in "/Saved/ConvaiLogs" + const FString LogDir = FPaths::Combine( + FPaths::ProjectDir(), + TEXT("Saved"), + TEXT("ConvaiLogs")); + IPlatformFile &Plat = FPlatformFileManager::Get().GetPlatformFile(); + Plat.CreateDirectoryTree(*LogDir); + + FString PixelStreamingPort=TEXT("Default"); + FParse::Value(FCommandLine::Get(), TEXT("PixelStreamingPort="), PixelStreamingPort); + + // Build base filename: ProjectName_YYYYMMDD_HHMMSS[_Port] + const FString Timestamp = FDateTime::Now().ToString(TEXT("%Y%m%d_%H%M%S")); + FString BaseName = FString::Printf(TEXT("%s_%s"), + FApp::GetProjectName(), + *Timestamp); + if (!PixelStreamingPort.IsEmpty()) + { + BaseName += FString::Printf(TEXT("_%s"), *PixelStreamingPort); + } + + // 2) Ensure uniqueness by appending _1, _2, ... if file already exists + FString FileName = BaseName + TEXT(".log"); + FString CandidatePath = FPaths::Combine(LogDir, FileName); + + int32 Suffix = 1; + while (Plat.FileExists(*CandidatePath)) + { + FileName = FString::Printf(TEXT("%s_%d.log"), *BaseName, Suffix++); + CandidatePath = FPaths::Combine(LogDir, FileName); + } + + // Finally assign the unique path + LogFilePath = CandidatePath; + + // Start the logger thread as before + Thread = FRunnableThread::Create( + this, + TEXT("ConvaiLoggerThread"), + 0, + TPri_BelowNormal); +} + +void FConvaiLogger::ShutdownThread() +{ + bStopping = true; + if (WakeEvent) + WakeEvent->Trigger(); + + if (Thread) + { + Thread->WaitForCompletion(); + delete Thread; + Thread = nullptr; + } +} + +uint32 FConvaiLogger::Run() +{ + while (!bStopping) + { + WakeEvent->Wait(500); + + TArray Batch; + FString Msg; + while (MessageQueue.Dequeue(Msg)) + { + Batch.Add(Msg); + } + + if (Batch.Num()) + { + FString Combined = FString::Join(Batch, TEXT("\n")) + TEXT("\n"); + IPlatformFile &Plat = FPlatformFileManager::Get().GetPlatformFile(); + if (IFileHandle *Handle = Plat.OpenWrite(*LogFilePath, /*bAppend=*/true)) + { + FTCHARToUTF8 Converter(*Combined); + Handle->Write(reinterpret_cast(Converter.Get()), Converter.Length()); + Handle->Flush(); + delete Handle; + } + } + } + + { + TArray FinalBatch; + FString Rem; + while (MessageQueue.Dequeue(Rem)) + { + FinalBatch.Add(Rem); + } + if (FinalBatch.Num()) + { + const FString Combined = FString::Join(FinalBatch, TEXT("\n")) + TEXT("\n"); + IPlatformFile &Plat = FPlatformFileManager::Get().GetPlatformFile(); + if (IFileHandle *Handle = Plat.OpenWrite(*LogFilePath, /*bAppend=*/true)) + { + const FTCHARToUTF8 Converter(*Combined); + Handle->Write(reinterpret_cast(Converter.Get()), Converter.Length()); + Handle->Flush(); + delete Handle; + } + } + } + + return 0; +} + +void FConvaiLogger::Stop() +{ + bStopping = true; +} + +void FConvaiLogger::Log(const FString &Message) +{ + const FString Formatted = FString::Printf( + TEXT("[%s] %s"), + *FDateTime::Now().ToString(TEXT("%H:%M:%S")), + *Message); + MessageQueue.Enqueue(Formatted); + if (WakeEvent) + WakeEvent->Trigger(); +} + +void UConvaiBlueprintLogger::C_ConvaiLog(UObject *WorldContextObject, EC_LogLevel Verbosity, const FString &Message) +{ + const FString ContextName = WorldContextObject + ? WorldContextObject->GetName() + : TEXT("UnknownContext"); + + const UEnum *EnumPtr = StaticEnum(); + const FString VerbName = EnumPtr + ? EnumPtr->GetNameStringByValue(static_cast(Verbosity)) + : TEXT("UnknownVerbosity"); + + const FString FullMessage = FString::Printf( + TEXT("%s : %s : %s"), + *ContextName, *VerbName, *Message); + + switch (Verbosity) + { + case EC_LogLevel::Verbose: + UE_LOG(LogTemp, Verbose, TEXT("%s"), *FullMessage); + break; + case EC_LogLevel::Log: + UE_LOG(LogTemp, Log, TEXT("%s"), *FullMessage); + break; + case EC_LogLevel::Warning: + UE_LOG(LogTemp, Warning, TEXT("%s"), *FullMessage); + break; + case EC_LogLevel::Error: + UE_LOG(LogTemp, Error, TEXT("%s"), *FullMessage); + break; + case EC_LogLevel::Fatal: + UE_LOG(LogTemp, Fatal, TEXT("%s"), *FullMessage); + break; + default: + UE_LOG(LogTemp, Log, TEXT("%s"), *FullMessage); + break; + } + + FConvaiLogger::Get().Log(FullMessage); +} diff --git a/ConvAI/Convai/Source/Convai/Private/getentropy_compact.c b/ConvAI/Convai/Source/Convai/Private/getentropy_compact.c new file mode 100644 index 0000000..39108a2 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Private/getentropy_compact.c @@ -0,0 +1,32 @@ +#pragma warning (disable:4668) // 'expression' : signed/unsigned mismatch + +#ifdef PLATFORM_LINUX + #if PLATFORM_LINUX + + #include + #include + #include + + int getentropy(void *buffer, size_t length) { + if (length > 256) { + errno = EIO; + return -1; + } + + int fd = open("/dev/urandom", O_RDONLY); + if (fd == -1) { + return -1; + } + + ssize_t result = read(fd, buffer, length); + int saved_errno = errno; + close(fd); + if (result != (ssize_t)length) { + errno = saved_errno; + return -1; + } + + return 0; + } + #endif +#endif \ No newline at end of file diff --git a/ConvAI/Convai/Source/Convai/Public/ConvaiActionUtils.h b/ConvAI/Convai/Source/Convai/Public/ConvaiActionUtils.h new file mode 100644 index 0000000..50dc480 --- /dev/null +++ b/ConvAI/Convai/Source/Convai/Public/ConvaiActionUtils.h @@ -0,0 +1,40 @@ +// Copyright 2022 Convai Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Kismet/BlueprintFunctionLibrary.h" +#include "ConvaiDefinitions.h" +#include "ConvaiActionUtils.generated.h" + +DECLARE_LOG_CATEGORY_EXTERN(ConvaiActionUtilsLog, Log, All); + +class UConvaiEnvironment; +struct FConvaiResultAction; +struct FConvaiObjectEntry; + + +UCLASS() +class UConvaiActions : public UBlueprintFunctionLibrary +{ + GENERATED_BODY() +public: + + // Function to split a string based on commas, but ignoring commas within quotes + static TArray SmartSplit(const FString& SequenceString); + + // Extract text from an action result (e.g. Says "I love AI" -> I love AI) + static FString ExtractText(FString Action, FString ActionResult); + + // Extract number from an action result (e.g. Waits for 5 seconds -> 5) + static float ExtractNumber(FString ActionResult); + + static FString FindAction(FString ActionToBeParsed, TArray Actions); + + // Removes inner descriptions from a string e.g. (Waits for