/* * Copyright 1995, 1996 Perforce Software. All rights reserved. * * This file is part of Perforce - the FAST SCM System. */ /* * StrDict.h - a set/get dictionary interface * * Classes: * * StrDict - a GetVar/PutVar dictionary interface * * Methods: * */ class Error; class StrVarName : public StrRef { public: StrVarName( const char *buf, int length ) { memcpy( varName, buf, length ); varName[ length ] = 0; Set( varName, length ); } StrVarName( const StrPtr &name, int x ); StrVarName( const StrPtr &name, int x, int y ); private: char varName[64]; } ; class StrDict { public: virtual ~StrDict(); // Handy wrappers void CopyVars( StrDict &other ); void SetVar( const char *var ); void SetVar( const char *var, int value ); void SetVar( const char *var, const char *value ); void SetVar( const char *var, const StrPtr *value ); void SetVar( const char *var, const StrPtr &value ); void SetVar( const StrPtr &var, const StrPtr &value ) { VSetVar( var, value ); } void SetVarV( const char *arg ); void SetArgv( int argc, char *const *argv ); void SetVar( const StrPtr &var, int x, const StrPtr &val ); void SetVar( const char *var, int x, const StrPtr &val ); void SetVar( const char *var, int x, int y, const StrPtr &val ); StrPtr *GetVar( const char *var ); StrPtr *GetVar( const char *var, Error *e ); StrPtr *GetVar( const StrPtr &var, int x ); StrPtr *GetVar( const StrPtr &var, int x, int y ); StrPtr *GetVar( const StrPtr &var ) { return VGetVar( var ); } int GetVar( int x, StrRef &var, StrRef &val ) { return VGetVarX( x, var, val ); } void ReplaceVar( const char *var, const char *value ); void ReplaceVar( const StrPtr &var, const StrPtr &value ); void RemoveVar( const char *var ); void RemoveVar( const StrPtr &var ) { VRemoveVar( var ); } void Clear() { VClear(); } int Save( FILE * out ); int Load( FILE * out ); protected: // Get/Set vars, provided by subclass virtual StrPtr *VGetVar( const StrPtr &var ) = 0; virtual void VSetVar( const StrPtr &var, const StrPtr &val ); virtual void VRemoveVar( const StrPtr &var ); virtual int VGetVarX( int x, StrRef &var, StrRef &val ); virtual void VSetError( const StrPtr &var, Error *e ); virtual void VClear(); } ;
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 16129 | tjuricek |
Rename/move files again... this time to the hyphenated-approach. |
||
//guest/tjuricek/file_system_client/main/vendor/p4api-15.1/macosx105x86_64/include/p4/strdict.h | |||||
#1 | 16119 | tjuricek | Rename/move to meet workshop project conventions. | ||
//guest/tjuricek/fsclient/vendor/p4api-15.1/macosx105x86_64/include/p4/strdict.h | |||||
#1 | 16118 | tjuricek |
FSClient initial version: handles add, edit This is a proof-of-concept app that mirrors an existing Perforce workspace to handle running commands like "p4 add" and "p4 edit" automatically when your apps add and write files. See the readme for more information. |