// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'ZylVSS.pas' rev: 6.00

#ifndef ZylVSSHPP
#define ZylVSSHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <ActiveX.hpp>	// Pascal unit
#include <SourceSafeTypeLib_TLB.hpp>	// Pascal unit
#include <Registry.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Zylvss
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TVSSCheckOut;
class PASCALIMPLEMENTATION TVSSCheckOut : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	WideString UserName;
	System::TDateTime Date;
	WideString LocalSpec;
	WideString Machine;
	WideString Project;
	WideString Comment;
	int VersionNumber;
	__fastcall TVSSCheckOut(void);
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TVSSCheckOut(void) { }
	#pragma option pop
	
};


class DELPHICLASS TZylVSS;
class PASCALIMPLEMENTATION TZylVSS : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
private:
	bool FRegistered;
	double FVersion;
	bool __fastcall RunningInTheIDE(void);
	
protected:
	Sourcesafetypelib_tlb::_di_IVSSDatabase dbVSS;
	Sourcesafetypelib_tlb::_di_IVSSItem vssItem;
	
public:
	__property double Version = {read=FVersion};
	__fastcall virtual TZylVSS(Classes::TComponent* AOwner);
	__fastcall virtual ~TZylVSS(void);
	bool __fastcall OpenDatabase(WideString SrcSafeIni, WideString User, WideString Password, WideString &Error);
	WideString __fastcall GetDatabaseName(WideString &Error);
	WideString __fastcall GetUserName(WideString &Error);
	WideString __fastcall GetSpec(WideString VSSItem, WideString &Error);
	WideString __fastcall GetLocalSpec(WideString VSSItem, WideString &Error);
	void __fastcall SetLocalSpec(WideString VSSItem, WideString LocalSpec, WideString &Error);
	WideString __fastcall GetName(WideString VSSItem, WideString &Error);
	WideString __fastcall GetParentProject(WideString VSSItem, WideString &Error);
	int __fastcall GetType(WideString VSSItem, WideString &Error);
	int __fastcall GetStatus(WideString VSSItem, WideString &Error);
	Classes::TList* __fastcall GetStatusEx(WideString VSSItem, WideString &Error);
	bool __fastcall IsDifferent(WideString VSSItem, WideString LocalFile, WideString &Error);
	int __fastcall GetVersionNumber(WideString VSSItem, WideString &Error);
	void __fastcall Add(WideString VSSItem, WideString LocalFile, WideString Comment, bool bReadOnly, bool bKeepCheck, bool bDelete, WideString &Error);
	void __fastcall NewSubproject(WideString VSSItem, WideString Name, WideString Comment, WideString &Error);
	void __fastcall DestroyItem(WideString VSSItem, WideString &Error);
	void __fastcall CheckOut(WideString VSSItem, WideString LocalFile, WideString Comment, bool bGet, bool bReplace, WideString &Error);
	void __fastcall UndoCheckOut(WideString VSSItem, WideString LocalFile, bool bDelete, WideString &Error);
	void __fastcall CheckIn(WideString VSSItem, WideString LocalFile, WideString Comment, bool bKeepCheckedOut, WideString &Error);
	void __fastcall Share(WideString VSSItem, WideString VSSProject, WideString Comment, WideString &Error);
	void __fastcall SetLabel(WideString VSSItem, WideString Label_, WideString Comment, WideString &Error);
	Classes::TStringList* __fastcall GetItems(WideString VSSItem, WideString &Error);
	int __fastcall Count(WideString VSSItem, WideString &Error);
	WideString __fastcall GetItem(WideString VSSItem, int Index, WideString &Error);
	void __fastcall Get(WideString VSSItem, WideString &LocalFile, WideString &Error);
	void __fastcall Branch(WideString VSSItem, WideString Comment, WideString &Error);
	bool __fastcall IsShared(WideString VSSItem, WideString &Error);
	Classes::TStringList* __fastcall GetLinks(WideString VSSItem, WideString &Error);
	Classes::TStringList* __fastcall GetDatabaseNames(void);
	Classes::TStringList* __fastcall GetDatabasePaths(void);
	void __fastcall GetVersion(WideString VSSItem, int Version, WideString &LocalFile, WideString &Error);
	void __fastcall SetVersionLabel(WideString VSSItem, int Version, WideString Label_, WideString Comment, WideString &Error);
	WideString __fastcall GetVersionLabel(WideString VSSItem, int Version, WideString &Error);
	WideString __fastcall GetVersionUsername(WideString VSSItem, int Version, WideString &Error);
	WideString __fastcall GetVersionAction(WideString VSSItem, int Version, WideString &Error);
	WideString __fastcall GetVersionComment(WideString VSSItem, int Version, WideString &Error);
	System::TDateTime __fastcall GetVersionDate(WideString VSSItem, int Version, WideString &Error);
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE GUID IID_IEnumVariant;
extern PACKAGE void __fastcall Register(void);

}	/* namespace Zylvss */
using namespace Zylvss;
#pragma option pop	// -w-
#pragma option pop	// -Vx

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// ZylVSS
