stringapi: Use strings in CPack generator parameters

Most of these are turned into strings in the body of the method
(multiple times in some cases). Accept strings to simplify the API and
keep string construction down.
This commit is contained in:
Ben Boeckel 2014-02-03 21:04:22 -05:00 committed by Brad King
parent 971eb4d56e
commit 9f48d3bac2
4 changed files with 23 additions and 22 deletions

View File

@ -1482,8 +1482,8 @@ bool cmCPackGenerator::WantsComponentInstallation() const
//---------------------------------------------------------------------- //----------------------------------------------------------------------
cmCPackInstallationType* cmCPackInstallationType*
cmCPackGenerator::GetInstallationType(const char *projectName, cmCPackGenerator::GetInstallationType(const std::string& projectName,
const char *name) const std::string& name)
{ {
(void) projectName; (void) projectName;
bool hasInstallationType = this->InstallationTypes.count(name) != 0; bool hasInstallationType = this->InstallationTypes.count(name) != 0;
@ -1514,7 +1514,8 @@ cmCPackGenerator::GetInstallationType(const char *projectName,
//---------------------------------------------------------------------- //----------------------------------------------------------------------
cmCPackComponent* cmCPackComponent*
cmCPackGenerator::GetComponent(const char *projectName, const char *name) cmCPackGenerator::GetComponent(const std::string& projectName,
const std::string& name)
{ {
bool hasComponent = this->Components.count(name) != 0; bool hasComponent = this->Components.count(name) != 0;
cmCPackComponent *component = &this->Components[name]; cmCPackComponent *component = &this->Components[name];
@ -1582,7 +1583,7 @@ cmCPackGenerator::GetComponent(const char *projectName, const char *name)
++installTypesIt) ++installTypesIt)
{ {
component->InstallationTypes.push_back( component->InstallationTypes.push_back(
this->GetInstallationType(projectName, installTypesIt->c_str())); this->GetInstallationType(projectName, *installTypesIt));
} }
} }
@ -1609,7 +1610,8 @@ cmCPackGenerator::GetComponent(const char *projectName, const char *name)
//---------------------------------------------------------------------- //----------------------------------------------------------------------
cmCPackComponentGroup* cmCPackComponentGroup*
cmCPackGenerator::GetComponentGroup(const char *projectName, const char *name) cmCPackGenerator::GetComponentGroup(const std::string& projectName,
const std::string& name)
{ {
(void) projectName; (void) projectName;
std::string macroPrefix = "CPACK_COMPONENT_GROUP_" std::string macroPrefix = "CPACK_COMPONENT_GROUP_"

View File

@ -245,12 +245,14 @@ protected:
* @return true if component installation is supported and wanted. * @return true if component installation is supported and wanted.
*/ */
virtual bool WantsComponentInstallation() const; virtual bool WantsComponentInstallation() const;
virtual cmCPackInstallationType* GetInstallationType(const char *projectName, virtual cmCPackInstallationType* GetInstallationType(
const char* name); const std::string& projectName,
virtual cmCPackComponent* GetComponent(const char *projectName, const std::string& name);
const char* name); virtual cmCPackComponent* GetComponent(const std::string& projectName,
virtual cmCPackComponentGroup* GetComponentGroup(const char *projectName, const std::string& name);
const char* name); virtual cmCPackComponentGroup* GetComponentGroup(
const std::string& projectName,
const std::string& name);
cmSystemTools::OutputOption GeneratorVerbose; cmSystemTools::OutputOption GeneratorVerbose;
std::string Name; std::string Name;

View File

@ -151,7 +151,8 @@ cmCPackGeneratorFactory::~cmCPackGeneratorFactory()
} }
//---------------------------------------------------------------------- //----------------------------------------------------------------------
cmCPackGenerator* cmCPackGeneratorFactory::NewGenerator(const char* name) cmCPackGenerator* cmCPackGeneratorFactory::NewGenerator(
const std::string& name)
{ {
cmCPackGenerator* gen = this->NewGeneratorInternal(name); cmCPackGenerator* gen = this->NewGeneratorInternal(name);
if ( !gen ) if ( !gen )
@ -165,12 +166,8 @@ cmCPackGenerator* cmCPackGeneratorFactory::NewGenerator(const char* name)
//---------------------------------------------------------------------- //----------------------------------------------------------------------
cmCPackGenerator* cmCPackGeneratorFactory::NewGeneratorInternal( cmCPackGenerator* cmCPackGeneratorFactory::NewGeneratorInternal(
const char* name) const std::string& name)
{ {
if ( !name )
{
return 0;
}
cmCPackGeneratorFactory::t_GeneratorCreatorsMap::iterator it cmCPackGeneratorFactory::t_GeneratorCreatorsMap::iterator it
= this->GeneratorCreators.find(name); = this->GeneratorCreators.find(name);
if ( it == this->GeneratorCreators.end() ) if ( it == this->GeneratorCreators.end() )
@ -181,11 +178,11 @@ cmCPackGenerator* cmCPackGeneratorFactory::NewGeneratorInternal(
} }
//---------------------------------------------------------------------- //----------------------------------------------------------------------
void cmCPackGeneratorFactory::RegisterGenerator(const char* name, void cmCPackGeneratorFactory::RegisterGenerator(const std::string& name,
const char* generatorDescription, const char* generatorDescription,
CreateGeneratorCall* createGenerator) CreateGeneratorCall* createGenerator)
{ {
if ( !name || !createGenerator ) if ( !createGenerator )
{ {
cmCPack_Log(this->Logger, cmCPackLog::LOG_ERROR, cmCPack_Log(this->Logger, cmCPackLog::LOG_ERROR,
"Cannot register generator" << std::endl); "Cannot register generator" << std::endl);

View File

@ -31,12 +31,12 @@ public:
~cmCPackGeneratorFactory(); ~cmCPackGeneratorFactory();
//! Get the generator //! Get the generator
cmCPackGenerator* NewGenerator(const char* name); cmCPackGenerator* NewGenerator(const std::string& name);
void DeleteGenerator(cmCPackGenerator* gen); void DeleteGenerator(cmCPackGenerator* gen);
typedef cmCPackGenerator* CreateGeneratorCall(); typedef cmCPackGenerator* CreateGeneratorCall();
void RegisterGenerator(const char* name, void RegisterGenerator(const std::string& name,
const char* generatorDescription, const char* generatorDescription,
CreateGeneratorCall* createGenerator); CreateGeneratorCall* createGenerator);
@ -47,7 +47,7 @@ public:
{ return this->GeneratorDescriptions; } { return this->GeneratorDescriptions; }
private: private:
cmCPackGenerator* NewGeneratorInternal(const char* name); cmCPackGenerator* NewGeneratorInternal(const std::string& name);
std::vector<cmCPackGenerator*> Generators; std::vector<cmCPackGenerator*> Generators;
typedef std::map<cmStdString, CreateGeneratorCall*> t_GeneratorCreatorsMap; typedef std::map<cmStdString, CreateGeneratorCall*> t_GeneratorCreatorsMap;