Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 4f23c27070572be9f0b80d659f540b78 > files > 100

motor-debug-3.4.0-2mdv2009.0.i586.rpm

#ifndef __PROJECTNAME_H__
#define __PROJECTNAME_H__

#include "motorcommon.h"

__MOTOR_BEGIN_NAMESPACE

/*
*
* This class is intended for holding project names. To be exact,
* these are project name itself and a name of template.
*
*/

class projectname {
    private:
	string name, templname, version, revision;
	bool loaded, fmodified;

    protected:
	void clear();
	bool convert4();

    public:
	projectname();
	projectname(const string &pname/*, const string revision*/);
	~projectname();

	void setmodified(bool exp = true);

	virtual string getname() const;
	virtual string getregfname() const;
	virtual string getversion() const;
	virtual string gettemplatename() const;
//	virtual const string getrevision() const;

	virtual void setname(const string &aname);
	virtual void setversion(const string &aversion);
	virtual void settemplate(const string &atemplate);
//	virtual void setrevision(const string arevision);

	virtual void save();
	virtual bool load(const string &aname/*, const string arevision*/);
	virtual bool empty() const;
	virtual bool modified();

	virtual void populateparselist(pparamslist *parselist) const;
	virtual void absorb(const projectname &aname);

    public:
	virtual bool operator == (const projectname &aname) const;
	virtual bool operator != (const projectname &aname) const;
	virtual bool operator  < (const projectname &aname) const;
};

__MOTOR_END_NAMESPACE

#ifdef __MOTOR_USE_NAMESPACES

using motor::projectname;

#endif

#endif