/// <summary> /// Creates a FREObject /// </summary> /// <param name="value"></param> /// <param name="className">Name of the Class</param> /// <param name="args">Arguments to pass to the Class</param> /// <returns></returns> public static FREObject Init(this FREObject value, string className, params object[] args) { uint resultPtr = 0; var argsArr = new ArrayList(); if (args != null) { for (var i = 0; i < args.Length; i++) { argsArr.Add(args.ElementAt(i)); } } var rawValue = FreSharpHelper.Core.getFREObject(className, FreSharpHelper.ArgsToArgv(argsArr), FreSharpHelper.GetArgsC(argsArr), ref resultPtr); var status = (FreResultSharp)resultPtr; if (status == FreResultSharp.Ok) { return(rawValue); } FreSharpHelper.ThrowFreException(status, "cannot create class " + className, rawValue); return(FREObject.Zero); }
/// <summary> /// Calls a method on a FREObject /// </summary> /// <param name="inFre"></param> /// <param name="method">The method name</param> /// <param name="args">Arguments to pass to the method</param> /// <returns></returns> public static FREObject Call(this FREObject inFre, string method, params object[] args) { uint resultPtr = 0; var argsArr = new ArrayList(); if (args != null) { for (var i = 0; i < args.Length; i++) { argsArr.Add(args.ElementAt(i)); } } var ret = FreSharpHelper.Core.callMethod(inFre, method, FreSharpHelper.ArgsToArgv(argsArr), FreSharpHelper.GetArgsC(argsArr), ref resultPtr); var status = (FreResultSharp)resultPtr; if (status == FreResultSharp.Ok) { return(ret); } FreSharpHelper.ThrowFreException(status, "cannot call method " + method, ret); return(FREObject.Zero); }
/// <summary> /// Calls a method on a FREArray /// </summary> /// <param name="inFre"></param> /// <param name="methodName">The method name</param> /// <param name="args">Arguments to pass to the method</param> /// <returns></returns> public static FREArray Call(this FREObject inFre, string methodName, ArrayList args) { uint resultPtr = 0; var ret = new FREArray(FreSharpHelper.Core.callMethod(inFre, methodName, FreSharpHelper.ArgsToArgv(args), FreSharpHelper.GetArgsC(args), ref resultPtr)); var status = (FreResultSharp)resultPtr; if (status == FreResultSharp.Ok) { return(ret); } FreSharpHelper.ThrowFreException(status, "cannot call method " + methodName, ret.RawValue); return(null); }
/// <summary> /// /// </summary> /// <param name="value"></param> /// <param name="name"></param> /// <returns></returns> public static FREObject Init(this FREObject value, string name) { uint resultPtr = 0; var argsArr = new ArrayList(); var rawValue = FreSharpHelper.Core.getFREObject(name, FreSharpHelper.ArgsToArgv(argsArr), FreSharpHelper.GetArgsC(argsArr), ref resultPtr); var status = (FreResultSharp)resultPtr; if (status == FreResultSharp.Ok) { return(rawValue); } FreSharpHelper.ThrowFreException(status, "cannot create class " + name, rawValue); return(FREObject.Zero); }