mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 20:39:01 +00:00
43 lines
2 KiB
C#
43 lines
2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using IO = System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using Cosmos.IL2CPU.Plugs;
|
|
|
|
namespace Cosmos.System.Plugs.System.IO {
|
|
[Plug(Target = typeof(IO::FileStream))]
|
|
public class FileStreamImpl {
|
|
|
|
//[PlugField(FieldId = "$$Storage$$", FieldType = typeof(char[]))]
|
|
//[PlugField(FieldId = "System.Char System.String.m_firstChar", IsExternalValue = true)]
|
|
//public static class StringImpl {
|
|
// //[PlugMethod(Signature = "System_Void__System_String__ctor_System_Char____System_Int32__System_Int32_")]
|
|
// public static unsafe void Ctor(String aThis, [FieldAccess(Name = "$$Storage$$")]ref Char[] aStorage, Char[] aChars, int aStartIndex, int aLength,
|
|
// [FieldAccess(Name = "System.Int32 System.String.m_stringLength")] ref int aStringLength,
|
|
// [FieldAccess(Name = "System.Char System.String.m_firstChar")] ref char* aFirstChar) {
|
|
// Char[] newChars = new Char[aLength];
|
|
// Array.Copy(aChars, aStartIndex, newChars, 0, aLength);
|
|
// aStorage = newChars;
|
|
// aStringLength = newChars.Length;
|
|
// fixed (char* xFirstChar = &aStorage[0]) {
|
|
// aFirstChar = xFirstChar;
|
|
// }
|
|
// }
|
|
|
|
static public void Ctor(IO::FileStream aThis, string aPathname, IO::FileMode aMode) {
|
|
}
|
|
|
|
static public void CCtor() {
|
|
// plug cctor as it (indirectly) uses Thread.MemoryBarrier()
|
|
}
|
|
|
|
static public int Read(IO::FileStream aThis, byte[] aBuffer, int aOffset, int aCount) {
|
|
return 0;
|
|
}
|
|
|
|
//static void Init(IO::FileStream aThis, string path, IO::FileMode mode, IO::FileAccess access, int rights, bool useRights, IO::FileShare share, int bufferSize
|
|
// , IO::FileOptions options, Microsoft.Win32.Win32Native.SECURITY_ATTRIBUTES secAttrs, string msgPath, bool bFromProxy) { }
|
|
|
|
}
|
|
}
|