How to implement file IO methods for AIR?


#1

I want to contribute the file IO functions for Adobe AIR. Which github repo do I use and where can I find the “sys.io.File” source code to modify it? Any tips? Thanks.

Edit: I need to create a file like this for AIR : https://github.com/HaxeFoundation/haxe/blob/development/std/cpp/_std/sys/FileSystem.hx

Edit: I’m just gonna fork and create this file for AIR : https://github.com/zacdevon/haxe/blob/development/std/cs/_std/sys/FileSystem.hx


#2

The Haxe compiler uses a special “_std” class path within it’s own source path that branches files based on the target platform, so cpp, cs or java can have their own sys.FileSystem implementation.

Define “sys/FileSystem.hx” in your own class path and it overrides the default one, but you lose the ability to switch based on platform, with the exception (I think) of using “sys/FileSystem.flash.hx”, which might work (I read about this being a feature in the newer Haxe compiler). However, we currently use a special path in the Lime project for Adobe AIR externs, that no other target is using:

It might be possible to experiment with doing an “externs/sys” directory and trying to implement these functions for Adobe AIR in there. I believe that would be picked up on our AIR builds, but not for any other target :slight_smile:

(of course the ordinary Flash filesystem APIs should be available, but adding merged support for the Haxe sys API is a great idea for interoperability)