/* * Copyright 1995, 1997 Perforce Software. All rights reserved. * * This file is part of Perforce - the FAST SCM System. */ /* * enviro.h - get/set environment variables/registry entries * * Note that there is no longer a global environment. If * multiple threads wish to share the same enviroment, they'll * have to call Reload() to see any changes. On UNIX, there * is no setting the environment so that isn't an issue. * * Public methods: * * Enviro::BeServer() - get and set "system level"/service(NT) variables * Enviro::Get() - get a variable from the environment * Enviro::Set() - set a variable in the environment (NT only) * Enviro::Config() - load $P4CONFIG file (if set) * Enviro::List() - list variables in the environment * Enviro::Reload() - flush values cached from NT registry * Enviro::GetConfig() - get the name of the $P4CONFIG file (if set) */ class EnviroTable; struct EnviroItem; class Error; class StrBuf; class StrPtr; struct KeyPair; class Enviro { public: Enviro(); ~Enviro(); enum ItemType { NEW, // not looked up yet UNSET, // looked up and is empty UPDATE, // set via the Update call ENV, // set in environment CONFIG, // via P4CONFIG SVC, // set in service-specific registry USER, // set in user registry SYS // set is machine registry }; void BeServer( const StrPtr *name = 0 ); void OsServer(); void List(); void Print( const char *var ); char *Get( const char *var ); void Set( const char *var, const char *value, Error *e ); void Update( const char *var, const char *value ); ItemType GetType( const char *var ); int FromRegistry( const char *var ); void Config( const StrPtr &cwd ); void Reload(); void Save( const char *const *vars, Error *e ); void SetCharSet( int ); // for i18n support int GetCharSet(); const StrPtr &GetConfig(); private: EnviroTable *symbolTab; EnviroItem *GetItem( const char *var ); StrBuf configFile; # ifdef OS_NT KeyPair *setKey; KeyPair *serviceKey; StrBuf serviceKeyName; int charset; # endif /* OS_NT */ } ;
# | 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/enviro.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. |