FileLogCache.h #1

  • //
  • guest/
  • samwise/
  • p4hl/
  • src/
  • dlls/
  • FileLogCache.h
  • View
  • Commits
  • Open Download .zip Download (2 KB)
// FileLogCache.h: interface for the FileLogCache class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_FILELOGCACHE_H__C1B6848D_424B_41E8_99B7_EBA5F66CB529__INCLUDED_)
#define AFX_FILELOGCACHE_H__C1B6848D_424B_41E8_99B7_EBA5F66CB529__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "FileHead.h"
#include "ChangeSorter.h"

/* The FileLogCache is the object that constructs branching history for a file - it
 * consists of a number of FileHead objects arranged in two rows, "from" and "into",
 * which each fork off a central "main" FileHead. */
class FileLogCache  
{
public:
	FileLogCache(StrBuf); //The constructor takes the path of the file to examine.
	virtual ~FileLogCache();

	/* AddFrom creates a new FileHead at the end of the "from" row. */
	FileHead* AddFrom(StrBuf);
	/* AddInto does the same for the "into" row. */
	FileHead* AddInto(StrBuf);
	/* Get returns a pointer to the FileHead whose name is given as a StrBuf.  If
	 * it can't find such a FileHead, it creates a new one and returns a pointer to
	 * that.  The "from" bool arg indicates whether the new FileHead (if one has to be
	 * created) should be made "from" or "into". */
	FileHead* Get(StrBuf, bool from);

	FileHead* from; //The pointer to the first "from" FileHead.
	FileHead* into; //The first "into" FileHead.
	FileHead* main; //The "main" FileHead.

	ChangeSorter* changes; //A sorted list of change numbers.
};

#endif // !defined(AFX_FILELOGCACHE_H__C1B6848D_424B_41E8_99B7_EBA5F66CB529__INCLUDED_)
# Change User Description Committed
#2 937 Sam Stafford Renaming my guest directory to the more conventional
sam_stafford.
#1 936 Sam Stafford Adding P4HL to the public depot.
 See relnotes.txt for
installation instructions; all relevant files are under
p4hl/dist.

Source code is under p4hl/src in the form of a VC++ project.