/* * Copyright 1995, 2003 Perforce Software. All rights reserved. * * This file is part of Perforce - the FAST SCM System. */ /* * PathSys.h - OS specific pathnames * * Public classes: * * PathSys - a StrBuf with virtual path manipulations * * Public methods: * * StrBuf::Set() - set value in local syntax * StrBuf::Text() - get value in local syntax * * PathSys::SetCanon() - combine (local) root and canonical path * PathSys::SetLocal() - combine (local) root and local path * * If root is empty, local is used. * If local is empty, results are not defined. * If canonical path is empty, trailing slash is appended to path. * (Trailing slash might cause problems with Stat() on windows.) * Local can begin with relative references. * * PathSys::GetCanon() - strip root and return rest as canon * PathSys::ToParent() - strip (and return) last element of path * * NB: SetLocal() can take "this" as root, but SetCanon() cannot. * * Static functions: * * Create() - returns an appropriate PathSys, given an OS type flag. * GetOS() - returns a string for the OS name */ class PathSys : public StrBuf { public: virtual ~PathSys(); virtual void SetCanon( const StrPtr &root, const StrPtr &canon ) = 0; virtual void SetLocal( const StrPtr &root, const StrPtr &local ) = 0; virtual int GetCanon( const StrPtr &root, StrBuf &t ) = 0; virtual int ToParent( StrBuf *file = 0 ) = 0; virtual int IsUnderRoot( const StrPtr &root ) = 0; virtual void SetCharSet( int = 0 ); void Expand(); static PathSys *Create(); static PathSys *Create( const StrPtr &os, Error *e ); static const char *GetOS(); private: static PathSys *Create( int os ); } ;
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 15071 | alan_petersen |
Populate -o //guest/perforce_software/piper/... //guest/alan_petersen/piper/.... |
||
//guest/perforce_software/piper/mac/main/Perforce/p4api/Headers/pathsys.h | |||||
#1 | 11252 | alan_petersen | Rename/move file(s) | ||
//guest/perforce_software/piper/mac/Perforce/p4api/Headers/pathsys.h | |||||
#1 | 10744 | alan_petersen | Rename/move file(s) | ||
//guest/perforce_software/piper/Perforce/p4api/Headers/pathsys.h | |||||
#1 | 8919 | Matt Attaway | Initial add of Piper, a lightweight Perforce client for artists and designers. |