1 /* Copyright (C) 2000-2004 Thomas Bopp, Thorsten Hampel, Ludger Merkens
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or
6 * (at your option) any later version.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 * $Id: filesystem.pike,v 1.1 2008/03/31 13:39:57 exodusd Exp $
19 inherit Filesystem.Base;
20 inherit "/modules/filepath";
22 //! Basic filesystem support. Uses environment/inventory relation in order
23 //! to find an object by a given URL.
24 class filesystem : public filepath{
33 object cwdCont = _ROOTROOM;
35 object cd(string|object cont)
38 cont = path_to_object(cont);
46 return object_to_filename(cwdCont);
49 array get_dir(void|string directory, void|string|array glob)
52 if ( stringp(directory) )
53 cont = path_to_object(directory);
57 foreach ( cont->get_inventory(), object obj )
58 files += ({ obj->get_identifier() });
62 object open(string file)
70 object doc = resolve_path(cont, file);
72 error("Unable to resolve " + file + "\nCWD="+cwd()+"\n");
73 Stdio.FakeFile f = Stdio.FakeFile(doc->get_content());