/**********************************************************************
This file is part of Crack dot Com's free source code release of
Golgotha.
for
information about compiling & licensing issues visit this URL
If that doesn't help, contact Jonathan Clark at
golgotha_source@usa.net (Subject should have "GOLG" in it)
***********************************************************************/
#ifndef DRIVE_MAP_HH
#define DRIVE_MAP_HH
#include "file/file.hh"
#include "string/string.hh"
class i4_drive_map : public i4_file_manager_class
{
protected:
i4_str *drive_path;
public:
i4_drive_map(const i4_const_str &path)
//{{{
{
drive_path=new i4_str(path,path.length()+1);
}
//}}}
virtual i4_file_class *default_open(const i4_const_str &name, w32 flags)
//{{{
{
i4_str *cat=new i4_str(*drive_path,drive_path->length()+name.length()+1);
cat->insert(cat->end(),name);
i4_file_class *fp=i4_file_manager_class::default_open(*cat,flags);
delete cat;
return fp;
}
//}}}
virtual i4_bool get_status(const i4_const_str &filename,
i4_file_status_struct &return_stat)
//{{{
{
i4_str *cat=new i4_str(*drive_path,drive_path->length()+filename.length()+1);
cat->insert(cat->end(),filename);
i4_bool ret=i4_file_manager_class::get_status(*cat,return_stat);
delete cat;
return ret;
}
//}}}
virtual i4_bool mkdir(const i4_const_str &name)
//{{{
{
i4_str *cat=new i4_str(*drive_path,drive_path->length()+name.length()+1);
cat->insert(cat->end(),name);
i4_bool ret=i4_file_manager_class::mkdir(*cat);
delete cat;
return ret;
}
//}}}
};
#endif
//{{{ Emacs Locals
// Local Variables:
// folded-file: t
// End:
//}}}