Repository :
http://git.fedorahosted.org/cgit/firewalld-recode.git
On branch : master
---------------------------------------------------------------
commit e7cbfa8a303e1c9ddde961962d33115f47b27c3c
Author: Jiri Popelka <jpopelka(a)redhat.com>
Date: Tue Sep 23 12:38:28 2014 +0200
Some getX methods can return reference.
If the method does not have to generate new container
it can simply return a reference to inner container.
---------------------------------------------------------------
src/Daemon/Firewall/Zone.cpp | 30 +++++++++++-------------------
src/Daemon/Firewall/Zone.hpp | 10 +++++-----
2 files changed, 16 insertions(+), 24 deletions(-)
diff --git a/src/Daemon/Firewall/Zone.cpp b/src/Daemon/Firewall/Zone.cpp
index ab176e5..31e4756 100644
--- a/src/Daemon/Firewall/Zone.cpp
+++ b/src/Daemon/Firewall/Zone.cpp
@@ -90,10 +90,9 @@ namespace firewalld
return (source_it != _source_map.end() ? source_it->second : nullptr);
}
- UStringKeyMap<Source*> Zone::getSources() const
+ const UStringKeyMap<Source*>& Zone::getSources() const
{
- UStringKeyMap<Source*> sources = _source_map;
- return sources;
+ return _source_map;
}
void Zone::addInterface(Interface* interface)
@@ -121,10 +120,9 @@ namespace firewalld
return (interface_it != _interface_map.end() ? interface_it->second : nullptr);
}
- UStringKeyMap<Interface*> Zone::getInterfaces() const
+ const UStringKeyMap<Interface*>& Zone::getInterfaces() const
{
- UStringKeyMap<Interface*> interfaces = _interface_map;
- return interfaces;
+ return _interface_map;
}
void Zone::addService(Service *service)
@@ -150,10 +148,9 @@ namespace firewalld
return (service_it != _service_map.end() ? service_it->second : nullptr);
}
- UStringKeyMap<Service*> Zone::getServices() const
+ const UStringKeyMap<Service*>& Zone::getServices() const
{
- UStringKeyMap<Service*> services = _service_map;
- return services;
+ return _service_map;
}
void Zone::addPort(Port* port)
@@ -224,19 +221,15 @@ namespace firewalld
return retval;
}
- std::map<Port::Range,Port*> Zone::getPorts(Port::Protocol protocol) const
+ const std::map<Port::Range,Port*>& Zone::getPorts(Port::Protocol protocol)
const
{
- std::map<Port::Range,Port*> port_map;
switch(protocol) {
case Port::Protocol::TCP:
- port_map = _tcp_port_map;
- break;
+ return _tcp_port_map;
case Port::Protocol::UDP:
- port_map = _udp_port_map;
- break;
+ return _udp_port_map;
default:
throw std::runtime_error("Invalid protocol");
- return port_map;
}
}
@@ -299,10 +292,9 @@ namespace firewalld
return (port_forward_it != _port_forward_map.end());
}
- std::map<Port::Range,PortForward*> Zone::getForwardPorts() const
+ const std::map<Port::Range,PortForward*>& Zone::getForwardPorts() const
{
- std::map<Port::Range,PortForward*> port_fw_map = _port_forward_map;
- return port_fw_map;
+ return _port_forward_map;
}
void Zone::initFromXML(const String& filepath)
diff --git a/src/Daemon/Firewall/Zone.hpp b/src/Daemon/Firewall/Zone.hpp
index af255d2..94eb1eb 100644
--- a/src/Daemon/Firewall/Zone.hpp
+++ b/src/Daemon/Firewall/Zone.hpp
@@ -50,24 +50,24 @@ namespace firewalld
bool removeSource(Source *source);
bool querySource(Source *source) const;
Source *getSource(const UString& source_spec) const;
- UStringKeyMap<Source*> getSources() const;
+ const UStringKeyMap<Source*>& getSources() const;
void addInterface(Interface* interface);
bool removeInterface(Interface* interface);
bool queryInterface(Interface* interface) const;
Interface* getInterface(const UString& source_spec) const;
- UStringKeyMap<Interface*> getInterfaces() const;
+ const UStringKeyMap<Interface*>& getInterfaces() const;
void addService(Service *service);
bool removeService(Service *service);
bool queryService(Service *service) const;
Service *getService(const UString& service_identifier) const;
- UStringKeyMap<Service*> getServices() const;
+ const UStringKeyMap<Service*>& getServices() const;
void addPort(Port* port);
bool removePort(Port* port);
bool queryPort(Port* port) const;
- std::map<Port::Range,Port*> getPorts(Port::Protocol protocol) const;
+ const std::map<Port::Range,Port*>& getPorts(Port::Protocol protocol)
const;
void setMasquerade(bool state);
bool queryMasquerade() const;
@@ -82,7 +82,7 @@ namespace firewalld
void addPortForward(PortForward* port_forward);
bool removePortForward(PortForward* port_forward);
bool queryPortForward(PortForward* port_forward) const;
- std::map<Port::Range,PortForward*> getForwardPorts() const;
+ const std::map<Port::Range,PortForward*>& getForwardPorts() const;
void initFromXML(const String& filepath);