Listing 1: Definition of class pVCLComponent

#ifndef PVCLCOMPONENTH
#define PVCLCOMPONENTH

#include "StlUtils.h"
...// some defines here

class pVCLComponent
{       
public:
    pVCLComponent(const char *_sz_type, 
        const char *_sz_name, const char *_sz_include);
    virtual ~pVCLComponent();

    bool Parse(FILE *fin, char *sss, int level);

    int GetLevel();
    virtual bool OnParseEnd();

    void 
    LookForInt(const char *prop, int *dest, int def_val = 0);
    void 
    LookForBool(const char *prop, bool *dest, 
        bool def_val = true);
    void 
    LookForText(const char *prop, string* dest,  
        string def_val = "");
    void 
    LookForInfo(const char *prop, string* dest, 
        string def_val = "");
    virtual bool WriteCppHpp(StrList& slcpp, StrList& slhpp);
    static StringSet ss_include;

    ...// other members here

protected:
    inline void NextChar(FILE *fin, char ch);
    virtual bool ParseMore(FILE *fin, char *sss);
    string strName;
    string strType;

    IntMap im;
    StringMap sm_info;
    StringMap sm_text;
    BoolMap bm;
    int level;
};