PerforceClient.h #1

  • //
  • guest/
  • caerwyn/
  • NppPerforcePlugin/
  • PerforceClient.h
  • View
  • Commits
  • Open Download .zip Download (798 B)
#ifndef PERFORCE_CLIENT_H
#define PERFORCE_CLIENT_H

class OutputClient;

class PerforceClient
{
public:
	PerforceClient();
	~PerforceClient();

public:
	void showInfo();
	void showFileInfo();
	void addFile() { processFile("add"); }
	void editFile() { processFile("edit"); }
	void deleteFile() { processFile("delete"); }
	void revertFile() { processFile("revert"); }
	void syncFile() { processFile("sync"); }
	bool login();
	void logout();
	void callP4V(const char *cmd);

private:
	void except(const char *msg, Error * e);
	void processFile(const char * cmd);
	bool processCmd(OutputClient * cu, int argc, char* argv[], const char * cmd);

public:
	static bool displayMessage(LPWSTR title, const StrRef& buf, bool allowCancel = false);

private:
	ClientApi client;
    Enviro * enviro;
};

#endif
# Change User Description Committed
#1 16789 caerwyn Populate -o //guest/sven_erik_knop/c++/NppPerforcePlugin/...
//guest/caerwyn/NppPerforcePlugin/....
//guest/sven_erik_knop/c++/NppPerforcePlugin/PerforceClient.h
#5 11396 Sven Erik Knop Fixed login issue from file command (endless loop).
Bumped version to 1.0.7

Final version in this iteration (I hope).
#4 11384 Sven Erik Knop Added logout menu item (more for testing than practical use)
#3 11381 Sven Erik Knop Added login dialog (after many years of waiting)
Currently needs to log on in a separate step, next change should prompt for password if ticket expired in any case.

Also fixed a bug with showing file information for freshly added files.
#2 7482 Sven Erik Knop Added P4V support to the plugin.
If p4v.exe is in the path, additional menu items become available.
#1 7440 Sven Erik Knop Notepad++ Perforce Plugin.

The provided DLL will only work for the Unicode version of Notepad++. The code currently contains no provision for ASCII builds.

The plugin can :

Add
Edit
Delete
Revert
Sync (to head)
---
Show file info
Show connection info