Click here to Skip to main content
15,891,951 members
Articles / Desktop Programming / ATL

CM_ConfigBuilder 1.2g: Visual Studio 6/Visual Studio 2005/Visual Studio 2008 Code Generator for Application Settings Graphic Management

Rate me:
Please Sign up or sign in to vote.
4.94/5 (126 votes)
12 Feb 2008CPOL17 min read 697.5K   9.8K   262  
CM_ConfigBuilder generates and compiles the required files to manage your application's settings/preferences and to store/retrieve them in XML format.
// CCppClassArrayGenerator.h
//
#if !defined (_CCPPCLASSARRAYGENERATOR_H_)
#define _CCPPCLASSARRAYGENERATOR_H_

#include <string>
#include "enums.h"
#include "CppBaseGenerator.h"

class CProjectSettings;
class CXMLStorageElement;

using namespace std;

class CCppClassArrayGenerator: public CCppBaseGenerator
{
public:
	CCppClassArrayGenerator();
	virtual ~CCppClassArrayGenerator();

	virtual void Generate();
	
protected:
	// header file generators
	//
	virtual void GenerateHeader();
	virtual void Head_generateHeader();
	virtual void Head_generateIfDefBegin();
	virtual void Head_generateIncludeSection();
	virtual void Head_generateForwardDecl();
	virtual void Head_generateClassBegin();
	virtual void Head_generateConstructor();
	virtual void Head_generateDestructor();
	virtual void Head_generateMethods();
	virtual void Head_generateSerialization();
	virtual void Head_generateMembers();
	virtual void Head_generateIfDefEnd();
	virtual void Head_generateClassEnd();

	// implementation file generators
	//
	virtual void GenerateImplementation();
	virtual void Impl_generateHeader();
	virtual void Impl_generateIncludeSection();
	virtual void Impl_generateConstructor();
	virtual void Impl_generateDestructor();
	virtual void Impl_generateMethods();
	virtual void Impl_generateSerialization();

private:
	
	string headCode_;
	string implCode_;
};

#endif //!defined (_CCPPCLASSARRAYGENERATOR_H_)

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.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
Italy Italy
For all Stefano's latest code, binaries and tutorials visit www.codemachines.com

Comments and Discussions