|
//====================================================================
// Although great care has gone into developing this software,
// it is provided without any guarantee of reliability, accuracy
// of information, or correctness of operation. I am not responsible
// for any damages that may occur as a result of using this software.
// Use this software entirely at your own risk.
// Copyright 2003, Chris Richardson
//
// Description: Classes used to read VC7 projects and solutions.
//
//====================================================================
#if !defined( _VC_7_OBJECTS_H_DEFINED_ )
#define _VC_7_OBJECTS_H_DEFINED_
#include "DSObjects.h"
class CPugXmlBranch;
//////////////////////////////////////////////////////////////////////
// CVC7Settings - Stores the compile settings that we are interested in,
// for each configuration, and can read version 7 cmd line.
//////////////////////////////////////////////////////////////////////
class CVC7Settings : public CDSSettings
{
public:
CVC7Settings();
virtual ~CVC7Settings();
virtual void ParseSettings( CDSSettings * p_poFileSettings, CDSParsedSettings & p_roSettings ) const;
ParseStatus ReadFromXml( CPugXmlBranch * p_poBranch );
};
//////////////////////////////////////////////////////////////////////
// CDSConfigurationHolder - Stores a map of configuration names to
// compiler settings objects, and can
// read version 7 configuration nodes.
//////////////////////////////////////////////////////////////////////
class CVC7ConfigurationHolder : public CDSConfigurationHolder
{
public:
CVC7ConfigurationHolder();
virtual ~CVC7ConfigurationHolder();
ParseStatus ReadFromXml( CPugXmlBranch * p_poBranch,
const TCHAR * p_pszChildName );
};
//////////////////////////////////////////////////////////////////////
// CVC7File - Represents one source file.
// Stores the compiler settings for per-file configuration changes,
// and can read version 7 "File" nodes.
//////////////////////////////////////////////////////////////////////
class CVC7File : public CDSFile
{
public:
CVC7File();
virtual ~CVC7File();
ParseStatus ReadFromXml( const TCHAR * p_pszProjectDir,
CPugXmlBranch * p_poBranch );
};
//////////////////////////////////////////////////////////////////////
// CVC7Project - Represents one project.
// Stores the list of files and configurations,
// and can read version 7 project files.
//////////////////////////////////////////////////////////////////////
class CVC7Project : public CDSProject
{
public:
CVC7Project();
virtual ~CVC7Project();
virtual ParseStatus ReadProject( const TCHAR * p_pszPath );
};
//////////////////////////////////////////////////////////////////////
// CVC7Workspace - Represents one workspace.
// Stores the list of projects,
// and can read version 7 workspaces (solutions).
//////////////////////////////////////////////////////////////////////
class CVC7Workspace : public CDSWorkspace
{
public:
CVC7Workspace();
virtual ~CVC7Workspace();
virtual ParseStatus ReadOneProject( const TCHAR * p_pszProjectPath );
protected:
virtual ParseStatus ParseLine( TCHAR * p_pszLine );
static bool s_bHaveStandardIncludes;
};
#endif // _VC_7_OBJECTS_H_DEFINED_
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.