sudo apt-get install libboost-test-dev
Development module is no longer needed, but still unit testing is done through boost.
-
+ Pending migration to google test framework.
anna_library = { 'LIBS' : anna_rlibs }
localEnv.MergeFlags (anna_library)
-system_library = { 'LIBS' : [ 'xml2', 'rt' ] }
+system_library = { 'LIBS' : [ 'xml2', 'rt', 'pthread' ] }
localEnv.MergeFlags (system_library)
localEnv.Append(LIBPATH = anna_libpaths)
anna_library = { 'LIBS' : anna_rlibs }
localEnv.MergeFlags (anna_library)
-system_library = { 'LIBS' : [ 'xml2', 'rt' ] }
+system_library = { 'LIBS' : [ 'xml2', 'rt', 'pthread' ] }
localEnv.MergeFlags (system_library)
localEnv.Append(LIBPATH = anna_libpaths)
anna_library = { 'LIBS' : anna_rlibs }
localEnv.MergeFlags (anna_library)
-system_library = { 'LIBS' : [ 'xml2', 'rt' ] }
+system_library = { 'LIBS' : [ 'xml2', 'rt', 'pthread' ] }
localEnv.MergeFlags (system_library)
localEnv.Append(LIBPATH = anna_libpaths)
a)
echo "Advanced deployment"
DEPLOYMENTS_DIR=deployments/advanced
- DPATH_dflt=$HOME/ADL-advanced
+ DPATH_dflt=$HOME/ADL/advanced
;;
b)
echo "Basic deployment"
DEPLOYMENTS_DIR=deployments/basic
- DPATH_dflt=$HOME/ADL-basic
+ DPATH_dflt=$HOME/ADL/basic
;;
f)
echo "FT deployment"
DEPLOYMENTS_DIR=deployments/ft-client
- DPATH_dflt=$HOME/ADL-ft-client
+ DPATH_dflt=$HOME/ADL/ft-client
;;
*)
anna_library = { 'LIBS' : anna_rlibs }
localEnv.MergeFlags (anna_library)
-system_library = { 'LIBS' : [ 'xml2', 'rt' ] }
+system_library = { 'LIBS' : [ 'xml2', 'rt', 'pthread' ] }
localEnv.MergeFlags (system_library)
localEnv.Append(LIBPATH = anna_libpaths)
anna_library = { 'LIBS' : anna_rlibs }
localEnv.MergeFlags (anna_library)
-system_library = { 'LIBS' : [ 'xml2', 'rt' ] }
+system_library = { 'LIBS' : [ 'xml2', 'rt', 'pthread' ] }
localEnv.MergeFlags (system_library)
localEnv.Append(LIBPATH = anna_libpaths)
anna_library = { 'LIBS' : anna_rlibs }
localEnv.MergeFlags (anna_library)
-system_library = { 'LIBS' : [ 'xml2', 'rt' ] }
+system_library = { 'LIBS' : [ 'xml2', 'rt', 'pthread' ] }
localEnv.MergeFlags (system_library)
localEnv.Append(LIBPATH = anna_libpaths)
anna_library = { 'LIBS' : anna_rlibs }
localEnv.MergeFlags (anna_library)
-system_library = { 'LIBS' : [ 'xml2', 'rt' ] }
+system_library = { 'LIBS' : [ 'xml2', 'rt', 'pthread' ] }
localEnv.MergeFlags (system_library)
localEnv.Append(LIBPATH = anna_libpaths)
anna_library = { 'LIBS' : anna_rlibs }
localEnv.MergeFlags (anna_library)
-system_library = { 'LIBS' : [ 'ldap', 'xml2', 'rt' ] }
+system_library = { 'LIBS' : [ 'lber', 'ldap', 'xml2', 'rt', 'pthread' ] }
localEnv.MergeFlags (system_library)
localEnv.Append(LIBPATH = anna_libpaths)
anna_library = { 'LIBS' : anna_rlibs }
localEnv.MergeFlags (anna_library)
-system_library = { 'LIBS' : [ 'xml2', 'rt' ] }
+system_library = { 'LIBS' : [ 'xml2', 'rt', 'pthread' ] }
localEnv.MergeFlags (system_library)
localEnv.Append(LIBPATH = anna_libpaths)
anna_library = { 'LIBS' : anna_rlibs }
localEnv.MergeFlags (anna_library)
-system_library = { 'LIBS' : [ 'xml2', 'rt' ] }
+system_library = { 'LIBS' : [ 'xml2', 'rt', 'z' ] }
localEnv.MergeFlags (system_library)
localEnv.Append(LIBPATH = anna_libpaths)
#ifndef anna_config_defines_hpp
#define anna_config_defines_hpp
-#include <sys/types.h>
+//#include <sys/types.h>
+#include <stdint.h>
+// For cstd0x compatibility we will use stdint.h types instead of std:: ones on cstdint:
+//#include <cstdint> when C++11 available
#ifdef ANNA_FILE_LOCATION
#undef ANNA_FILE_LOCATION
namespace anna {
#ifndef __x86_64__
#undef __anna64__
-/** Defines required data type to conversion from pointer to integer */
-typedef int ptrnumber;
+///** Defines required data type to conversion from pointer to integer */
+//typedef int ptrnumber;
#else
#define __anna64__
-/** Defines required data type to conversion from pointer to integer */
-typedef long ptrnumber;
+///** Defines required data type to conversion from pointer to integer */
+//typedef long ptrnumber;
#endif
+
+typedef intptr_t ptrnumber;
+
}
/**
/**
\param number Numero a convertir.
- @return Un literal con el numero convertido a cadena decimal.
+ @return Un literal con el numero sin signo convertido a cadena decimal.
*/
- static std::string asString(const unsigned long number) throw();
+ static std::string asString(const unsigned int number) throw();
/**
\param number Numero a convertir.
@return Un literal con el numero sin signo convertido a cadena decimal.
*/
- static std::string asString(const unsigned int number) throw();
+ static std::string asString(const unsigned long long int number) throw() {
+ return asString((U64)number);
+ }
+
+ /**
+ \param number Numero a convertir.
+ @return Un literal con el numero sin signo convertido a cadena decimal.
+ */
+ static std::string asString(const long long int number) throw() {
+ return asString((S64)number);
+ }
/**
Devuelve un literal con tel numero convertido a cadena decimal
*/
static std::string asHexString(const S64 number) throw();
- /**
- \param number Numero a convertir.
- @return Un literal con el numero convertido a cadena hexadecimal.
- */
- static std::string asHexString(const long number) throw();
-
/**
\param number Numero a convertir.
@return Un literal con el numero convertido a cadena hexadecimal.
#include <stdio.h>
+#include <stdint.h>
+// For cstd0x compatibility we will use stdint.h types instead of std:: ones on cstdint:
+//#include <cstdint> when C++11 available
// Decoding helpers
namespace anna {
-// type bits (bytes) % Diameter Data typedef
-// -----------------------------------------------------------------------
-// unsigned short int 16 (2) hu U16
-// short int 16 (2) hd S16
-// unsigned int 32 (4) u Unsigned32 (*) U32
-// int 32 (4) d Integer32 (*) S32
-//
-// Integer. Its length traditionally depends on the length of the system's Word type, thus in MSDOS
-// it is 16 bits long, whereas in 32 bit systems (like Windows 9x/2000/NT and systems that work under
-// protected mode in x86 systems) it is 32 bits long (4 bytes)
-//
-// Como está previsto que en algunas máquinas la palabra sea de 16 bits, los enteros serían
-// de 16 y por ello C contempla: int (serían 16 bits), long int (32), long long int (64). Sin embargo
-// en la práctica, 'int = long int = 32' y 'long long int = 64'.
-//
-// (*) Por un mal hábito, representamos enteros de 32 bits con el tipo 'int'/'unsigned int' de
-// toda la vida, sin darnos cuenta de que en alguna máquina antigua, no tendría 32 bits.
-// Corregir lo anterior sería tan sencillo como poner S32 = long int (no int),
-// y U32 = unsigned long int (no unsigned int). Pero no lo vamos a hacer.
-//
-// El tipo 'long' tiene un tamaño que corresponde con el ancho de palabra del S.O.
-// En Solaris (palabra de 64) tenemos long = 64 = long long
-// En linux (palabra de 32) tenemos long = 32, long long = 64
-// En linux64 (palabra de 64) tenemos long = 64 = long long
-//
+#ifndef __x86_64__
+#undef __anna64__
+#else
+#define __anna64__
+#endif
+
+// TYPE BITS (bytes) Format
+// ----------------------- ------------------ ---------------------------
// unsigned long int 32/64 (4/8) lu
// long int 32/64 (4/8) ld
//
-// unsigned long long int 64 (8) llu Unsigned64 U64
-// long long int 64 (8) lld Integer64 S64
+// unsigned long long int 64 (8) llu
+// long long int 64 (8) lld
//
// float 32 (4) f
// double 64 (8) lf
// long double 80 (10) Lf
+//
+// pointer = S.O. word 32/64 p
-/** Alias for unsigned char: unsigned integer with 8 bits */
+/** Alias for unsigned integer with 8 bits */
+//typedef uint8_t U8;
typedef unsigned char U8;
-/** Alias for char: signed integer with 8 bits */
+/** Alias for signed integer with 8 bits */
+//typedef int8_t S8;
typedef char S8;
-/** Alias for unsigned short int: unsigned integer with 16 bits */
-typedef unsigned short int U16;
+/** Alias for unsigned integer with 16 bits */
+typedef uint16_t U16;
-/** Alias for short int: signed integer with 16 bits */
-typedef short int S16;
+/** Alias for signed integer with 16 bits */
+typedef int16_t S16;
-/** Alias for unsigned int: unsigned integer with 32 bits */
-typedef unsigned int U32;
+/** Alias for unsigned integer with 32 bits */
+typedef uint32_t U32;
-/** Alias for int: signed integer with 32 bits */
-typedef int S32;
+/** Alias for signed integer with 32 bits */
+typedef int32_t S32;
-///** Alias for unsigned long long: unsigned integer with 64 bits */
-//typedef unsigned long long int U64;
-//
-///** Alias for long long: signed integer with 64 bits */
-//typedef long long int S64;
-#ifndef __x86_64__
-#undef __anna64__
-/** Alias for long long: signed integer with 64 bits */
-typedef int64_t S64
-/** Alias for unsigned long long: unsigned integer with 64 bits */
-typedef u_int64_t U64;
-#else
-#define __anna64__
-/** Alias for long long: signed integer with 64 bits */
-typedef long long int S64;
-/** Alias for unsigned long long: unsigned integer with 64 bits */
-typedef unsigned long long int U64;
-#endif
+/** Alias for unsigned integer with 64 bits */
+typedef uint64_t U64;
+
+/** Alias for signed integer with 64 bits */
+typedef int64_t S64;
/** Alias for float: floating number with 32 bits (1-8-23) */
typedef float F32;
/** Alias for double: floating number with 64 bits (1-11-52) */
typedef double F64;
-/** Alias for unsigned int: unsigned integer with 32 bits used to contain 24 bits */
+/** Alias for long double: floating number with 80 bits (1-15-64) */
+typedef long double F80;
+
+/** Alias for unsigned integer with 32 bits used to contain 24 bits */
typedef U32 U24;
return string(aux);
}
-string functions::asString(const unsigned long number)
-throw() {
- return asString((U64)number);
-}
-
string functions::asString(const S64 number)
throw() {
char aux [24];
return string(aux);
}
-string functions::asHexString(const long number)
-throw() {
- return asHexString((S64)number);
-}
-
string functions::asHexString(const S64 number)
throw() {
char aux [32];