#ifndef INCLUDED_MyClientUser_H #define INCLUDED_MyClientUser_H // ====================================================================== class MyClientUser : public ClientUser { public: enum FileAction { FA_add, FA_modify, FA_delete, FA_count }; enum PerforceState { PS_unknown, PS_unchanged, PS_add, PS_edit, PS_delete, PS_count }; public: static bool install(); static void remove(); public: MyClientUser(); MyClientUser(FileAction fileAction, char const * fileName); virtual void Message(Error *err); virtual void OutputError(const_char *errBuf); virtual void OutputInfo(char level, const_char *data); virtual void OutputBinary(const_char *data, int length); virtual void OutputText(const_char *data, int length); virtual void OutputStat(StrDict *varList); virtual void Prompt(StrPtr const & msg, StrBuf & rsp, int noEcho, Error * e); virtual FileSys * File(FileSysType type); void UpdatePerforce(); private: void runPerforceCommand(char const * commandName, int argc, char const * const * argv); void actionIgnore(); void actionAdd(); void actionEdit(); void actionDelete(); void actionRevert(); void actionRevertUnchanged(); void actionRevertEdit(); void actionRevertDelete(); private: MyClientUser(MyClientUser &); MyClientUser & operator =(MyClientUser &); typedef void (MyClientUser::*Action)(); static const Action ms_actionTable[FA_count][PS_count]; private: FileAction m_fileAction; char const * m_fileName; PerforceState m_perforceState; bool m_retry; char const * m_password; }; // ====================================================================== #endif
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#2 | 7201 | Jeff Grills | Upgrade to VS2005 and the 2008.2 p4api | ||
#1 | 4963 | Jeff Grills |
Major clean up and code reorganization. Add new dialog to control the directories that are watched. Persist the watched directories in the windows registry. Restore the watched directories when the application is run again. Handle login correctly. Change the way error messages are examined to make them significantly more robust. Issue an "info" command at startup to make sure we can communicate with the server and get logged in. Change the icon to the standard P4 icon. Allow the dialog to be minimized to the systray. Clicking on the systray icon will show the dialog again. |