PUMA Library Reference Manual
Loading...
Searching...
No Matches
Puma::CProject Class Reference

#include <CProject.h>

Inheritance diagram for Puma::CProject:

Public Member Functions

 CProject (ErrorStream &e)
 CProject (ErrorStream &, const char *defs, const char *decls=(const char *) 0)
 CProject (ErrorStream &, int &argc, char **&argv, const char *defs=(const char *) 0, const char *decls=(const char *) 0)
Configconfig ()
virtual void configure (Config &)
UnitaddFile (Filename file)
CScannerscanner ()
virtual UnitscanFile (const char *file, Source *=(Source *) 0, bool isFile=true)
virtual UnitscanString (const char *str, const char *name=(const char *) 0)
Filename getInclString (Filename filename)
Public Member Functions inherited from Puma::Project
 Project (ErrorStream &err)
 Constructor.
virtual ~Project ()
 Destructor.
void saveMode (Mode mode=OVERWRITE, const char *suffix=0)
 Set the mode for saving an unit.
virtual void save (Unit *unit, bool only_modified=false) const
 Save a unit using the name of the unit to get the full name of the file and path to save to.
virtual void save (const char *file=0, bool only_modified=false, bool is_reg_ex=false) const
 Save one, all or all matching files.
void print (const char *name=0, std::ostream &out=std::cout, bool is_reg_ex=false) const
 Print one, all or all matching units.
void close (const char *name=0, bool destroy=false, bool is_reg_ex=false) const
 Close one, all or all matching units.
UnitaddFile (Filename file)
 Add a new file to the project.
UnitaddFile (Filename srcFile, Filename destFile)
 Add a new file to the project.
virtual void configure (const Config &config)
 Configure the project from the command line or a file.
UnitManagerunitManager ()
 Get the unit manager.
bool isNewer (const char *file) const
 Check if the given file in the source directory or the unit is newer than the corresponding file in the destination directory.
virtual bool isBelow (const char *file) const
 Check if a given file is found below any of the source paths of this project.
virtual bool isBelow (Unit *file) const
 Check if a given file is found below any of the source paths of this project.
Public Member Functions inherited from Puma::PathManager
 PathManager (ErrorStream &err)
 Constructor.
 PathManager (PathManager &other)
 Copy-constructor.
virtual ~PathManager ()
 Destructor.
void glob (char *filenamePattern=0)
 Search files in the managed path matching the given filename pattern or every file if no pattern is given.
bool iterate (PathIterator &iterator) const
 Iterate the contents of the managed paths.
virtual void addPath (const char *srcPath, const char *destPath=0)
 Add a source and destination paths pair.
ProjectFile::MapConstIter addFile (Filename filename)
 Add a new file to the project file list.
ProjectFile::MapConstIter addFile (Filename filename, Filename destPath)
 Add a new file to the project file list.
void setDest (const char *srcPath, const char *destPath)
 Set the destination path of the given source path.
void protect (const char *pathPattern)
 Add a pattern for a write-protected path.
long numPaths () const
 Get the number of managed paths.
long numProts () const
 Get the number of managed write-protected paths.
const char * src (long n) const
 Get the n-th managed source path.
const char * src_canon (long n) const
 Get canonical version of the n-th managed source path.
const char * dest (long n) const
 Get the n-th managed destination path.
RegCompprot (long n) const
 Get the n-th managed write-protected path pattern.
bool isProtected (const char *path) const
 Check if the given path is write-protected.
bool isBelow (const char *filename, ProjectFile::MapConstIter &iterator) const
 Check if a given file is directly managed by this path manager or is found below any of the managed paths.
virtual void join (PathManager &other)
 Join the paths of the given manager with the paths of this path manager.
ErrorStreamerr () const
 Get the error stream used by this path manager.
bool getDestinationPath (const char *sourcePath, std::ostream &out) const
 Get the destination path of a given source path and write it on the given output stream.

Additional Inherited Members

Public Types inherited from Puma::SaveMode
enum  Mode {
  OVERWRITE = 1 ,
  RENAME_OLD ,
  NEW_SUFFIX
}
 Save modes. More...
Protected Member Functions inherited from Puma::Project
virtual void write (Unit *unit, std::ofstream &file) const
 Write a unit on the given file output stream.
Protected Member Functions inherited from Puma::PathManager
const char * getDestination (Filename sourcePath, std::ostream *destinationPath=0) const
 Get the destination path for a given source path.
virtual void action (PathIterator &iterator)
 Called for every matched file when traversing a source path.
char * addSeparator (const char *path) const
 Add the separator '/' to the end of the given path.
char * addSeparator (const char *path, char *buffer) const
 Add the separator '/' to the end of the given path and store the resulting path in the given buffer.

Constructor & Destructor Documentation

◆ CProject() [1/3]

Puma::CProject::CProject ( ErrorStream & e)

◆ CProject() [2/3]

Puma::CProject::CProject ( ErrorStream & ,
const char * defs,
const char * decls = (const char *) 0 )

◆ CProject() [3/3]

Puma::CProject::CProject ( ErrorStream & ,
int & argc,
char **& argv,
const char * defs = (const char *) 0,
const char * decls = (const char *) 0 )

Member Function Documentation

◆ addFile()

Unit * Puma::CProject::addFile ( Filename file)

◆ config()

Config & Puma::CProject::config ( )
inline

◆ configure()

virtual void Puma::CProject::configure ( Config & )
virtual

◆ getInclString()

Filename Puma::CProject::getInclString ( Filename filename)

◆ scanFile()

virtual Unit * Puma::CProject::scanFile ( const char * file,
Source * = (Source *) 0,
bool isFile = true )
virtual

◆ scanner()

CScanner & Puma::CProject::scanner ( )
inline

◆ scanString()

virtual Unit * Puma::CProject::scanString ( const char * str,
const char * name = (const char *) 0 )
virtual