public CefCallbackType(CefStructType parent, StructCategory category, string name, CefConfigData cefConfig, Parser.SignatureData sd, ApiTypeBuilder api, CommentData comments) : base(name) { this.Parent = parent; this.Comments = comments; if (cefConfig == null) { CefConfig = new CefConfigData(); } else { CefConfig = cefConfig; } if (category == StructCategory.ApiCallbacks) { m_callMode = CfxCallMode.Callback; this.Signature = Signature.Create(SignatureType.ClientCallback, this, sd, api); } else { m_callMode = CfxCallMode.FunctionCall; this.Signature = Signature.Create(SignatureType.LibraryCall, this, sd, api); } }
public CefCallbackFunction(CefStructType parent, StructCategory category, string name, CefConfigNode cefConfig, Parser.SignatureNode sd, ApiTypeBuilder api, CommentNode comments) { Name = name; this.Parent = parent; this.Comments = comments; if (cefConfig == null) { CefConfig = new CefConfigNode(); } else { CefConfig = cefConfig; } if (category == StructCategory.Client) { m_callMode = CfxCallMode.Callback; this.Signature = Signature.Create(SignatureType.ClientCallback, CefName, CefConfig, CallMode, sd, api); } else { m_callMode = CfxCallMode.FunctionCall; this.Signature = Signature.Create(SignatureType.LibraryCall, CefName, CefConfig, CallMode, sd, api); } }
public bool IsPropertySetterFor(CefCallbackFunction getter) { var retval = IsPropertySetterForPrivate(getter); if (retval) { m_callMode = CfxCallMode.PropertySetter; } return(retval); }
public bool IsPropertyGetter(ref bool isBoolean) { var retval = IsPropertyGetterPrivate(ref isBoolean); if (retval) { m_callMode = CfxCallMode.PropertyGetter; } return(retval); }
public override void DebugPrintUnhandledArrayParameters(string cefName, CefConfigNode cefConfig, CfxCallMode callMode) { }
public virtual void DebugPrintUnhandledArrayArguments(string cefName, CefConfigData cefConfig, CfxCallMode callMode) { if (cefName == "cef_binary_value_create") { return; } if (cefName == "cef_binary_value::get_data") { return; } if (cefName == "cef_resource_handler::get_response_headers") { return; } if (cefName == "cef_resource_bundle_handler::get_data_resource") { return; } if (cefName == "cef_resource_bundle_handler::get_data_resource_for_scale") { return; } if (cefName == "cef_urlrequest_client::on_download_data") { return; } if (cefName == "cef_zip_reader::read_file") { return; } if (cefName == "cef_resource_bundle::get_data_resource") { return; } if (cefName == "cef_resource_bundle::get_data_resource_for_scale") { return; } if (cefName == "cef_response_filter::filter") { return; } if (cefName.StartsWith("cef_image::add_")) { return; } for (var i = 0; i <= Arguments.Length - 1; i++) { var suffixLength = CountArgumentSuffixLength(Arguments[i]); if (suffixLength > 0) { var arrName = Arguments[i].VarName.Substring(0, Arguments[i].VarName.Length - suffixLength); if (i > 0 && Arguments[i - 1].VarName.StartsWith(arrName)) { Debug.Print("UnhandledArrayArgument {0} {1} {2} {3}", callMode, cefName, Arguments[i - 1], Arguments[i]); } else if (i < Arguments.Length - 1 && Arguments[i + 1].VarName.StartsWith(arrName)) { Debug.Print("UnhandledArrayArgument {0} {1} {2} {3}", callMode, cefName, Arguments[i], Arguments[i + 1]); } else { } } } }
public static Signature Create(SignatureType type, string cefName, CefConfigData cefConfig, CfxCallMode callMode, Parser.SignatureData sd, ApiTypeBuilder api) { var s = new Signature(type, sd, api); var cs = CustomSignatures.ForFunction(s, cefName, cefConfig); if (cs == null) { s.DebugPrintUnhandledArrayArguments(cefName, cefConfig, callMode); AllSignatures.Add(s); return(s); } else { cs.DebugPrintUnhandledArrayArguments(cefName, cefConfig, callMode); AllSignatures.Add(cs); return(cs); } }
public override void DebugPrintUnhandledArrayArguments(string cefName, CefConfigData cefConfig, CfxCallMode callMode) { }
public virtual void DebugPrintUnhandledArrayParameters(string cefName, CefConfigNode cefConfig, CfxCallMode callMode) { if (cefName == "cef_resource_handler::get_response_headers") { return; } for (var i = 0; i <= Parameters.Length - 1; i++) { var suffixLength = CountParameterSuffixLength(Parameters[i]); if (suffixLength > 0) { var arrName = Parameters[i].VarName.Substring(0, Parameters[i].VarName.Length - suffixLength); int iArray = -1; if (i > 0 && Parameters[i - 1].VarName.StartsWith(arrName)) { iArray = i - 1; } else if (i < Parameters.Length - 1 && Parameters[i + 1].VarName.StartsWith(arrName)) { iArray = i + 1; } else { } if (iArray >= 0) { switch (Parameters[iArray].ParameterType.Name) { case "void*": case "void**": //binary data break; default: Debug.Print("UnhandledArrayArgument {0} {1} {2} {3}", callMode, cefName, Parameters[i], Parameters[iArray]); break; } } } } }