Files
2013-04-25 09:59:27 -07:00

54 lines
1.7 KiB
C++

/* -*- Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */
/* vi: set ts=4 sw=4 expandtab: (add to ~/.vimrc: set modeline modelines=5) */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef __avmshell_FileClass__
#define __avmshell_FileClass__
namespace avmshell
{
/**
* A simple class that has some native methods.
* Included as an example for writers of native methods,
* and also to provide some useful QA instrumentation.
*/
class FileClass : public avmplus::ClassClosure
{
public:
FileClass(avmplus::VTable* cvtable);
/**
* Implementation of File.exists
* AS usage: exists = File.exists(filename);
* Tests whether file "filename" exists.
*/
bool exists(avmplus::Stringp filename);
/**
* Implementation of File.read
* AS usage: data = File.read(filename);
* Reads the file "filename" into memory and returns
* it as a string
*/
avmplus::Stringp read(avmplus::Stringp filename);
/**
* Implementation of File.write
* AS usage: File.write(filename, data);
* Writes the text "data" to the file "filename"
*/
void write(avmplus::Stringp filename, avmplus::Stringp data);
avmplus::ByteArrayObject* readByteArray(avmplus::Stringp filename);
bool writeByteArray(avmplus::Stringp filename, avmplus::ByteArrayObject* bytes);
DECLARE_SLOTS_FileClass;
};
}
#endif /* __avmshell_FileClass__ */