Initial Commit
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using Meta.WitAi.Data;
|
||||
using Meta.WitAi.Json;
|
||||
using Meta.Conduit;
|
||||
|
||||
namespace Meta.WitAi
|
||||
{
|
||||
[Obsolete ("Use ParameterProvider.SetSpecializedParameter() instead of this class")]
|
||||
internal class WitConduitParameterProvider : ParameterProvider
|
||||
{
|
||||
protected override object GetSpecializedParameter(ParameterInfo formalParameter)
|
||||
{
|
||||
if (formalParameter.ParameterType == typeof(WitResponseNode) && ActualParameters.ContainsKey(WitResponseNodeReservedName.ToLower()))
|
||||
{
|
||||
return ActualParameters[WitResponseNodeReservedName.ToLower()];
|
||||
}
|
||||
if (formalParameter.ParameterType == typeof(VoiceSession) && ActualParameters.ContainsKey(VoiceSessionReservedName.ToLower()))
|
||||
{
|
||||
return ActualParameters[VoiceSessionReservedName.ToLower()];
|
||||
}
|
||||
|
||||
// Log warning when not found
|
||||
StringBuilder error = new StringBuilder();
|
||||
error.AppendLine("Specialized parameter not found");
|
||||
error.AppendLine($"Parameter Type: {formalParameter.ParameterType}");
|
||||
error.AppendLine($"Parameter Name: {formalParameter.Name}");
|
||||
error.AppendLine($"Actual Parameters: {ActualParameters.Keys.Count}");
|
||||
foreach (var key in ActualParameters.Keys)
|
||||
{
|
||||
string val = ActualParameters[key] == null ? "NULL" : ActualParameters[key].GetType().ToString();
|
||||
error.AppendLine($"\t{key}: {val}");
|
||||
}
|
||||
VLog.W(error.ToString());
|
||||
return null;
|
||||
}
|
||||
|
||||
protected override bool SupportedSpecializedParameter(ParameterInfo formalParameter)
|
||||
{
|
||||
return formalParameter.ParameterType == typeof(WitResponseNode) || formalParameter.ParameterType == typeof(VoiceSession);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user