- /*
- * 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.
- * 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 | 7893 | Johan Nilsson | OFFLINE CHANGELIST 10 - SUBMITTED ON 2011/03/23 11:18:27 Upgrade project files to VS2010... and switching to msbuild for the entire project. Retargeted everything to .NET4 Client Profile for the time being, due to VS2010 C++ limitations (can't target anything other than 4.0 without complicating the setup too much). Shouldn't be too hard to retarget later if push comes to shove. Added VS2010 P4API stuff directly inside this project also to make things easier to get up and running for the moment. Removed old static P4API libraries. ____________________________________________________________ OFFLINE CHANGELIST 9 - SUBMITTED ON 2011/03/22 07:35:31 Converted to VS2010 « |
14 years ago |