public static DynValue tmpfile(ScriptExecutionContext executionContext, CallbackArguments args) { string tmpfilename = Script.GlobalOptions.Platform.IO_OS_GetTempFilename(); FileUserDataBase file = Open(executionContext, tmpfilename, GetUTF8Encoding(), "w"); return(UserData.Create(file)); }
public static DynValue flush(ScriptExecutionContext executionContext, CallbackArguments args) { FileUserDataBase outp = args.AsUserData <FileUserDataBase>(0, "close", true) ?? GetDefaultFile(executionContext, StandardFileType.StdOut); outp.flush(); return(DynValue.True); }
public static DynValue type(ScriptExecutionContext executionContext, CallbackArguments args) { if (args[0].Type != DataType.UserData) return DynValue.Nil; FileUserDataBase file = args[0].UserData.Object as FileUserDataBase; if (file == null) return DynValue.Nil; else if (file.isopen()) return DynValue.NewString("file"); else return DynValue.NewString("closed file"); }
private static void SetStandardFile(Script S, StandardFileType file, Stream optionsStream) { Table R = S.Registry; optionsStream = optionsStream ?? Script.GlobalOptions.Platform.IO_GetStandardStream(file); FileUserDataBase udb = null; if (file == StandardFileType.StdIn) udb = StandardIOFileUserDataBase.CreateInputStream(optionsStream); else udb = StandardIOFileUserDataBase.CreateOutputStream(optionsStream); R.Set("853BEAAF298648839E2C99D005E1DF94_STD_" + file.ToString(), UserData.Create(udb)); }
private static DynValue HandleDefaultStreamSetter(ScriptExecutionContext executionContext, CallbackArguments args, StandardFileType defaultFiles) { if (args.Count == 0 || args[0].IsNil()) { var file = GetDefaultFile(executionContext, defaultFiles); return(UserData.Create(file)); } FileUserDataBase inp = null; if (args[0].Type == DataType.String || args[0].Type == DataType.Number) { string fileName = args[0].CastToString(); inp = Open(executionContext, fileName, GetUTF8Encoding(), defaultFiles == StandardFileType.StdIn ? "r" : "w"); } else { inp = args.AsUserData <FileUserDataBase>(0, defaultFiles == StandardFileType.StdIn ? "input" : "output", false); } SetDefaultFile(executionContext, defaultFiles, inp); return(UserData.Create(inp)); }
public static DynValue write(ScriptExecutionContext executionContext, CallbackArguments args) { FileUserDataBase file = GetDefaultFile(executionContext, StandardFileType.StdOut); return(file.write(executionContext, args)); }
internal static void SetDefaultFile(Script script, StandardFileType file, FileUserDataBase fileHandle) { Table R = script.Registry; R.Set("853BEAAF298648839E2C99D005E1DF94_" + file.ToString(), UserData.Create(fileHandle)); }
static void SetDefaultFile(ScriptExecutionContext executionContext, StandardFileType file, FileUserDataBase fileHandle) { SetDefaultFile(executionContext.GetScript(), file, fileHandle); }
public static DynValue close(ScriptExecutionContext executionContext, CallbackArguments args) { FileUserDataBase outp = args.AsUserData <FileUserDataBase>(0, "close", true) ?? GetDefaultFile(executionContext, DefaultFiles.Out); return(outp.close(executionContext, args)); }
static void SetDefaultFile(ScriptExecutionContext executionContext, DefaultFiles file, FileUserDataBase fileHandle) { Table R = executionContext.GetScript().Registry; R.Set("853BEAAF298648839E2C99D005E1DF94_" + file.ToString(), UserData.Create(fileHandle)); }
public static DynValue tmpfile(ScriptExecutionContext executionContext, CallbackArguments args) { FileUserDataBase file = Open(System.IO.Path.GetTempFileName(), GetUTF8Encoding(), "w"); return(UserData.Create(file)); }
public static DynValue read(ScriptExecutionContext executionContext, CallbackArguments args) { FileUserDataBase file = GetDefaultFile(executionContext, DefaultFiles.In); return(file.read(executionContext, args)); }
public static DynValue read(ScriptExecutionContext executionContext, CallbackArguments args) { FileUserDataBase file = GetDefaultFile(executionContext, StandardFileType.StdIn); return file.read(executionContext, args); }
public static DynValue close(ScriptExecutionContext executionContext, CallbackArguments args) { FileUserDataBase outp = args.AsUserData <FileUserDataBase>(0, "startGame", true) ?? GetDefaultFile(executionContext, StandardFileType.StdOut); return(outp.close(executionContext, args)); }