14#ifndef CVSSOURCETREE_H
15#define CVSSOURCETREE_H
62 std::string _basename;
67 bool force,
bool interactive);
79 typedef pvector<FilePath> FilePaths;
83 const FilePaths &paths,
bool force,
bool interactive);
86 FilePath ask_existing(
const std::string &filename,
const FilePaths &paths,
89 FilePath ask_any(
const std::string &filename,
const FilePaths &paths);
91 std::string prompt(
const std::string &message);
94 static Filename get_start_fullpath();
100 typedef pmap<std::string, FilePaths> Basenames;
101 Basenames _basenames;
103 static bool _got_start_fullpath;
105 bool _got_root_fullpath;
This represents one particular directory in the hierarchy of source directory files.
Filename get_path() const
Returns the relative path to this file from the root of the source tree.
FilePath()
Creates an invalid FilePath specification.
Filename get_rel_from(const CVSSourceDirectory *other) const
Returns the relative path to this file as seen from the indicated source directory.
bool is_valid() const
Returns true if this FilePath represents a valid file, or false if it represents an error return.
Filename get_fullpath() const
Returns the full path to this file.
CVSSourceDirectory * get_root() const
Returns the root directory of the hierarchy.
Filename get_root_fullpath()
Returns the full path from the root to the top of the source hierarchy.
void add_file(const std::string &basename, CVSSourceDirectory *dir)
Adds a new file to the set of known files.
void set_root(const Filename &root_path)
Sets the root of the source directory.
FilePath choose_directory(const std::string &basename, CVSSourceDirectory *suggested_dir, bool force, bool interactive)
Determines where an externally referenced model file of the indicated name should go.
Filename get_root_dirname() const
Returns the local directory name of the root of the tree.
CVSSourceDirectory * find_relpath(const std::string &relpath)
Returns the source directory that corresponds to the given relative path from the root,...
static bool temp_chdir(const Filename &path)
Temporarily changes the current directory to the named path.
CVSSourceDirectory * find_directory(const Filename &path)
Returns the source directory that corresponds to the given path, or NULL if there is no such director...
static void restore_cwd()
Restores the current directory after changing it from temp_chdir().
bool scan(const Filename &key_filename)
Scans the complete source directory starting at the indicated pathname.
CVSSourceDirectory * find_dirname(const std::string &dirname)
Returns the source directory that corresponds to the given local directory name, or NULL if there is ...
The name of a file, such as a texture file or an Egg file.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.