diff -abBruN orocos-toolchain-2.2.0.orig/rtt/rtt/Service.cpp orocos-toolchain-2.2.0.mod/rtt/rtt/Service.cpp --- orocos-toolchain-2.2.0.orig/rtt/rtt/Service.cpp 2010-12-08 22:45:32.000000000 +0100 +++ orocos-toolchain-2.2.0.mod/rtt/rtt/Service.cpp 2011-01-26 10:42:05.818148503 +0100 @@ -122,7 +122,7 @@ return shared_ptr(); } - OperationInterfacePart* Service::getOperation( std::string name ) + OperationInterfacePart* Service::getOperation(const std::string& name ) { Logger::In in("Service::getOperation"); if ( this->hasMember(name ) ) { @@ -132,7 +132,7 @@ return 0; } - bool Service::resetOperation(std::string name, base::OperationBase* impl) + bool Service::resetOperation(const std::string& name, base::OperationBase* impl) { if (!hasOperation(name)) return false; @@ -140,7 +140,7 @@ return true; } - bool Service::setOperationThread(std::string const& name, ExecutionThread et) + bool Service::setOperationThread(const std::string& name, ExecutionThread et) { if ( !hasOperation(name) ) return false; @@ -175,7 +175,7 @@ return true; } - boost::shared_ptr Service::getLocalOperation( std::string name ) { + boost::shared_ptr Service::getLocalOperation(const std::string& name ) { if ( hasOperation(name) ) { return simpleoperations.find(name)->second->getImplementation(); } @@ -240,7 +240,7 @@ parent = p; } - internal::OperationCallerC Service::create(std::string name, ExecutionEngine* caller) { + internal::OperationCallerC Service::create(const std::string& name, ExecutionEngine* caller) { return internal::OperationCallerC( getPart(name), name, caller ); } diff -abBruN orocos-toolchain-2.2.0.orig/rtt/rtt/Service.hpp orocos-toolchain-2.2.0.mod/rtt/rtt/Service.hpp --- orocos-toolchain-2.2.0.orig/rtt/rtt/Service.hpp 2010-12-08 22:45:32.000000000 +0100 +++ orocos-toolchain-2.2.0.mod/rtt/rtt/Service.hpp 2011-01-26 10:42:05.818148503 +0100 @@ -163,7 +163,7 @@ * Remove a previously added sub-service. * @param the name of the service to remove. */ - virtual void removeService( std::string const& service_name ); + virtual void removeService(const std::string& service_name ); /** * Returns this Service. @@ -226,7 +226,7 @@ * @note Do not use this function unless you know what you're doing. * @see getOperation() for getting normal, remotely available operations. */ - boost::shared_ptr getLocalOperation( std::string name ); + boost::shared_ptr getLocalOperation(const std::string& name ); /** * Get a previously added operation for @@ -238,7 +238,7 @@ * @return A pointer to an operation interface part or a null pointer if * \a name was not found. */ - OperationInterfacePart* getOperation( std::string name ); + OperationInterfacePart* getOperation(const std::string& name ); /** * Removes a previously added operation. @@ -261,7 +261,7 @@ * operation will be executed, being OwnThread or ClientThread. * @return true if \a name was a local, present operation, false otherwise. */ - bool setOperationThread(std::string const& name, ExecutionThread et); + bool setOperationThread(const std::string& name, ExecutionThread et); /** * Add an operation object to the interface. This version @@ -313,7 +313,7 @@ */ template Operation< typename internal::GetSignature::Signature >& - addOperation( const std::string name, Func func, Service* serv, ExecutionThread et = ClientThread ) + addOperation( const std::string& name, Func func, Service* serv, ExecutionThread et = ClientThread ) { typedef typename internal::GetSignature::Signature Signature; Operation* op = new Operation(name, func, serv, et); @@ -334,7 +334,7 @@ */ template Operation< Func >& - addOperation( const std::string name, Func* func, ExecutionThread et = ClientThread ) + addOperation( const std::string& name, Func* func, ExecutionThread et = ClientThread ) { typedef Func Signature; boost::function bfunc = func; @@ -357,7 +357,7 @@ */ template Operation< typename internal::GetSignature::Signature >& - addSynchronousOperation( const std::string name, Func func, Service* serv, ExecutionThread et = ClientThread ) + addSynchronousOperation( const std::string& name, Func func, Service* serv, ExecutionThread et = ClientThread ) { typedef typename internal::GetSignature::Signature Signature; Operation* op = new Operation(name, func, serv, et); @@ -405,7 +405,7 @@ * * @return A internal::DataSource which, when evaluated, invokes the operation. */ - base::DataSourceBase::shared_ptr getOperation( std::string name, + base::DataSourceBase::shared_ptr getOperation(const std::string& name, const std::vector& args, ExecutionEngine* caller) const { return this->produce(name, args, caller); @@ -419,12 +419,12 @@ * * @return An object which can invoke a operation. */ - internal::OperationCallerC create(std::string name, ExecutionEngine* caller); + internal::OperationCallerC create(const std::string& name, ExecutionEngine* caller); /** * Reset the implementation of a operation. */ - bool resetOperation(std::string name, base::OperationBase* impl); + bool resetOperation(const std::string& name, base::OperationBase* impl); protected: typedef std::map< std::string, shared_ptr > Services; /// the services we implement. diff -abBruN orocos-toolchain-2.2.0.orig/rtt/rtt/TaskContext.hpp orocos-toolchain-2.2.0.mod/rtt/rtt/TaskContext.hpp --- orocos-toolchain-2.2.0.orig/rtt/rtt/TaskContext.hpp 2010-12-08 22:45:32.000000000 +0100 +++ orocos-toolchain-2.2.0.mod/rtt/rtt/TaskContext.hpp 2011-01-26 10:43:57.507148150 +0100 @@ -348,7 +348,7 @@ */ template Operation< typename internal::GetSignature::Signature >& - addOperation( const std::string name, Func func, Service* serv, ExecutionThread et = ClientThread ) + addOperation( const std::string& name, Func func, Service* serv, ExecutionThread et = ClientThread ) { return tcservice->addOperation(name,func, serv, et); } @@ -359,7 +359,7 @@ */ template Operation< Signature >& - addOperation( const std::string name, Signature* func, ExecutionThread et = ClientThread ) + addOperation( const std::string& name, Signature* func, ExecutionThread et = ClientThread ) { return tcservice->addOperation(name, func, et); } @@ -373,7 +373,7 @@ * * @return true if it could be found, false otherwise. */ - OperationInterfacePart* getOperation( std::string name ) + OperationInterfacePart* getOperation( const std::string& name ) { return tcservice->getOperation(name); }