Add Dirk Luetjen's ssphys libraries and command-line tool
[vss2svn.git] / ssphys / SSRep / Formatter.h
blob822758766eea86d2d05b783c3d3a61011e17ce1b
1 // Formatter.h: interface for the CFormatter class.
2 //
3 //////////////////////////////////////////////////////////////////////
5 #if !defined(AFX_FORMATTER_H__A5506F2B_A8AC_4232_A73E_3892242D51E3__INCLUDED_)
6 #define AFX_FORMATTER_H__A5506F2B_A8AC_4232_A73E_3892242D51E3__INCLUDED_
8 #if _MSC_VER > 1000
9 #pragma once
10 #endif // _MSC_VER > 1000
12 #include "Options.h"
13 #include <SSLib\SSItem.h>
14 #include <SSLib\SSDatabase.h>
16 //////////////////////////////////////////////////////////////////////
17 class IFormatter
19 public:
20 virtual int DoWhoAmI (const COptions& options) = 0;
21 virtual int DoProject (const SSDatabase& database, const COptions& options) = 0;
23 virtual int DoDirectory (const SSItemPtr pItem, const COptions& options) = 0;
24 virtual int DoProperties (const SSItemPtr pItem, const COptions& options) = 0;
25 virtual int DoFiletype (const SSItemPtr pItem, const COptions& options) = 0;
26 virtual int DoHistory (const SSItemPtr pItem, const COptions& options) = 0;
32 //////////////////////////////////////////////////////////////////////
33 class CVssFormatterFactory
35 public:
36 static IFormatter* MakeFormatter ();
39 #endif // !defined(AFX_FORMATTER_H__A5506F2B_A8AC_4232_A73E_3892242D51E3__INCLUDED_)