mirror of
https://github.com/reactos/reactos.git
synced 2025-08-07 02:42:59 +00:00

fixed some memory leaks in Project detect and report "end of file looking for end tag" instead of just crashing svn path=/branches/xmlbuildsystem/; revision=12911
42 lines
685 B
C++
42 lines
685 B
C++
#ifndef __BACKEND_H
|
|
#define __BACKEND_H
|
|
|
|
#include "../rbuild.h"
|
|
|
|
class Backend;
|
|
|
|
typedef Backend* BackendFactory ( Project& project );
|
|
|
|
class Backend
|
|
{
|
|
public:
|
|
class Factory
|
|
{
|
|
static std::map<std::string,Factory*>* factories;
|
|
static int ref;
|
|
|
|
protected:
|
|
|
|
Factory ( const std::string& name_ );
|
|
virtual ~Factory();
|
|
|
|
virtual Backend* operator() ( Project& ) = 0;
|
|
|
|
public:
|
|
static Backend* Create ( const std::string& name,
|
|
Project& project );
|
|
|
|
private:
|
|
};
|
|
|
|
protected:
|
|
Backend ( Project& project );
|
|
|
|
public:
|
|
virtual void Process () = 0;
|
|
|
|
protected:
|
|
Project& ProjectNode;
|
|
};
|
|
|
|
#endif /* __BACKEND_H */
|