Changed LICENSE. Now referenced to web site and file on project root directory
[anna.git] / source / comm / CompatCodec.cpp
index 1243fb6..7719090 100644 (file)
@@ -1,37 +1,9 @@
-// ANNA - Anna is Not 'N' Anymore
-//
-// (c) Copyright 2005-2014 Eduardo Ramos Testillano & Francisco Ruiz Rayo
-//
-// https://bitbucket.org/testillano/anna
-//
-// 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 Google Inc. 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 <stdlib.h>
@@ -120,9 +92,9 @@ throw(RuntimeException) {
   return result;
 }
 
-const comm::Variable* comm::CompatCodec::attach(const char* name, const short int id, Integer64& value)
+const comm::Variable* comm::CompatCodec::attach(const char* name, const short int id, S64& value)
 throw(RuntimeException) {
-  const Integer64 backup(value);
+  const S64 backup(value);
   const Variable* result = insert(name, id, a_variables, value);
   value = backup;
   return result;
@@ -199,17 +171,11 @@ throw(RuntimeException) {
   if(variable == NULL)
     throw RuntimeException(functions::asString("Id %d is not defined", id), ANNA_FILE_LOCATION);
 
-  switch(variable->isNull()) {
-  case true:
-
+  if(variable->isNull()) {
     if(isNull == false) a_nullCounter --;
-
-    break;
-  case false:
-
+  }
+  else {
     if(isNull == true) a_nullCounter ++;
-
-    break;
   }
 
   variable->setNull(isNull);
@@ -217,17 +183,11 @@ throw(RuntimeException) {
 
 void comm::CompatCodec::setNull(const comm::Variable* variable, const bool isNull)
 throw() {
-  switch(variable->isNull()) {
-  case true:
-
+  if(variable->isNull()) {
     if(isNull == false) a_nullCounter --;
-
-    break;
-  case false:
-
+  }
+  else {
     if(isNull == true) a_nullCounter ++;
-
-    break;
   }
 
   const_cast <comm::Variable*>(variable)->setNull(isNull);
@@ -281,13 +241,13 @@ throw(RuntimeException) {
 //-----------------------------------------------------------------------
 const DataBlock& comm::CompatCodec::code()
 throw(RuntimeException) {
-  register unsigned char c(0);
+  unsigned char c(0);
   iterator ii;
   iterator maxii(a_variables.end());
-  register Variable* variable;
+  Variable* variable;
   int stringLen;
   const char* string;
-  char aux [sizeof(Integer64)];
+  char aux [sizeof(S64)];
 
   if(a_scramble == true)     // (1)
     while(c == 0) c = rand() % 0xff;
@@ -317,7 +277,7 @@ throw(RuntimeException) {
       break;
     case Variable::Type::Integer64:
       self += variable->codec();
-      self.append(comm::functions::codeInteger64(aux, variable->getInteger64()), sizeof(Integer64));
+      self.append(comm::functions::codeInteger64(aux, variable->getInteger64()), sizeof(S64));
       break;
     case Variable::Type::Boolean:
       self.append(comm::functions::codeShort(aux, variable->getId()), sizeof(short int));      // (3)
@@ -349,6 +309,7 @@ throw(RuntimeException) {
         self += codec;
       }
       break;
+    default: break;
     }
   }
 
@@ -364,7 +325,7 @@ throw(RuntimeException) {
     char* data = const_cast <char*>(self.getData());
     int size = self.getSize();
 
-    for(register int i = 1, key = data [0]; i < size; i ++)
+    for(int i = 1, key = data [0]; i < size; i ++)
       data [i] ^= key ++;
   }
 
@@ -381,7 +342,7 @@ throw(RuntimeException) {
     throw RuntimeException("Can not decode an empty DataBlock", ANNA_FILE_LOCATION);
 
   if(data [0] != 0)
-    for(register int i = 1, key(data [0]); i < size; i ++)
+    for(int i = 1, key(data [0]); i < size; i ++)
       const_cast <char*>(data)[i] ^= key ++;
 
   LOGDEBUG(Logger::write(Logger::Debug, "comm::CompatCodec::decode", dataBlock, ANNA_FILE_LOCATION));
@@ -440,7 +401,7 @@ throw(RuntimeException) {
       break;
     case Variable::Type::Integer64:
       variable->setValue(comm::functions::decodeInteger64(++ data));
-      data += sizeof(Integer64);
+      data += sizeof(S64);
       break;
     case  Variable::Type::Boolean:
       variable->setBoolean((*data & 0x80) ? true : false);
@@ -515,7 +476,7 @@ throw(RuntimeException) {
       break;
     case Variable::Type::Integer64:
       variable->setValue(comm::functions::decodeInteger64(++ data));
-      data += sizeof(Integer64);
+      data += sizeof(S64);
       break;
     case  Variable::Type::Boolean:
       variable->setBoolean((*data & 0x80) ? true : false);
@@ -586,7 +547,7 @@ throw() {
 
 comm::Variable* comm::CompatCodec::VariableContainer::find(const int id)
 throw() {
-  for(register int ii = 0; ii < a_size; ii ++) {
+  for(int ii = 0; ii < a_size; ii ++) {
     if(a_variables [ii]->getId() == id)
       return a_variables [ii];
   }
@@ -596,7 +557,7 @@ throw() {
 
 const comm::Variable* comm::CompatCodec::VariableContainer::find(const int id) const
 throw() {
-  for(register int ii = 0; ii < a_size; ii ++) {
+  for(int ii = 0; ii < a_size; ii ++) {
     if(a_variables [ii]->getId() == id)
       return a_variables [ii];
   }