/* * 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 RemoveVar( const char *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 | 20722 | jdputsch | initial branch, prep for -Zapp= support | ||
//guest/michael_bishop/MacMenu/src/P4ObjectLayer/p4api-2010.1.251161/include/p4/strdict.h | |||||
#1 | 8331 | Matt Attaway |
Adding initial version of MacMenu for Perforce MacMenu is a helpful Perforce client that sits in your toolbar. It allows you to run standard Perforce operations on the document that is open the currently active editor/viewer. |