[GME-commit] GMESRC/GME/XmlBackEnd CoreXmlFile.cpp,NONE,1.1
CoreXmlFile.h,NONE,1.1 CoreXmlFile.rgs,NONE,1.1 resource.h,NONE,1.1
Ssauto.h,NONE,1.1 StdAfx.cpp,NONE,1.1 StdAfx.h,NONE,1.1
VSSLoginDlg.cpp,NONE,1.1 VSSLoginDlg.h,NONE,1.1
XmlBackEnd.cpp,NONE,1.1 XmlBackEnd.def,NONE,1.1
XmlBackEnd.dsp,NONE,1.1 XmlBackEnd.idl,NONE,1.1
XmlBackEnd.rc,NONE,1.1
gme-commit at list.isis.vanderbilt.edu
gme-commit at list.isis.vanderbilt.edu
Tue Sep 14 11:40:04 CDT 2004
Update of /var/lib/gme/GMESRC/GME/XmlBackEnd
In directory braindrain:/tmp/cvs-serv1643
Added Files:
CoreXmlFile.cpp CoreXmlFile.h CoreXmlFile.rgs resource.h
Ssauto.h StdAfx.cpp StdAfx.h VSSLoginDlg.cpp VSSLoginDlg.h
XmlBackEnd.cpp XmlBackEnd.def XmlBackEnd.dsp XmlBackEnd.idl
XmlBackEnd.rc
Log Message:
no message
CVS User: bogyom
--- NEW FILE: CoreXmlFile.cpp ---
#include "stdafx.h"
#include <stdio.h>
#include <io.h>
#include <stdlib.h>
#include "CoreXmlFile.h"
#include "CommonCollection.h"
#include "VSSLoginDlg.h"
using namespace XERCES_CPP_NAMESPACE;
void bin2string( const unsigned char * bytes, int len, string& str )
{
char hex[3];
str.clear();
for( int i=0; i<len; ++i )
{
sprintf( hex, "%02x", bytes[i] );
str += hex;
[...2664 lines suppressed...]
TODO:
1. cache tesztelese nagyobb projekteknel
2. hibakalezels
SZIVAS!
Kerdesek:
1. a lockot minek undozni?
*/
--- NEW FILE: CoreXmlFile.h ---
#ifndef MGA_COREXMLFILE_H
#define MGA_COREXMLFILE_H
#include "resource.h"
#include <fstream.h>
#include <list>
#include <map>
#include <hash_map>
#include <set>
#include <xercesc/dom/dom.hpp>
#include "..\Mga\MgaGeneric.h"
#include "Ssauto.h"
#include "ccauto.h"
const metaobjidpair_type ROOT_ID_PAIR = {METAID_ROOT, OBJID_ROOT};
struct GUID_less
{
bool operator()(const GUID& a, const GUID& b) const
{
if( a.Data1 < b.Data1 )
return true;
else if( a.Data1 > b.Data1 )
return false;
else
{
DWORD * adw = (DWORD*)&a;
DWORD * bdw = (DWORD*)&b;
if( *(adw+1) < *(bdw+1) )
return true;
else if( *(adw+1) > *(bdw+1) )
return false;
else if( *(adw+2) < *(bdw+2) )
return true;
else if( *(adw+2) > *(bdw+2) )
return false;
else if( *(adw+3) < *(bdw+3) )
return true;
else
return false;
}
}
};
class XmlObject;
typedef set<XmlObject*> XmlObjSet;
typedef XmlObjSet::iterator XmlObjSetIter;
typedef vector<XmlObject*> XmlObjVec;
typedef XmlObjVec::iterator XmlObjVecIter;
typedef map<metaid_type,attrid_type> ParentMap;
typedef map<GUID, XmlObject*,GUID_less> GUIDToXmlObjectMap;
typedef GUIDToXmlObjectMap::iterator GUIDToXmlObjectMapIter;
////////////////////////////////////////////////////////////////////////////////
// XmlAttrBase class
////////////////////////////////////////////////////////////////////////////////
class XmlAttrBase
{
public:
static XmlAttrBase * create (valtype_type type);
XmlAttrBase ();
virtual ~XmlAttrBase ();
virtual valtype_type getType () const = 0;
virtual void fromVariant (VARIANT p) {}
virtual void toVariant (VARIANT *p) const {}
virtual void fromString (const char * str) {}
virtual void toString (string& str) const {}
};
typedef map<attrid_type,XmlAttrBase*> AttribMap;
typedef AttribMap::iterator AttribMapIter;
////////////////////////////////////////////////////////////////////////////////
// XmlAttrLong class
////////////////////////////////////////////////////////////////////////////////
class XmlAttrLong: public XmlAttrBase
{
public:
XmlAttrLong ();
virtual valtype_type getType () const;
virtual void fromVariant (VARIANT p);
virtual void toVariant (VARIANT *p) const;
virtual void fromString (const char * str);
virtual void toString (string& str) const;
protected:
long m_value;
};
////////////////////////////////////////////////////////////////////////////////
// XmlAttrReal class
////////////////////////////////////////////////////////////////////////////////
class XmlAttrReal: public XmlAttrBase
{
public:
XmlAttrReal ();
virtual valtype_type getType () const;
virtual void fromVariant (VARIANT p);
virtual void toVariant (VARIANT *p) const;
virtual void fromString (const char * str);
virtual void toString (string& str) const;
protected:
double m_value;
};
////////////////////////////////////////////////////////////////////////////////
// XmlAttrString class
////////////////////////////////////////////////////////////////////////////////
class XmlAttrString: public XmlAttrBase
{
public:
virtual valtype_type getType () const;
virtual void fromVariant (VARIANT p);
virtual void toVariant (VARIANT *p) const;
virtual void fromString (const char * str);
virtual void toString (string& str) const;
protected:
string m_value;
};
////////////////////////////////////////////////////////////////////////////////
// XmlAttrBinary class
////////////////////////////////////////////////////////////////////////////////
class XmlAttrBinary: public XmlAttrBase
{
public:
virtual valtype_type getType () const;
virtual void fromVariant (VARIANT p);
virtual void toVariant (VARIANT *p) const;
virtual void fromString (const char * str);
virtual void toString (string& str) const;
protected:
bindata m_value;
};
////////////////////////////////////////////////////////////////////////////////
// XmlAttrLock class
////////////////////////////////////////////////////////////////////////////////
class XmlAttrLock: public XmlAttrBase
{
public:
XmlAttrLock ();
virtual valtype_type getType () const;
virtual void fromVariant (VARIANT p);
virtual void toVariant (VARIANT *p) const;
virtual void fromString (const char * str);
virtual void toString (string& str) const;
protected:
lockval_type m_value;
};
////////////////////////////////////////////////////////////////////////////////
// XmlAttrPointer class
////////////////////////////////////////////////////////////////////////////////
class XmlAttrPointer: public XmlAttrBase
{
public:
XmlAttrPointer ();
virtual valtype_type getType () const;
protected:
XmlObject * m_parent;
friend class CCoreXmlFile;
};
////////////////////////////////////////////////////////////////////////////////
// XmlAttrCollection class
////////////////////////////////////////////////////////////////////////////////
class XmlAttrCollection: public XmlAttrBase
{
public:
virtual valtype_type getType () const;
protected:
XmlObjSet m_children;
friend class CCoreXmlFile;
};
////////////////////////////////////////////////////////////////////////////////
// XmlObject class
////////////////////////////////////////////////////////////////////////////////
class XmlObject
{
public:
enum AttrSet
{
ATTR_PRIMARY,
ATTR_SECONDARY,
ATTR_ALL
};
public:
XmlObject (ICoreMetaObject *metaobject, bool createAllAttributes);
~XmlObject ();
bool isContainer ();
protected:
void createAttributes (ICoreMetaObject *metaobject, int attrSet );
void deleteSecondaryAttribs ();
protected:
metaid_type m_metaid;
GUID m_guid;
int m_index; // index in the m_objects array
AttribMap m_attributes;
bool m_loaded; // true if all attributes are loded (otherwise only pointer, collections and locks stored)
bool m_deleted;
bool m_modified;
friend class CCoreXmlFile;
};
struct UnresolvedPointer
{
XmlObject * m_object; // whose attribute is this
attrid_type m_attrib;
GUID m_pointedObjGuid;
};
typedef vector<UnresolvedPointer> UnresolvedPointerVec;
typedef UnresolvedPointerVec::iterator UnresolvedPointerVecIt;
struct UndoItem
{
UndoItem( XmlObject * object, attrid_type attrId, CComVariant value )
{
m_object = object;
m_value = value;
m_attrId = attrId;
};
attrid_type m_attrId;
XmlObject * m_object;
CComVariant m_value;
};
typedef map<XmlAttrBase*, UndoItem> UndoMap;
typedef UndoMap::iterator UndoMapIter;
class ATL_NO_VTABLE CCoreXmlFile :
public CComObjectRootEx<CComSingleThreadModel>,
public IDispatchImpl<ICoreStorage, &IID_ICoreStorage, &LIBID_CORELib>,
public ISupportErrorInfoImpl<&IID_ICoreStorage>,
public CComCoClass<CCoreXmlFile, &CLSID_CoreBinFile>
{
public:
enum SourceControl
{
SC_NONE,
SC_SOURCESAFE,
SC_CLEARCASE
};
public:
CCoreXmlFile();
~CCoreXmlFile();
BEGIN_COM_MAP(CCoreXmlFile)
COM_INTERFACE_ENTRY(ICoreStorage)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()
DECLARE_REGISTRY_RESOURCEID(IDR_CoreXmlFile)
public:
STDMETHODIMP get_MetaProject (ICoreMetaProject **p);
STDMETHODIMP put_MetaProject (ICoreMetaProject *p);
STDMETHODIMP get_MetaObject (ICoreMetaObject **p);
STDMETHODIMP put_MetaObject (ICoreMetaObject *p);
STDMETHODIMP get_MetaID (metaid_type *p);
STDMETHODIMP put_MetaID (metaid_type p);
STDMETHODIMP get_MetaAttribute (ICoreMetaAttribute **p);
STDMETHODIMP put_MetaAttribute (ICoreMetaAttribute *p);
STDMETHODIMP get_AttrID (attrid_type *p);
STDMETHODIMP put_AttrID (attrid_type p);
STDMETHODIMP get_AttributeValue (VARIANT *p);
STDMETHODIMP put_AttributeValue (VARIANT p);
STDMETHODIMP OpenObject (objid_type objid);
STDMETHODIMP CreateObject (objid_type *objid);
STDMETHODIMP CloseObject ();
STDMETHODIMP DeleteObject ();
STDMETHODIMP LockObject ();
STDMETHODIMP OpenProject (BSTR connection, VARIANT_BOOL *ro_mode);
STDMETHODIMP CreateProject (BSTR connection);
STDMETHODIMP SaveProject (BSTR connection, VARIANT_BOOL keepoldname);
STDMETHODIMP CloseProject (VARIANT_BOOL abort = VARIANT_FALSE);
STDMETHODIMP DeleteProject ();
STDMETHODIMP BeginTransaction ();
STDMETHODIMP CommitTransaction ();
STDMETHODIMP AbortTransaction ();
STDMETHODIMP get_StorageType (long *p);
protected:
void fillParentMap ();
void closeMetaProject ();
void openMetaObject ();
void closeMetaObject ();
void openMetaAttribute ();
void closeMetaAttribute ();
void parseConnectionString ( BSTR connection );
void setFileNames ();
void getContainerFileName (XmlObject * obj, string& str, bool fullpath=true);
// graph operatrions
void clearAll ();
void addObject (XmlObject * obj);
void deleteObject (XmlObject * obj);
void setPointer (XmlObject * obj, attrid_type attribId, XmlObject * pointed);
//void setPointer (XmlObject * obj, XmlAttrPointer * attr, VARIANT p)
void setPointer (VARIANT p);
void updateCollections ();
void resolvePointers (UnresolvedPointerVec& pointers);
// getting connections
void getPointer (XmlAttrPointer * attr, VARIANT * p);
void getCollection (XmlAttrCollection * attr, VARIANT * p);
XmlObject * getContainer (XmlObject * obj);
void getContainedObjects (XmlObject * obj, XmlObjVec& vec);
// check out
void getCheckOutContainers (XmlObjSet& objects, XmlObjSet& containers);
void getDependetContainers (XmlObject * obj, XmlObjSet& containers, XmlObjSet& processedObjects);
bool checkOutFiles (XmlObjSet& containers);
// object pointer and id conversion
XmlObject * objectFromObjId (metaobjidpair_type idpair);
void objIdFromObject (XmlObject * obj, metaobjidpair_type& idpair);
// serialization
void writeBinaryCache ();
bool readBinaryCache ();
void createProjectFile ();
void readProjectFile ();
void writeAll ();
void writeXMLFile (XmlObject * container);
void writeObject (XmlObject * obj, FILE * file, bool container, const char * prefix);
bool moveContainerToDisk (XmlObject * container);
void fullReadContainer (XmlObject * container);
void readXMLFile (const char * fileName, UnresolvedPointerVec& pointers, bool fullLoad );
void readObject (XERCES_CPP_NAMESPACE::DOMElement * e, UnresolvedPointerVec& pointers,
XmlObject * parent, bool fullLoad );
void readAll ( bool fullLoad );
void getLatestAndLoad ();
// source control
bool getSourceSafeUserInfo ();
void createSourceSafeDatabase();
void openSourceSafeDatabase ();
void getSourceSafePath (XmlObject * obj, string& str);
bool isContainerReadOnly (XmlObject * obj);
bool isContinerCheckedOut (XmlObject * obj);
void checkOutContainer (XmlObject * obj);
void addToSourceControl (XmlObject * container);
void getLatestVersion ();
void checkInAll ();
void checkInAll ( bool keepCheckedOut );
bool createClearCaseApp ();
bool isPathUnderClearCase ( const char * path );
bool isFileCheckedOutCC ( const char * path );
void checkOutFileCC ( const char * path );
void checkInFileCC ( const char * path );
void addFileToCC ( const char * path );
void addDirToCC ( const char * path );
void getLatestVerCC ( const char * path );
protected:
// meta project
CComObjPtr<ICoreMetaProject> m_metaProject;
// meta object
CComObjPtr<ICoreMetaObject> m_metaObject;
metaid_type m_metaObjectId;
// meta attribute
CComObjPtr<ICoreMetaAttribute> m_metaAttribute;
attrid_type m_metaAttributeId;
valtype_type m_metaAttributeValType;
ParentMap m_parentMap;
// project
bool m_opened;
bool m_modified;
string m_parentFolderPath; // absolute path of the folder contains the project folder
string m_folderPath; // absolute path of the folder contains the project files
string m_cacheFileName;
string m_projectFileName;
string m_projectName;
bool m_inTransaction;
// source control info
int m_sourceControl;
// sourcesafe
string m_vssDatabaseStr;
string m_vssParentPath;
string m_vssPath;
CComObjPtr<IVSSDatabase> m_vssDatabase;
string m_vssUser;
string m_vssPassword;
// clearcase
string m_clearCaseString;
CComObjPtr<IClearCase> m_clearCase;
CComObjPtr<IClearTool> m_clearTool;
// objects
XmlObjVec m_objects;
GUIDToXmlObjectMap m_objectsByGUID;
XmlObject * m_openedObject;
XmlObject * m_root;
// transaction handling
UndoMap m_undoMap;
XmlObjSet m_modifiedObjects;
XmlObjVec m_createdObjects;
XmlObjSet m_deletedObjects;
//XmlObjSet m_checkOutContainers;
};
#endif//MGA_COREXMLFILE_H
--- NEW FILE: CoreXmlFile.rgs ---
HKCR
{
Mga.CoreXmlFile.1 = s 'CoreXmlFile Class'
{
CLSID = s '{F729BE0C-ACE5-470B-8F98-DAE52D6A5949}'
}
Mga.CoreXmlFile = s 'CoreXmlFile Class'
{
CLSID = s '{F729BE0C-ACE5-470B-8F98-DAE52D6A5949}'
}
NoRemove CLSID
{
ForceRemove {F729BE0C-ACE5-470B-8F98-DAE52D6A5949} = s 'CoreXmlFile Class'
{
ProgID = s 'Mga.CoreXmlFile.1'
VersionIndependentProgID = s 'Mga.CoreXmlFile'
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'both'
}
}
}
}
--- NEW FILE: resource.h ---
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by XmlBackEnd.rc
//
#define IDS_PROJNAME 100
#define IDS_COREXMLFILE_DESC 102
#define IDR_CoreXmlFile 103
#define IDC_EDIT_USER 201
#define IDD_DIALOG_VSSLOGIN 201
#define IDC_EDIT_PWD 202
#define IDC_STATIC_PROJECT 203
#define IDC_STATIC_DATABASE 204
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 205
#define _APS_NEXT_COMMAND_VALUE 32768
#define _APS_NEXT_CONTROL_VALUE 205
#define _APS_NEXT_SYMED_VALUE 104
#endif
#endif
--- NEW FILE: Ssauto.h ---
/* This header file machine-generated by mktyplib.exe */
/* Interface to type library: SourceSafeTypeLib */
#ifndef _SourceSafeTypeLib_H_
#define _SourceSafeTypeLib_H_
DEFINE_GUID(LIBID_SourceSafeTypeLib,0x783CD4E0L,0x9D54,0x11CF,0xB8,0xEE,0x00,0x60,0x8C,0xC9,0xA7,0x1F);
#ifndef BEGIN_INTERFACE
#define BEGIN_INTERFACE
#endif
typedef enum _VSSFlags {
VSSFLAG_USERRONO = 1,
VSSFLAG_USERROYES = 2,
VSSFLAG_TIMENOW = 4,
VSSFLAG_TIMEMOD = 8,
VSSFLAG_TIMEUPD = 12,
VSSFLAG_EOLCR = 16,
VSSFLAG_EOLLF = 32,
VSSFLAG_EOLCRLF = 48,
VSSFLAG_REPASK = 64,
VSSFLAG_REPREPLACE = 128,
VSSFLAG_REPSKIP = 192,
VSSFLAG_REPMERGE = 256,
VSSFLAG_CMPFULL = 512,
VSSFLAG_CMPTIME = 1024,
VSSFLAG_CMPCHKSUM = 1536,
VSSFLAG_CMPFAIL = 2048,
VSSFLAG_RECURSNO = 4096,
VSSFLAG_RECURSYES = 8192,
VSSFLAG_FORCEDIRNO = 16384,
VSSFLAG_FORCEDIRYES = 32768,
VSSFLAG_KEEPNO = 65536,
VSSFLAG_KEEPYES = 131072,
VSSFLAG_DELNO = 262144,
VSSFLAG_DELYES = 524288,
VSSFLAG_DELNOREPLACE = 786432,
VSSFLAG_BINTEST = 1048576,
VSSFLAG_BINBINARY = 2097152,
VSSFLAG_BINTEXT = 3145728,
VSSFLAG_DELTAYES = 4194304,
VSSFLAG_DELTANO = 8388608,
VSSFLAG_UPDASK = 16777216,
VSSFLAG_UPDUPDATE = 33554432,
VSSFLAG_UPDUNCH = 50331648,
VSSFLAG_GETYES = 67108864,
VSSFLAG_GETNO = 134217728,
VSSFLAG_CHKEXCLUSIVEYES = 268435456,
VSSFLAG_CHKEXCLUSIVENO = 536870912,
VSSFLAG_HISTIGNOREFILES = 1073741824
} VSSFlags;
typedef enum _VSSFileStatus {
VSSFILE_NOTCHECKEDOUT = 0,
VSSFILE_CHECKEDOUT = 1,
VSSFILE_CHECKEDOUT_ME = 2
} VSSFileStatus;
typedef enum _VSSItemType {
VSSITEM_PROJECT = 0,
VSSITEM_FILE = 1
} VSSItemType;
typedef enum _VSSRights {
VSSRIGHTS_READ = 1,
VSSRIGHTS_CHKUPD = 2,
VSSRIGHTS_ADDRENREM = 4,
VSSRIGHTS_DESTROY = 8,
VSSRIGHTS_ALL = 15,
VSSRIGHTS_INHERITED = 16
} VSSRights;
interface IVSSItem;
interface IVSSItems;
interface IVSSVersions;
interface IVSSVersion;
interface IVSSCheckouts;
interface IVSSCheckout;
interface IVSSUsers;
interface IVSSUser;
DEFINE_GUID(IID_IVSSItemOld,0x783CD4E1L,0x9D54,0x11CF,0xB8,0xEE,0x00,0x60,0x8C,0xC9,0xA7,0x1F);
/* Definition of interface: IVSSItemOld */
#undef INTERFACE
#define INTERFACE IVSSItemOld
DECLARE_INTERFACE_(IVSSItemOld, IDispatch)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDispatch methods */
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
STDMETHOD(GetTypeInfo)(
THIS_
UINT itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo) PURE;
STDMETHOD(GetIDsOfNames)(
THIS_
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
UINT cNames,
LCID lcid,
DISPID FAR* rgdispid) PURE;
STDMETHOD(Invoke)(
THIS_
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
UINT FAR* puArgErr) PURE;
#endif
/* IVSSItemOld methods */
STDMETHOD_(HRESULT, get_Spec)(THIS_ BSTR FAR* pSpec) PURE;
STDMETHOD_(HRESULT, get_Binary)(THIS_ VARIANT_BOOL FAR* pbBinary) PURE;
STDMETHOD_(HRESULT, put_Binary)(THIS_ VARIANT_BOOL bBinary) PURE;
STDMETHOD_(HRESULT, get_Deleted)(THIS_ VARIANT_BOOL FAR* pbDeleted) PURE;
STDMETHOD_(HRESULT, put_Deleted)(THIS_ VARIANT_BOOL bDeleted) PURE;
STDMETHOD_(HRESULT, get_Type)(THIS_ int FAR* piType) PURE;
STDMETHOD_(HRESULT, get_LocalSpec)(THIS_ BSTR FAR* pLocal) PURE;
STDMETHOD_(HRESULT, put_LocalSpec)(THIS_ BSTR Local) PURE;
STDMETHOD_(HRESULT, get_Name)(THIS_ BSTR FAR* pName) PURE;
STDMETHOD_(HRESULT, put_Name)(THIS_ BSTR Name) PURE;
STDMETHOD_(HRESULT, get_Parent)(THIS_ IVSSItem FAR* FAR* ppIParent) PURE;
STDMETHOD_(HRESULT, get_VersionNumber)(THIS_ long FAR* piVersion) PURE;
STDMETHOD_(HRESULT, get_Items)(THIS_ VARIANT_BOOL IncludeDeleted, IVSSItems FAR* FAR* ppIItems) PURE;
STDMETHOD_(HRESULT, Get)(THIS_ BSTR FAR* Local, long iFlags) PURE;
STDMETHOD_(HRESULT, Checkout)(THIS_ BSTR Comment, BSTR Local, long iFlags) PURE;
STDMETHOD_(HRESULT, Checkin)(THIS_ BSTR Comment, BSTR Local, long iFlags) PURE;
STDMETHOD_(HRESULT, UndoCheckout)(THIS_ BSTR Local, long iFlags) PURE;
STDMETHOD_(HRESULT, get_IsCheckedOut)(THIS_ long FAR* piStatus) PURE;
STDMETHOD_(HRESULT, get_Checkouts)(THIS_ IVSSCheckouts FAR* FAR* ppICheckouts) PURE;
STDMETHOD_(HRESULT, get_IsDifferent)(THIS_ BSTR Local, VARIANT_BOOL FAR* pbDifferent) PURE;
STDMETHOD_(HRESULT, Add)(THIS_ BSTR Local, BSTR Comment, long iFlags, IVSSItem FAR* FAR* ppIItem) PURE;
STDMETHOD_(HRESULT, NewSubproject)(THIS_ BSTR Name, BSTR Comment, IVSSItem FAR* FAR* ppIItem) PURE;
STDMETHOD_(HRESULT, Share)(THIS_ IVSSItem FAR* pIItem, BSTR Comment, long iFlags) PURE;
STDMETHOD_(HRESULT, Destroy)(THIS) PURE;
STDMETHOD_(HRESULT, Move)(THIS_ IVSSItem FAR* pINewParent) PURE;
STDMETHOD_(HRESULT, Label)(THIS_ BSTR Label, BSTR Comment) PURE;
STDMETHOD_(HRESULT, get_Versions)(THIS_ long iFlags, IVSSVersions FAR* FAR* pIVersions) PURE;
STDMETHOD_(HRESULT, get_Version)(THIS_ VARIANT Version, IVSSItem FAR* FAR* ppIItem) PURE;
};
DEFINE_GUID(IID_IVSSItem,0x2A0DE0E7L,0x2E9F,0x11D0,0x92,0x36,0x00,0xAA,0x00,0xA1,0xEB,0x95);
/* Definition of interface: IVSSItem */
#undef INTERFACE
#define INTERFACE IVSSItem
DECLARE_INTERFACE_(IVSSItem, IVSSItemOld)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDispatch methods */
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
STDMETHOD(GetTypeInfo)(
THIS_
UINT itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo) PURE;
STDMETHOD(GetIDsOfNames)(
THIS_
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
UINT cNames,
LCID lcid,
DISPID FAR* rgdispid) PURE;
STDMETHOD(Invoke)(
THIS_
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
UINT FAR* puArgErr) PURE;
/* IVSSItemOld methods */
STDMETHOD_(HRESULT, get_Spec)(THIS_ BSTR FAR* pSpec) PURE;
STDMETHOD_(HRESULT, get_Binary)(THIS_ VARIANT_BOOL FAR* pbBinary) PURE;
STDMETHOD_(HRESULT, put_Binary)(THIS_ VARIANT_BOOL bBinary) PURE;
STDMETHOD_(HRESULT, get_Deleted)(THIS_ VARIANT_BOOL FAR* pbDeleted) PURE;
STDMETHOD_(HRESULT, put_Deleted)(THIS_ VARIANT_BOOL bDeleted) PURE;
STDMETHOD_(HRESULT, get_Type)(THIS_ int FAR* piType) PURE;
STDMETHOD_(HRESULT, get_LocalSpec)(THIS_ BSTR FAR* pLocal) PURE;
STDMETHOD_(HRESULT, put_LocalSpec)(THIS_ BSTR Local) PURE;
STDMETHOD_(HRESULT, get_Name)(THIS_ BSTR FAR* pName) PURE;
STDMETHOD_(HRESULT, put_Name)(THIS_ BSTR Name) PURE;
STDMETHOD_(HRESULT, get_Parent)(THIS_ IVSSItem FAR* FAR* ppIParent) PURE;
STDMETHOD_(HRESULT, get_VersionNumber)(THIS_ long FAR* piVersion) PURE;
STDMETHOD_(HRESULT, get_Items)(THIS_ VARIANT_BOOL IncludeDeleted, IVSSItems FAR* FAR* ppIItems) PURE;
STDMETHOD_(HRESULT, Get)(THIS_ BSTR FAR* Local, long iFlags) PURE;
STDMETHOD_(HRESULT, Checkout)(THIS_ BSTR Comment, BSTR Local, long iFlags) PURE;
STDMETHOD_(HRESULT, Checkin)(THIS_ BSTR Comment, BSTR Local, long iFlags) PURE;
STDMETHOD_(HRESULT, UndoCheckout)(THIS_ BSTR Local, long iFlags) PURE;
STDMETHOD_(HRESULT, get_IsCheckedOut)(THIS_ long FAR* piStatus) PURE;
STDMETHOD_(HRESULT, get_Checkouts)(THIS_ IVSSCheckouts FAR* FAR* ppICheckouts) PURE;
STDMETHOD_(HRESULT, get_IsDifferent)(THIS_ BSTR Local, VARIANT_BOOL FAR* pbDifferent) PURE;
STDMETHOD_(HRESULT, Add)(THIS_ BSTR Local, BSTR Comment, long iFlags, IVSSItem FAR* FAR* ppIItem) PURE;
STDMETHOD_(HRESULT, NewSubproject)(THIS_ BSTR Name, BSTR Comment, IVSSItem FAR* FAR* ppIItem) PURE;
STDMETHOD_(HRESULT, Share)(THIS_ IVSSItem FAR* pIItem, BSTR Comment, long iFlags) PURE;
STDMETHOD_(HRESULT, Destroy)(THIS) PURE;
STDMETHOD_(HRESULT, Move)(THIS_ IVSSItem FAR* pINewParent) PURE;
STDMETHOD_(HRESULT, Label)(THIS_ BSTR Label, BSTR Comment) PURE;
STDMETHOD_(HRESULT, get_Versions)(THIS_ long iFlags, IVSSVersions FAR* FAR* pIVersions) PURE;
STDMETHOD_(HRESULT, get_Version)(THIS_ VARIANT Version, IVSSItem FAR* FAR* ppIItem) PURE;
#endif
/* IVSSItem methods */
STDMETHOD_(HRESULT, get_Links)(THIS_ IVSSItems FAR* FAR* ppIItems) PURE;
STDMETHOD_(HRESULT, Branch)(THIS_ BSTR Comment, long iFlags, IVSSItem FAR* FAR* ppIItem) PURE;
};
DEFINE_GUID(IID_IVSSVersions,0x783CD4E7L,0x9D54,0x11CF,0xB8,0xEE,0x00,0x60,0x8C,0xC9,0xA7,0x1F);
/* Definition of interface: IVSSVersions */
#undef INTERFACE
#define INTERFACE IVSSVersions
DECLARE_INTERFACE_(IVSSVersions, IDispatch)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDispatch methods */
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
STDMETHOD(GetTypeInfo)(
THIS_
UINT itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo) PURE;
STDMETHOD(GetIDsOfNames)(
THIS_
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
UINT cNames,
LCID lcid,
DISPID FAR* rgdispid) PURE;
STDMETHOD(Invoke)(
THIS_
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
UINT FAR* puArgErr) PURE;
#endif
/* IVSSVersions methods */
STDMETHOD(_NewEnum)(THIS_ IUnknown * FAR* ppIEnum) PURE;
};
DEFINE_GUID(IID_IVSSVersionOld,0x783CD4E8L,0x9D54,0x11CF,0xB8,0xEE,0x00,0x60,0x8C,0xC9,0xA7,0x1F);
/* Definition of interface: IVSSVersionOld */
#undef INTERFACE
#define INTERFACE IVSSVersionOld
DECLARE_INTERFACE_(IVSSVersionOld, IDispatch)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDispatch methods */
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
STDMETHOD(GetTypeInfo)(
THIS_
UINT itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo) PURE;
STDMETHOD(GetIDsOfNames)(
THIS_
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
UINT cNames,
LCID lcid,
DISPID FAR* rgdispid) PURE;
STDMETHOD(Invoke)(
THIS_
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
UINT FAR* puArgErr) PURE;
#endif
/* IVSSVersionOld methods */
STDMETHOD_(HRESULT, get_Username)(THIS_ BSTR FAR* pUsername) PURE;
STDMETHOD_(HRESULT, get_VersionNumber)(THIS_ long FAR* piVersion) PURE;
STDMETHOD_(HRESULT, get_Action)(THIS_ BSTR FAR* pAction) PURE;
STDMETHOD_(HRESULT, get_Date)(THIS_ DATE FAR* pDate) PURE;
STDMETHOD_(HRESULT, get_Comment)(THIS_ BSTR FAR* pComment) PURE;
STDMETHOD_(HRESULT, get_Label)(THIS_ BSTR FAR* pLabel) PURE;
STDMETHOD_(HRESULT, get_VSSItem)(THIS_ IVSSItem FAR* FAR* ppIItem) PURE;
};
DEFINE_GUID(IID_IVSSVersion,0x2A0DE0E9L,0x2E9F,0x11D0,0x92,0x36,0x00,0xAA,0x00,0xA1,0xEB,0x95);
/* Definition of interface: IVSSVersion */
#undef INTERFACE
#define INTERFACE IVSSVersion
DECLARE_INTERFACE_(IVSSVersion, IVSSVersionOld)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDispatch methods */
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
STDMETHOD(GetTypeInfo)(
THIS_
UINT itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo) PURE;
STDMETHOD(GetIDsOfNames)(
THIS_
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
UINT cNames,
LCID lcid,
DISPID FAR* rgdispid) PURE;
STDMETHOD(Invoke)(
THIS_
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
UINT FAR* puArgErr) PURE;
/* IVSSVersionOld methods */
STDMETHOD_(HRESULT, get_Username)(THIS_ BSTR FAR* pUsername) PURE;
STDMETHOD_(HRESULT, get_VersionNumber)(THIS_ long FAR* piVersion) PURE;
STDMETHOD_(HRESULT, get_Action)(THIS_ BSTR FAR* pAction) PURE;
STDMETHOD_(HRESULT, get_Date)(THIS_ DATE FAR* pDate) PURE;
STDMETHOD_(HRESULT, get_Comment)(THIS_ BSTR FAR* pComment) PURE;
STDMETHOD_(HRESULT, get_Label)(THIS_ BSTR FAR* pLabel) PURE;
STDMETHOD_(HRESULT, get_VSSItem)(THIS_ IVSSItem FAR* FAR* ppIItem) PURE;
#endif
/* IVSSVersion methods */
STDMETHOD_(HRESULT, get_LabelComment)(THIS_ BSTR FAR* pComment) PURE;
};
DEFINE_GUID(IID_IVSSItems,0x783CD4E5L,0x9D54,0x11CF,0xB8,0xEE,0x00,0x60,0x8C,0xC9,0xA7,0x1F);
/* Definition of interface: IVSSItems */
#undef INTERFACE
#define INTERFACE IVSSItems
DECLARE_INTERFACE_(IVSSItems, IDispatch)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDispatch methods */
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
STDMETHOD(GetTypeInfo)(
THIS_
UINT itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo) PURE;
STDMETHOD(GetIDsOfNames)(
THIS_
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
UINT cNames,
LCID lcid,
DISPID FAR* rgdispid) PURE;
STDMETHOD(Invoke)(
THIS_
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
UINT FAR* puArgErr) PURE;
#endif
/* IVSSItems methods */
STDMETHOD_(HRESULT, get_Count)(THIS_ long FAR* piCount) PURE;
STDMETHOD_(HRESULT, get_Item)(THIS_ VARIANT sItem, IVSSItem FAR* FAR* ppIItem) PURE;
STDMETHOD_(HRESULT, _NewEnum)(THIS_ IUnknown * FAR* ppIEnum) PURE;
};
DEFINE_GUID(IID_IVSSCheckouts,0x8903A770L,0xF55F,0x11CF,0x92,0x27,0x00,0xAA,0x00,0xA1,0xEB,0x95);
/* Definition of interface: IVSSCheckouts */
#undef INTERFACE
#define INTERFACE IVSSCheckouts
DECLARE_INTERFACE_(IVSSCheckouts, IDispatch)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDispatch methods */
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
STDMETHOD(GetTypeInfo)(
THIS_
UINT itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo) PURE;
STDMETHOD(GetIDsOfNames)(
THIS_
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
UINT cNames,
LCID lcid,
DISPID FAR* rgdispid) PURE;
STDMETHOD(Invoke)(
THIS_
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
UINT FAR* puArgErr) PURE;
#endif
/* IVSSCheckouts methods */
STDMETHOD_(HRESULT, get_Count)(THIS_ long FAR* piCount) PURE;
STDMETHOD_(HRESULT, get_Item)(THIS_ VARIANT sItem, IVSSCheckout FAR* FAR* ppICheckout) PURE;
STDMETHOD_(HRESULT, _NewEnum)(THIS_ IUnknown * FAR* ppIEnum) PURE;
};
DEFINE_GUID(IID_IVSSCheckout,0x783CD4E6L,0x9D54,0x11CF,0xB8,0xEE,0x00,0x60,0x8C,0xC9,0xA7,0x1F);
/* Definition of interface: IVSSCheckout */
#undef INTERFACE
#define INTERFACE IVSSCheckout
DECLARE_INTERFACE_(IVSSCheckout, IDispatch)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDispatch methods */
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
STDMETHOD(GetTypeInfo)(
THIS_
UINT itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo) PURE;
STDMETHOD(GetIDsOfNames)(
THIS_
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
UINT cNames,
LCID lcid,
DISPID FAR* rgdispid) PURE;
STDMETHOD(Invoke)(
THIS_
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
UINT FAR* puArgErr) PURE;
#endif
/* IVSSCheckout methods */
STDMETHOD_(HRESULT, get_Username)(THIS_ BSTR FAR* pUsername) PURE;
STDMETHOD_(HRESULT, get_Date)(THIS_ DATE FAR* pDate) PURE;
STDMETHOD_(HRESULT, get_LocalSpec)(THIS_ BSTR FAR* pLocal) PURE;
STDMETHOD_(HRESULT, get_Machine)(THIS_ BSTR FAR* pMachine) PURE;
STDMETHOD_(HRESULT, get_Project)(THIS_ BSTR FAR* pProject) PURE;
STDMETHOD_(HRESULT, get_Comment)(THIS_ BSTR FAR* pComment) PURE;
STDMETHOD_(HRESULT, get_VersionNumber)(THIS_ long FAR* piVersion) PURE;
};
DEFINE_GUID(IID_IVSSDatabaseOld,0x783CD4E2L,0x9D54,0x11CF,0xB8,0xEE,0x00,0x60,0x8C,0xC9,0xA7,0x1F);
/* Definition of interface: IVSSDatabaseOld */
#undef INTERFACE
#define INTERFACE IVSSDatabaseOld
DECLARE_INTERFACE_(IVSSDatabaseOld, IDispatch)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDispatch methods */
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
STDMETHOD(GetTypeInfo)(
THIS_
UINT itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo) PURE;
STDMETHOD(GetIDsOfNames)(
THIS_
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
UINT cNames,
LCID lcid,
DISPID FAR* rgdispid) PURE;
STDMETHOD(Invoke)(
THIS_
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
UINT FAR* puArgErr) PURE;
#endif
/* IVSSDatabaseOld methods */
STDMETHOD_(HRESULT, Open)(THIS_ BSTR SrcSafeIni, BSTR Username, BSTR Password) PURE;
STDMETHOD_(HRESULT, get_SrcSafeIni)(THIS_ BSTR FAR* pSrcSafeIni) PURE;
STDMETHOD_(HRESULT, get_DatabaseName)(THIS_ BSTR FAR* pDatabaseName) PURE;
STDMETHOD_(HRESULT, get_UserName)(THIS_ BSTR FAR* pUsername) PURE;
STDMETHOD_(HRESULT, get_CurrentProject)(THIS_ BSTR FAR* pPrj) PURE;
STDMETHOD_(HRESULT, put_CurrentProject)(THIS_ BSTR Prj) PURE;
STDMETHOD_(HRESULT, get_VSSItem)(THIS_ BSTR Spec, VARIANT_BOOL Deleted, IVSSItem FAR* FAR* ppIVSSItem) PURE;
};
DEFINE_GUID(IID_IVSSDatabase,0x2A0DE0E2L,0x2E9F,0x11D0,0x92,0x36,0x00,0xAA,0x00,0xA1,0xEB,0x95);
/* Definition of interface: IVSSDatabase */
#undef INTERFACE
#define INTERFACE IVSSDatabase
DECLARE_INTERFACE_(IVSSDatabase, IVSSDatabaseOld)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDispatch methods */
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
STDMETHOD(GetTypeInfo)(
THIS_
UINT itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo) PURE;
STDMETHOD(GetIDsOfNames)(
THIS_
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
UINT cNames,
LCID lcid,
DISPID FAR* rgdispid) PURE;
STDMETHOD(Invoke)(
THIS_
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
UINT FAR* puArgErr) PURE;
/* IVSSDatabaseOld methods */
STDMETHOD_(HRESULT, Open)(THIS_ BSTR SrcSafeIni, BSTR Username, BSTR Password) PURE;
STDMETHOD_(HRESULT, get_SrcSafeIni)(THIS_ BSTR FAR* pSrcSafeIni) PURE;
STDMETHOD_(HRESULT, get_DatabaseName)(THIS_ BSTR FAR* pDatabaseName) PURE;
STDMETHOD_(HRESULT, get_UserName)(THIS_ BSTR FAR* pUsername) PURE;
STDMETHOD_(HRESULT, get_CurrentProject)(THIS_ BSTR FAR* pPrj) PURE;
STDMETHOD_(HRESULT, put_CurrentProject)(THIS_ BSTR Prj) PURE;
STDMETHOD_(HRESULT, get_VSSItem)(THIS_ BSTR Spec, VARIANT_BOOL Deleted, IVSSItem FAR* FAR* ppIVSSItem) PURE;
#endif
/* IVSSDatabase methods */
STDMETHOD_(HRESULT, AddUser)(THIS_ BSTR User, BSTR Password, VARIANT_BOOL ReadOnly, IVSSUser FAR* FAR* ppIUser) PURE;
STDMETHOD_(HRESULT, get_User)(THIS_ BSTR Name, IVSSUser FAR* FAR* ppIUser) PURE;
STDMETHOD_(HRESULT, get_Users)(THIS_ IVSSUsers FAR* FAR* ppIUsers) PURE;
STDMETHOD_(HRESULT, get_ProjectRightsEnabled)(THIS_ VARIANT_BOOL FAR* pEnabled) PURE;
STDMETHOD_(HRESULT, put_ProjectRightsEnabled)(THIS_ VARIANT_BOOL pEnabled) PURE;
STDMETHOD_(HRESULT, get_DefaultProjectRights)(THIS_ long FAR* pRights) PURE;
STDMETHOD_(HRESULT, put_DefaultProjectRights)(THIS_ long Rights) PURE;
};
DEFINE_GUID(IID_IVSSUser,0x2A0DE0E3L,0x2E9F,0x11D0,0x92,0x36,0x00,0xAA,0x00,0xA1,0xEB,0x95);
/* Definition of interface: IVSSUser */
#undef INTERFACE
#define INTERFACE IVSSUser
DECLARE_INTERFACE_(IVSSUser, IDispatch)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDispatch methods */
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
STDMETHOD(GetTypeInfo)(
THIS_
UINT itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo) PURE;
STDMETHOD(GetIDsOfNames)(
THIS_
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
UINT cNames,
LCID lcid,
DISPID FAR* rgdispid) PURE;
STDMETHOD(Invoke)(
THIS_
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
UINT FAR* puArgErr) PURE;
#endif
/* IVSSUser methods */
STDMETHOD_(HRESULT, Delete)(THIS) PURE;
STDMETHOD_(HRESULT, get_Name)(THIS_ BSTR FAR* pName) PURE;
STDMETHOD_(HRESULT, put_Name)(THIS_ BSTR Name) PURE;
STDMETHOD_(HRESULT, put_Password)(THIS_ BSTR Password) PURE;
STDMETHOD_(HRESULT, get_ReadOnly)(THIS_ VARIANT_BOOL FAR* pReadOnly) PURE;
STDMETHOD_(HRESULT, put_ReadOnly)(THIS_ VARIANT_BOOL ReadOnly) PURE;
STDMETHOD_(HRESULT, get_ProjectRights)(THIS_ BSTR Project, long FAR* piRightsOut) PURE;
STDMETHOD_(HRESULT, put_ProjectRights)(THIS_ BSTR Project, long iRightsIn) PURE;
STDMETHOD_(HRESULT, RemoveProjectRights)(THIS_ BSTR Project) PURE;
};
DEFINE_GUID(IID_IVSSUsers,0x2A0DE0E4L,0x2E9F,0x11D0,0x92,0x36,0x00,0xAA,0x00,0xA1,0xEB,0x95);
/* Definition of interface: IVSSUsers */
#undef INTERFACE
#define INTERFACE IVSSUsers
DECLARE_INTERFACE_(IVSSUsers, IDispatch)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDispatch methods */
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
STDMETHOD(GetTypeInfo)(
THIS_
UINT itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo) PURE;
STDMETHOD(GetIDsOfNames)(
THIS_
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
UINT cNames,
LCID lcid,
DISPID FAR* rgdispid) PURE;
STDMETHOD(Invoke)(
THIS_
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
UINT FAR* puArgErr) PURE;
#endif
/* IVSSUsers methods */
STDMETHOD_(HRESULT, get_Count)(THIS_ long FAR* piCount) PURE;
STDMETHOD_(HRESULT, get_Item)(THIS_ VARIANT sItem, IVSSUser FAR* FAR* ppIUser) PURE;
STDMETHOD_(HRESULT, _NewEnum)(THIS_ IUnknown * FAR* ppIEnum) PURE;
};
DEFINE_GUID(CLSID_VSSItem,0x783CD4E3L,0x9D54,0x11CF,0xB8,0xEE,0x00,0x60,0x8C,0xC9,0xA7,0x1F);
#ifdef __cplusplus
class VSSItem;
#endif
DEFINE_GUID(CLSID_VSSVersion,0x783CD4ECL,0x9D54,0x11CF,0xB8,0xEE,0x00,0x60,0x8C,0xC9,0xA7,0x1F);
#ifdef __cplusplus
class VSSVersion;
#endif
DEFINE_GUID(CLSID_VSSCheckout,0x2A0DE0E0L,0x2E9F,0x11D0,0x92,0x36,0x00,0xAA,0x00,0xA1,0xEB,0x95);
#ifdef __cplusplus
class VSSCheckout;
#endif
DEFINE_GUID(CLSID_VSSDatabase,0x783CD4E4L,0x9D54,0x11CF,0xB8,0xEE,0x00,0x60,0x8C,0xC9,0xA7,0x1F);
#ifdef __cplusplus
class VSSDatabase;
#endif
DEFINE_GUID(CLSID_VSSUser,0x2A0DE0E5L,0x2E9F,0x11D0,0x92,0x36,0x00,0xAA,0x00,0xA1,0xEB,0x95);
#ifdef __cplusplus
class VSSUser;
#endif
DEFINE_GUID(IID_IVSSEventsOld,0x783CD4E9L,0x9D54,0x11CF,0xB8,0xEE,0x00,0x60,0x8C,0xC9,0xA7,0x1F);
/* Definition of interface: IVSSEventsOld */
#undef INTERFACE
#define INTERFACE IVSSEventsOld
DECLARE_INTERFACE_(IVSSEventsOld, IUnknown)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
#endif
/* IVSSEventsOld methods */
STDMETHOD_(HRESULT, BeforeAdd)(THIS_ IVSSItem FAR* pIPrj, BSTR Local, VARIANT_BOOL FAR* pbContinue) PURE;
STDMETHOD_(HRESULT, AfterAdd)(THIS_ IVSSItem FAR* pIItem, BSTR Local) PURE;
STDMETHOD_(HRESULT, BeforeCheckout)(THIS_ IVSSItem FAR* pIItem, BSTR Local, VARIANT_BOOL FAR* pbContinue) PURE;
STDMETHOD_(HRESULT, AfterCheckout)(THIS_ IVSSItem FAR* pIItem, BSTR Local) PURE;
STDMETHOD_(HRESULT, BeforeCheckin)(THIS_ IVSSItem FAR* pIItem, BSTR Local, VARIANT_BOOL FAR* pbContinue) PURE;
STDMETHOD_(HRESULT, AfterCheckin)(THIS_ IVSSItem FAR* pIItem, BSTR Local) PURE;
STDMETHOD_(HRESULT, BeforeUndoCheckout)(THIS_ IVSSItem FAR* pIItem, BSTR Local, VARIANT_BOOL FAR* pbContinue) PURE;
STDMETHOD_(HRESULT, AfterUndoCheckout)(THIS_ IVSSItem FAR* pIItem, BSTR Local) PURE;
STDMETHOD_(HRESULT, BeforeRename)(THIS_ IVSSItem FAR* pIItem, BSTR NewName, VARIANT_BOOL FAR* pbContinue) PURE;
STDMETHOD_(HRESULT, AfterRename)(THIS_ IVSSItem FAR* pIItem, BSTR OldName) PURE;
STDMETHOD_(HRESULT, BeforeBranch)(THIS_ IVSSItem FAR* pIItem, VARIANT_BOOL FAR* pbContinue) PURE;
STDMETHOD_(HRESULT, AfterBranch)(THIS_ IVSSItem FAR* pIItem) PURE;
STDMETHOD_(HRESULT, BeforeEvent)(THIS_ long iEvent, IVSSItem FAR* pIItem, BSTR Str, VARIANT var, VARIANT_BOOL FAR* pbContinue) PURE;
STDMETHOD_(HRESULT, AfterEvent)(THIS_ long iEvent, IVSSItem FAR* pIItem, BSTR Str, VARIANT var) PURE;
};
DEFINE_GUID(IID_IVSSEvents,0x2A0DE0E8L,0x2E9F,0x11D0,0x92,0x36,0x00,0xAA,0x00,0xA1,0xEB,0x95);
/* Definition of interface: IVSSEvents */
#undef INTERFACE
#define INTERFACE IVSSEvents
DECLARE_INTERFACE_(IVSSEvents, IUnknown)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
#endif
/* IVSSEvents methods */
STDMETHOD_(HRESULT, BeforeAdd)(THIS_ IVSSItem FAR* pIPrj, BSTR Local, BSTR Comment, VARIANT_BOOL FAR* pbContinue) PURE;
STDMETHOD_(HRESULT, AfterAdd)(THIS_ IVSSItem FAR* pIItem, BSTR Local, BSTR Comment) PURE;
STDMETHOD_(HRESULT, BeforeCheckout)(THIS_ IVSSItem FAR* pIItem, BSTR Local, BSTR Comment, VARIANT_BOOL FAR* pbContinue) PURE;
STDMETHOD_(HRESULT, AfterCheckout)(THIS_ IVSSItem FAR* pIItem, BSTR Local, BSTR Comment) PURE;
STDMETHOD_(HRESULT, BeforeCheckin)(THIS_ IVSSItem FAR* pIItem, BSTR Local, BSTR Comment, VARIANT_BOOL FAR* pbContinue) PURE;
STDMETHOD_(HRESULT, AfterCheckin)(THIS_ IVSSItem FAR* pIItem, BSTR Local, BSTR Comment) PURE;
STDMETHOD_(HRESULT, BeforeUndoCheckout)(THIS_ IVSSItem FAR* pIItem, BSTR Local, VARIANT_BOOL FAR* pbContinue) PURE;
STDMETHOD_(HRESULT, AfterUndoCheckout)(THIS_ IVSSItem FAR* pIItem, BSTR Local) PURE;
STDMETHOD_(HRESULT, BeforeRename)(THIS_ IVSSItem FAR* pIItem, BSTR NewName, VARIANT_BOOL FAR* pbContinue) PURE;
STDMETHOD_(HRESULT, AfterRename)(THIS_ IVSSItem FAR* pIItem, BSTR OldName) PURE;
STDMETHOD_(HRESULT, BeforeBranch)(THIS_ IVSSItem FAR* pIItem, BSTR Comment, VARIANT_BOOL FAR* pbContinue) PURE;
STDMETHOD_(HRESULT, AfterBranch)(THIS_ IVSSItem FAR* pIItem, BSTR Comment) PURE;
STDMETHOD_(HRESULT, BeginCommand)(THIS_ long unused, VARIANT_BOOL FAR* pbContinue) PURE;
STDMETHOD_(HRESULT, EndCommand)(THIS_ long unused) PURE;
STDMETHOD_(HRESULT, BeforeEvent)(THIS_ long iEvent, IVSSItem FAR* pIItem, BSTR Str, VARIANT var, VARIANT_BOOL FAR* pbContinue) PURE;
STDMETHOD_(HRESULT, AfterEvent)(THIS_ long iEvent, IVSSItem FAR* pIItem, BSTR Str, VARIANT var) PURE;
};
DEFINE_GUID(IID_IVSS,0x783CD4EBL,0x9D54,0x11CF,0xB8,0xEE,0x00,0x60,0x8C,0xC9,0xA7,0x1F);
/* Definition of interface: IVSS */
#undef INTERFACE
#define INTERFACE IVSS
DECLARE_INTERFACE_(IVSS, IDispatch)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IDispatch methods */
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
STDMETHOD(GetTypeInfo)(
THIS_
UINT itinfo,
LCID lcid,
ITypeInfo FAR* FAR* pptinfo) PURE;
STDMETHOD(GetIDsOfNames)(
THIS_
REFIID riid,
OLECHAR FAR* FAR* rgszNames,
UINT cNames,
LCID lcid,
DISPID FAR* rgdispid) PURE;
STDMETHOD(Invoke)(
THIS_
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS FAR* pdispparams,
VARIANT FAR* pvarResult,
EXCEPINFO FAR* pexcepinfo,
UINT FAR* puArgErr) PURE;
#endif
/* IVSS methods */
STDMETHOD_(HRESULT, get_VSSDatabase)(THIS_ IVSSDatabase FAR* FAR* ppIVSSDatabase) PURE;
};
DEFINE_GUID(IID_IVSSEventHandler,0x783CD4EAL,0x9D54,0x11CF,0xB8,0xEE,0x00,0x60,0x8C,0xC9,0xA7,0x1F);
/* Definition of interface: IVSSEventHandler */
#undef INTERFACE
#define INTERFACE IVSSEventHandler
DECLARE_INTERFACE_(IVSSEventHandler, IUnknown)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
#endif
/* IVSSEventHandler methods */
STDMETHOD(Init)(THIS_ IVSS FAR* pIVSS) PURE;
};
DEFINE_GUID(CLSID_VSSApp,0x2A0DE0E1L,0x2E9F,0x11D0,0x92,0x36,0x00,0xAA,0x00,0xA1,0xEB,0x95);
#ifdef __cplusplus
class VSSApp;
#endif
#endif
--- NEW FILE: StdAfx.cpp ---
// stdafx.cpp : source file that includes just the standard includes
// stdafx.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"
#ifdef _ATL_STATIC_REGISTRY
#include <statreg.h>
#include <statreg.cpp>
#endif
#include <atlimpl.cpp>
--- NEW FILE: StdAfx.h ---
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently,
// but are changed infrequently
#if !defined(AFX_STDAFX_H__6DE09E50_EB29_43FD_A37B_A41FA6758CA0__INCLUDED_)
#define AFX_STDAFX_H__6DE09E50_EB29_43FD_A37B_A41FA6758CA0__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define STRICT
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0400
#endif
#define _ATL_APARTMENT_THREADED
#include <afxwin.h>
#include <afxdisp.h>
#include <atlbase.h>
//You may derive a class from CComModule and use it if you want to override
//something, but do not change the name of _Module
extern CComModule _Module;
#include <atlcom.h>
#define _NOTHREADS
#include <stl_config.h>
#undef __SGI_STL_NO_ARROW_OPERATOR
#define __SGI_STL_INTERNAL_RELOPS
#include "CoreLib.h"
#include "CommonSmart.h"
#include "CommonStl.h"
#include "CoreUtilities.h"
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_STDAFX_H__6DE09E50_EB29_43FD_A37B_A41FA6758CA0__INCLUDED)
--- NEW FILE: VSSLoginDlg.cpp ---
// VSSLoginDlg.cpp : implementation file
//
#include "stdafx.h"
#include "resource.h"
#include "VSSLoginDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CVSSLoginDlg dialog
CVSSLoginDlg::CVSSLoginDlg(CWnd* pParent /*=NULL*/)
: CDialog(CVSSLoginDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CVSSLoginDlg)
m_password = _T("");
m_user = _T("");
m_database = _T("");
m_project = _T("");
//}}AFX_DATA_INIT
}
void CVSSLoginDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CVSSLoginDlg)
DDX_Text(pDX, IDC_EDIT_PWD, m_password);
DDX_Text(pDX, IDC_EDIT_USER, m_user);
DDX_Text(pDX, IDC_STATIC_DATABASE, m_database);
DDX_Text(pDX, IDC_STATIC_PROJECT, m_project);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CVSSLoginDlg, CDialog)
//{{AFX_MSG_MAP(CVSSLoginDlg)
// NOTE: the ClassWizard will add message map macros here
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CVSSLoginDlg message handlers
--- NEW FILE: VSSLoginDlg.h ---
#if !defined(AFX_VSSLOGINDLG_H__912CEEC2_1AD6_4BCD_B827_E8604CEE7889__INCLUDED_)
#define AFX_VSSLOGINDLG_H__912CEEC2_1AD6_4BCD_B827_E8604CEE7889__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// VSSLoginDlg.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CVSSLoginDlg dialog
class CVSSLoginDlg : public CDialog
{
// Construction
public:
CVSSLoginDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CVSSLoginDlg)
enum { IDD = IDD_DIALOG_VSSLOGIN };
CString m_password;
CString m_user;
CString m_database;
CString m_project;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CVSSLoginDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CVSSLoginDlg)
// NOTE: the ClassWizard will add member functions here
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_VSSLOGINDLG_H__912CEEC2_1AD6_4BCD_B827_E8604CEE7889__INCLUDED_)
--- NEW FILE: XmlBackEnd.cpp ---
// XmlBackEnd.cpp : Implementation of DLL Exports.
// Note: Proxy/Stub Information
// To build a separate proxy/stub DLL,
// run nmake -f XmlBackEndps.mk in the project directory.
#include "stdafx.h"
#include "resource.h"
#include <initguid.h>
#include "Core.h"
#include "Core_i.c"
#include "CoreLib.h"
#include "CoreLib_i.c"
#include "XmlBackEnd.h"
#include "XmlBackEnd_i.c"
#include "CoreXmlFile.h"
CComModule _Module;
BEGIN_OBJECT_MAP(ObjectMap)
OBJECT_ENTRY(CLSID_CoreXmlFile, CCoreXmlFile)
END_OBJECT_MAP()
class CXmlBackEndApp : public CWinApp
{
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CXmlBackEndApp)
public:
virtual BOOL InitInstance();
virtual int ExitInstance();
//}}AFX_VIRTUAL
//{{AFX_MSG(CXmlBackEndApp)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
BEGIN_MESSAGE_MAP(CXmlBackEndApp, CWinApp)
//{{AFX_MSG_MAP(CXmlBackEndApp)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
CXmlBackEndApp theApp;
BOOL CXmlBackEndApp::InitInstance()
{
_Module.Init(ObjectMap, m_hInstance, &LIBID_XMLBACKENDLib);
return CWinApp::InitInstance();
}
int CXmlBackEndApp::ExitInstance()
{
_Module.Term();
return CWinApp::ExitInstance();
}
/////////////////////////////////////////////////////////////////////////////
// Used to determine whether the DLL can be unloaded by OLE
STDAPI DllCanUnloadNow(void)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return (AfxDllCanUnloadNow()==S_OK && _Module.GetLockCount()==0) ? S_OK : S_FALSE;
}
/////////////////////////////////////////////////////////////////////////////
// Returns a class factory to create an object of the requested type
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
return _Module.GetClassObject(rclsid, riid, ppv);
}
/////////////////////////////////////////////////////////////////////////////
// DllRegisterServer - Adds entries to the system registry
STDAPI DllRegisterServer(void)
{
// registers object, typelib and all interfaces in typelib
return _Module.RegisterServer(TRUE);
}
/////////////////////////////////////////////////////////////////////////////
// DllUnregisterServer - Removes entries from the system registry
STDAPI DllUnregisterServer(void)
{
return _Module.UnregisterServer(TRUE);
}
--- NEW FILE: XmlBackEnd.def ---
; XmlBackEnd.def : Declares the module parameters.
LIBRARY "XmlBackEnd.DLL"
EXPORTS
DllCanUnloadNow @1 PRIVATE
DllGetClassObject @2 PRIVATE
DllRegisterServer @3 PRIVATE
DllUnregisterServer @4 PRIVATE
--- NEW FILE: XmlBackEnd.dsp ---
# Microsoft Developer Studio Project File - Name="XmlBackEnd" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=XmlBackEnd - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "XmlBackEnd.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "XmlBackEnd.mak" CFG="XmlBackEnd - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "XmlBackEnd - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "XmlBackEnd - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "XmlBackEnd - Win32 Debug"
# PROP BASE Use_MFC 2
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 2
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_AFXDLL" /Yu"stdafx.h" /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../Include" /I "../Include/ODBC" /I "../Include/repository" /I "../Interfaces" /I "../Include/STL" /I "../Common" /I "../Gme" /I "../Core" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_AFXDLL" /D "_MBCS" /D "_USRDLL" /FR /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL"
# ADD RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 xerces-c_2D.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept /libpath:"../lib"
# Begin Custom Build - Performing registration
OutDir=.\Debug
TargetPath=.\Debug\XmlBackEnd.dll
InputPath=.\Debug\XmlBackEnd.dll
SOURCE="$(InputPath)"
"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
regsvr32 /s /c "$(TargetPath)"
echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
# End Custom Build
!ELSEIF "$(CFG)" == "XmlBackEnd - Win32 Release"
# PROP BASE Use_MFC 2
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "XmlBackEnd___Win32_Release"
# PROP BASE Intermediate_Dir "XmlBackEnd___Win32_Release"
# PROP BASE Ignore_Export_Lib 0
# PROP BASE Target_Dir ""
# PROP Use_MFC 2
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /GX /O1 /I "../Include" /I "../Include/ODBC" /I "../Include/repository" /I "../Interfaces" /I "../Include/STL" /I "../Common" /I "../Gme" /I "../Core" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_AFXDLL" /D "_MBCS" /D "_USRDLL" /D "_ATL_STATIC_REGISTRY" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O1 /I "../Include" /I "../Include/ODBC" /I "../Include/repository" /I "../Interfaces" /I "../Include/STL" /I "../Common" /I "../Gme" /I "../Core" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_AFXDLL" /D "_MBCS" /D "_USRDLL" /D "_ATL_STATIC_REGISTRY" /FR /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL"
# ADD RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 xerces-c_2.lib /nologo /subsystem:windows /dll /machine:I386 /libpath:"../lib"
# ADD LINK32 xerces-c_2.lib /nologo /subsystem:windows /dll /machine:I386 /libpath:"../lib"
# Begin Custom Build - Performing registration
OutDir=.\Release
TargetPath=.\Release\XmlBackEnd.dll
InputPath=.\Release\XmlBackEnd.dll
SOURCE="$(InputPath)"
"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
regsvr32 /s /c "$(TargetPath)"
echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
# End Custom Build
!ENDIF
# Begin Target
# Name "XmlBackEnd - Win32 Debug"
# Name "XmlBackEnd - Win32 Release"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\ccauto.IDL
# End Source File
# Begin Source File
SOURCE=..\Common\CommonError.cpp
# End Source File
# Begin Source File
SOURCE=..\Common\CommonSmart.cpp
# End Source File
# Begin Source File
SOURCE=.\CoreXmlFile.cpp
# End Source File
# Begin Source File
SOURCE=.\StdAfx.cpp
# ADD CPP /Yc"stdafx.h"
# End Source File
# Begin Source File
SOURCE=.\VSSLoginDlg.cpp
# End Source File
# Begin Source File
SOURCE=.\XmlBackEnd.cpp
# End Source File
# Begin Source File
SOURCE=.\XmlBackEnd.def
# End Source File
# Begin Source File
SOURCE=.\XmlBackEnd.idl
!IF "$(CFG)" == "XmlBackEnd - Win32 Debug"
# ADD MTL /I "../Interfaces" /tlb ".\XmlBackEnd.tlb" /h "XmlBackEnd.h" /iid "XmlBackEnd_i.c" /Oicf
!ELSEIF "$(CFG)" == "XmlBackEnd - Win32 Release"
# ADD BASE MTL /tlb ".\XmlBackEnd.tlb" /h "XmlBackEnd.h" /iid "XmlBackEnd_i.c" /Oicf
# ADD MTL /tlb ".\XmlBackEnd.tlb" /h "XmlBackEnd.h" /iid "XmlBackEnd_i.c" /Oicf
!ENDIF
# End Source File
# Begin Source File
SOURCE=.\XmlBackEnd.rc
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=.\ccauto.h
# End Source File
# Begin Source File
SOURCE=.\CoreXmlFile.h
# End Source File
# Begin Source File
SOURCE=.\Resource.h
# End Source File
# Begin Source File
SOURCE=.\StdAfx.h
# End Source File
# Begin Source File
SOURCE=.\VSSLoginDlg.h
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# Begin Source File
SOURCE=.\CoreXmlFile.rgs
# End Source File
# End Group
# End Target
# End Project
--- NEW FILE: XmlBackEnd.idl ---
// XmlBackEnd.idl : IDL source for XmlBackEnd.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (XmlBackEnd.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
import "Core.idl";
[
uuid(09107441-E750-4516-B6D0-DE6358FDBA9B),
version(1.0),
helpstring("XmlBackEnd 1.0 Type Library")
]
library XMLBACKENDLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
[
uuid(F729BE0C-ACE5-470B-8F98-DAE52D6A5949),
helpstring("CoreXmlFile Class")
]
coclass CoreXmlFile
{
[default] interface ICoreStorage;
interface ISupportErrorInfo;
};
};
--- NEW FILE: XmlBackEnd.rc ---
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"1 TYPELIB ""XmlBackEnd.tlb""\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904B0"
BEGIN
VALUE "CompanyName", "\0"
VALUE "FileDescription", "XmlBackEnd Module\0"
VALUE "FileVersion", "1, 0, 0, 1\0"
VALUE "InternalName", "XmlBackEnd\0"
VALUE "LegalCopyright", "Copyright 2004\0"
VALUE "OriginalFilename", "XmlBackEnd.DLL\0"
VALUE "ProductName", "XmlBackEnd Module\0"
VALUE "ProductVersion", "1, 0, 0, 1\0"
VALUE "OLESelfRegister", "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // !_MAC
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_DIALOG_VSSLOGIN DIALOG DISCARDABLE 0, 0, 258, 151
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Login to VSS Database"
FONT 8, "MS Sans Serif"
BEGIN
LTEXT "This project is connected to a SourceSafe database. You have to login to the database to work with this project.",
IDC_STATIC,7,7,244,18
LTEXT "Project",IDC_STATIC,17,33,22,8
LTEXT "c:\\temp\\alma1.mgx",IDC_STATIC_PROJECT,52,33,183,8
LTEXT "Database",IDC_STATIC,17,53,31,8
LTEXT "c:\\temp\\almafa\\kortefa\\dinnye\\somminden\\sourcesafe.ini",
IDC_STATIC_DATABASE,52,53,183,10
LTEXT "User:",IDC_STATIC,17,73,17,8
EDITTEXT IDC_EDIT_USER,52,71,120,14,ES_AUTOHSCROLL
LTEXT "Password:",IDC_STATIC,17,93,33,8
EDITTEXT IDC_EDIT_PWD,52,91,120,14,ES_PASSWORD | ES_AUTOHSCROLL
DEFPUSHBUTTON "OK",IDOK,71,120,50,14
PUSHBUTTON "Cancel",IDCANCEL,137,120,50,14
END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_DIALOG_VSSLOGIN, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 251
VERTGUIDE, 17
VERTGUIDE, 52
VERTGUIDE, 172
TOPMARGIN, 7
BOTTOMMARGIN, 144
END
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// REGISTRY
//
IDR_CoreXmlFile REGISTRY DISCARDABLE "CoreXmlFile.rgs"
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE DISCARDABLE
BEGIN
IDS_PROJNAME "XmlBackEnd"
IDS_COREXMLFILE_DESC "CoreXmlFile Class"
END
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
1 TYPELIB "XmlBackEnd.tlb"
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
More information about the GME-commit
mailing list