/* * 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 | 12954 | anis_sg |
Populate -o //guest/perforce_software/p4connect/... //guest/anis_sg/perforce_software/p4connect/.... |
||
//guest/perforce_software/p4connect/src/P4Bridge/p4api/include/p4/pathsys.h | |||||
#1 | 10940 | Norman Morse |
Inital Workshop release of P4Connect. Released under BSD-2 license |