X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=source%2Fcomm%2FSocket.cpp;h=365f4278ba750a08e71398fe3b0916dd4642258c;hb=5a6cba5fde2b2f538a7515f8293cc0a8d9589dfa;hp=b066a0d898521ea205f4977751e39c3aadd4ebae;hpb=39033fd99e58e994a5e98c1060dcc79e0d81f9c9;p=anna.git diff --git a/source/comm/Socket.cpp b/source/comm/Socket.cpp index b066a0d..365f427 100644 --- a/source/comm/Socket.cpp +++ b/source/comm/Socket.cpp @@ -1,37 +1,9 @@ -// ANNA - Anna is Not Nothingness Anymore -// -// (c) Copyright 2005-2014 Eduardo Ramos Testillano & Francisco Ruiz Rayo -// -// http://redmine.teslayout.com/projects/anna-suite -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Authors: eduardo.ramos.testillano@gmail.com -// cisco.tierra@gmail.com +// ANNA - Anna is Not Nothingness Anymore // +// // +// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo // +// // +// See project site at http://redmine.teslayout.com/projects/anna-suite // +// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE // #include @@ -125,7 +97,7 @@ Socket::~Socket() { } bool Socket::support(const char* transportClassName) const -throw() { +{ if(a_transportFactory == NULL) return false; @@ -137,7 +109,7 @@ throw() { // ya tienen activa su propia zona de exclusin. //--------------------------------------------------------------------------- void Socket::open() -throw(RuntimeException) { +noexcept(false) { if(a_fd != -1) return; @@ -172,7 +144,7 @@ throw(RuntimeException) { } void Socket::close() -throw() { +{ if(a_fd == -1) return; @@ -192,7 +164,7 @@ throw() { } bool Socket::setBlockingMode(const bool blockingMode) -throw(RuntimeException) { +noexcept(false) { int opts; int result; anna_socket_assert(a_fd == -1, "Socket is not opened"); @@ -215,7 +187,7 @@ throw(RuntimeException) { } bool Socket::setReuseMode(const bool reuseMode) -throw(RuntimeException) { +noexcept(false) { anna_socket_assert(a_fd == -1, "Socket is not opened"); if(a_reuseMode == reuseMode) @@ -232,7 +204,7 @@ throw(RuntimeException) { } void Socket::bind() -throw(RuntimeException) { +noexcept(false) { Guard guard(*this, "comm::Socket::bind"); if(a_fd == -1) @@ -259,17 +231,14 @@ throw(RuntimeException) { } int Socket::do_bind(const struct sockaddr *addr, const int len) -throw(RuntimeException) { +noexcept(false) { return ::bind(a_fd, addr, len); } std::string Socket::asString() const -throw() { +{ std::string msg("comm::Socket { Domain: "); - if(this == NULL) - return msg += " }"; - switch(a_domain) { case Domain::Unix: msg += "Unix"; break; case Domain::Inet: msg += "Inet"; break; @@ -306,7 +275,7 @@ throw() { } xml::Node* Socket::asXML(xml::Node* parent) const -throw(RuntimeException) { +noexcept(false) { const char* aux; xml::Node* result = parent->createChild("comm.Socket"); @@ -344,7 +313,7 @@ throw(RuntimeException) { } const char* Socket::asText(const Socket::Notify::_v v) -throw() { +{ static const char* text [] = { "None", "ReceiveData", "Close", "Corrupt" }; return text [v]; }