Poco::CodeGeneration

class MethodPropertyFilter

Library: CodeGeneration
Package: CodeGeneration
Header: Poco/CodeGeneration/MethodPropertyFilter.h

Description

A MethodPropertyFilter filters methods according to properties. It works as a decorator, checking if a property is set at the method. If not it will simply ignore all method calls related to that method. It will not filter variables, includes, only methods excl. constructor and destructor are checked.

Inheritance

Direct Base Classes: CodeGenerator

All Base Classes: CodeGenerator

Member Summary

Member Functions: addFwdDecl, addIncludeFile, addSystemIncludeFile, copyright, endFile, includes, libraryName, methodEnd, methodStart, nameSpace, structEnd, structStart, systemIncludes, usePocoIncludeStyle, variable, variablesEnd, variablesStart, writeDefaultHeader, writeFwdDecl, writeImplementation, writeInclude, writeIncludes, writeMethodImplementation, writeNameSpaceBegin, writeNameSpaceEnd, writeSystemInclude, writeTypeDef

Inherited Functions: addFwdDecl, addIncludeFile, addSrcIncludeFile, addSystemIncludeFile, copyright, endFile, includes, libraryName, methodEnd, methodStart, nameSpace, structEnd, structStart, systemIncludes, usePocoIncludeStyle, variable, variablesEnd, variablesStart, writeDefaultHeader, writeFwdDecl, writeImplementation, writeInclude, writeIncludes, writeMethodImplementation, writeNameSpaceBegin, writeNameSpaceEnd, writeSystemInclude, writeTypeDef

Constructors

MethodPropertyFilter

MethodPropertyFilter(
    CodeGenerator * pGen,
    const CodeGenerator::Properties & properties
);

Creates a MethodPropertyFilter decorating another CodeGenerator. Takes ownership of the pointer which must not be 0. properties contains the properties that each method must match to be generated.

MethodPropertyFilter

MethodPropertyFilter(
    CodeGenerator * pGen,
    const std::string & prop
);

Creates a MethodPropertyFilter decorating another CodeGenerator. Takes ownership of the pointer which must not be 0. Convenience constructor which takes exactly one property.

Destructor

~MethodPropertyFilter virtual

~MethodPropertyFilter();

Destroys the MethodPropertyFilter.

Member Functions

addFwdDecl virtual inline

void addFwdDecl(
    const std::string & inclFile,
    const std::string & className,
    const std::string namespacePrefix
);

Adds a fwd decl.

See also: Poco::CodeGeneration::CodeGenerator::addFwdDecl()

addIncludeFile virtual inline

void addIncludeFile(
    const std::string & incFile
);

Adds an include file to the CodeGenerator. A call to this method is only meaningful until structStart was not called. Duplicate includes will be ignored. Contains the include path only, e.g. "include/MyClass.h" (without enclosing ")

See also: Poco::CodeGeneration::CodeGenerator::addIncludeFile()

addSystemIncludeFile virtual inline

void addSystemIncludeFile(
    const std::string & incFile
);

Adds a system include file.

See also: Poco::CodeGeneration::CodeGenerator::addSystemIncludeFile()

copyright virtual inline

const std::string & copyright() const;

See also: Poco::CodeGeneration::CodeGenerator::copyright()

endFile virtual inline

void endFile();

See also: Poco::CodeGeneration::CodeGenerator::endFile()

includes virtual inline

const CodeGenerator::IncludeSet & includes() const;

See also: Poco::CodeGeneration::CodeGenerator::includes()

libraryName virtual inline

const std::string & libraryName() const;

See also: Poco::CodeGeneration::CodeGenerator::libraryName()

methodEnd virtual

void methodEnd(
    const Poco::CppParser::Function * pFunc,
    const CodeGenerator::Properties & properties
);

See also: Poco::CodeGeneration::CodeGenerator::methodEnd()

methodStart virtual

void methodStart(
    const Poco::CppParser::Function * pFunc,
    const CodeGenerator::Properties & properties
);

See also: Poco::CodeGeneration::CodeGenerator::methodStart()

nameSpace virtual inline

const std::string & nameSpace() const;

See also: Poco::CodeGeneration::CodeGenerator::nameSpace()

structEnd virtual inline

void structEnd();

See also: Poco::CodeGeneration::CodeGenerator::structEnd()

structStart virtual inline

void structStart(
    const Poco::CppParser::Struct * pStruct,
    const CodeGenerator::Properties & properties
);

See also: Poco::CodeGeneration::CodeGenerator::structStart()

systemIncludes virtual inline

const CodeGenerator::IncludeSet & systemIncludes() const;

See also: Poco::CodeGeneration::CodeGenerator::systemIncludes()

usePocoIncludeStyle virtual inline

bool usePocoIncludeStyle() const;

See also: Poco::CodeGeneration::CodeGenerator::usePocoIncludeStyle()

variable virtual inline

void variable(
    const Poco::CppParser::Variable * pVar
);

See also: Poco::CodeGeneration::CodeGenerator::variable()

variablesEnd virtual inline

void variablesEnd();

See also: Poco::CodeGeneration::CodeGenerator::variablesEnd()

variablesStart virtual inline

void variablesStart();

See also: Poco::CodeGeneration::CodeGenerator::variablesStart()

writeDefaultHeader virtual inline

void writeDefaultHeader(
    const Poco::CppParser::Struct * pStruct,
    const std::string & className,
    const std::string & libraryName,
    const std::string & package
);

Writes the default header, e.g. copyright notice, no include namespace open or anything else is written This is always the first method that is called!

See also: Poco::CodeGeneration::CodeGenerator::writeDefaultHeader()

writeFwdDecl virtual inline

void writeFwdDecl(
    const FwdDecl & decl
);

See also: Poco::CodeGeneration::CodeGenerator::writeFwdDecl()

writeImplementation virtual inline

void writeImplementation(
    const std::string & code
);

See also: Poco::CodeGeneration::CodeGenerator::writeImplementation()

writeInclude virtual inline

void writeInclude(
    const std::string & include,
    bool toHeader
);

See also: Poco::CodeGeneration::CodeGenerator::writeInclude()

writeIncludes virtual inline

void writeIncludes();

Convenience Functions which calls for all include files writeInclude, also writes fwdDecls.

See also: Poco::CodeGeneration::CodeGenerator::writeIncludes()

writeMethodImplementation virtual

void writeMethodImplementation(
    const std::string & code
);

See also: Poco::CodeGeneration::CodeGenerator::writeMethodImplementation()

writeNameSpaceBegin virtual inline

void writeNameSpaceBegin(
    const std::string & ns
);

See also: Poco::CodeGeneration::CodeGenerator::writeNameSpaceBegin()

writeNameSpaceEnd virtual inline

void writeNameSpaceEnd(
    const std::string & ns
);

See also: Poco::CodeGeneration::CodeGenerator::writeNameSpaceEnd()

writeSystemInclude virtual inline

void writeSystemInclude(
    const std::string & include
);

See also: Poco::CodeGeneration::CodeGenerator::writeSystemInclude()

writeTypeDef virtual inline

void writeTypeDef(
    const Poco::CppParser::TypeDef * pType
);

See also: Poco::CodeGeneration::CodeGenerator::writeTypeDef()