Add Dirk Luetjen's ssphys libraries and command-line tool
[vss2svn.git] / ssphys / SSPhysLib / SSProjectObject.h
blobb51de54478f5d49cd16cc71dd4477836afdf13fa
1 // SSProjectObject.h: interface for the SSProjectObject class.
2 //
3 //////////////////////////////////////////////////////////////////////
5 #if !defined(AFX_SSPROJECTOBJECT_H__77FEAD1D_3579_4375_BF98_912CB41B8F96__INCLUDED_)
6 #define AFX_SSPROJECTOBJECT_H__77FEAD1D_3579_4375_BF98_912CB41B8F96__INCLUDED_
8 #if _MSC_VER > 1000
9 #pragma once
10 #endif // _MSC_VER > 1000
12 #include "SSObject.h"
14 class SSProjectObject : public SSObject
16 public:
17 SSProjectObject(const PROJECT_ENTRY& pe);
18 SSProjectObject(SSRecordPtr pRecord);
19 virtual ~SSProjectObject();
21 std::string GetName () const;
22 std::string GetPhysFile () const;
24 int GetType () const;
25 eFileType GetFileType () const;
26 int GetPinnedToVersion () const;
28 bool IsDeleted () const;
29 bool IsStoreBinaryDiff () const;
30 bool IsStoreLatestRev () const;
31 bool IsShared () const;
33 void Delete ();
34 void Recover ();
35 void Rename (SSNAME oldName, SSNAME newName);
36 void Pin (int version);
38 virtual void Accept (ISSObjectVisitor& rVisitor, const ISSContext* pCtx = NULL) const { rVisitor.Apply (*this, pCtx); }
40 const PROJECT_ENTRY* GetData () const { return (const PROJECT_ENTRY*) SSObject::GetData (); }
42 // void ToXml (XMLNode* pParent) const;
43 void Dump (std::ostream& os) const;
45 protected:
46 // convinience pointer into the data buffer
47 PROJECT_ENTRY* m_pProjectEntry;
50 #endif // !defined(AFX_SSPROJECTOBJECT_H__77FEAD1D_3579_4375_BF98_912CB41B8F96__INCLUDED_)