diff options
author | Constantin Jucovschi <cj@ubuntu.localdomain> | 2009-04-24 07:20:22 -0400 |
---|---|---|
committer | Constantin Jucovschi <cj@ubuntu.localdomain> | 2009-04-24 07:20:22 -0400 |
commit | 8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 (patch) | |
tree | bd328a4dd4f92d32202241b5e3a7f36177792c5f /include | |
download | rasdaman-upstream-8f27e65bddd7d4b8515ce620fb485fdd78fcdf89.tar.gz rasdaman-upstream-8f27e65bddd7d4b8515ce620fb485fdd78fcdf89.tar.xz rasdaman-upstream-8f27e65bddd7d4b8515ce620fb485fdd78fcdf89.zip |
Initial commitv8.0
Diffstat (limited to 'include')
-rw-r--r-- | include/basictypes.hh | 207 | ||||
-rw-r--r-- | include/basictypes.odl | 112 | ||||
-rw-r--r-- | include/bool.h | 23 | ||||
-rw-r--r-- | include/globals.hh | 77 | ||||
-rw-r--r-- | include/rasdaman.hh | 70 | ||||
-rw-r--r-- | include/stdexcept.h | 144 |
6 files changed, 633 insertions, 0 deletions
diff --git a/include/basictypes.hh b/include/basictypes.hh new file mode 100644 index 0000000..8148208 --- /dev/null +++ b/include/basictypes.hh @@ -0,0 +1,207 @@ +/* +* This file is part of rasdaman community. +* +* Rasdaman community is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* Rasdaman community is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with rasdaman community. If not, see <http://www.gnu.org/licenses/>. +* +* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +rasdaman GmbH. +* +* For more information please see <http://www.rasdaman.org> +* or contact Peter Baumann via <baumann@rasdaman.com>. +*/ + +//------------------------------------------------------------ +// This file is created automatically by the rasdl processor. +// +// DO NOT EDIT +//------------------------------------------------------------ + +#ifndef __BASICTYPES_HH_ +#define __BASICTYPES_HH_ + +//------------------------------------------------------------ +// Includes +//------------------------------------------------------------ + +#include "rasdaman.hh" + +/*[2,25]*//* TYPEDEF ------------------------- GreyImage */ +typedef r_Marray<r_Char> GreyImage; + +/*[3,24]*//* TYPEDEF ------------------------- GreySet */ +typedef r_Set<r_Ref<GreyImage> > GreySet; + +/*[6,28]*//* TYPEDEF ------------------------- BoolImage */ +typedef r_Marray<r_Boolean> BoolImage; + +/*[7,24]*//* TYPEDEF ------------------------- BoolSet */ +typedef r_Set<r_Ref<BoolImage> > BoolSet; + +/*[10,1]*//* STRUCT -------------------------- RGBPixel */ +struct RGBPixel { + r_Char red; + r_Char green; + r_Char blue; +}; +/*[11,29]*//* TYPEDEF ------------------------- RGBImage */ +typedef r_Marray<RGBPixel> RGBImage; + +/*[12,23]*//* TYPEDEF ------------------------- RGBSet */ +typedef r_Set<r_Ref<RGBImage> > RGBSet; + +/*[15,35]*//* TYPEDEF ------------------------- ULongImage */ +typedef r_Marray<r_ULong > ULongImage; + +/*[16,25]*//* TYPEDEF ------------------------- ULongSet */ +typedef r_Set<r_Ref<ULongImage> > ULongSet; + +/*[19,26]*//* TYPEDEF ------------------------- GreyCube */ +typedef r_Marray<r_Char> GreyCube; + +/*[20,23]*//* TYPEDEF ------------------------- GreySet3 */ +typedef r_Set<r_Ref<GreyCube> > GreySet3; + +/*[24,29]*//* TYPEDEF ------------------------- BoolString */ +typedef r_Marray<r_Boolean> BoolString; + +/*[25,25]*//* TYPEDEF ------------------------- BoolSet1 */ +typedef r_Set<r_Ref<BoolString> > BoolSet1; + +/*[27,29]*//* TYPEDEF ------------------------- BoolCube */ +typedef r_Marray<r_Boolean> BoolCube; + +/*[28,23]*//* TYPEDEF ------------------------- BoolSet3 */ +typedef r_Set<r_Ref<BoolCube> > BoolSet3; + +/*[30,26]*//* TYPEDEF ------------------------- GreyString */ +typedef r_Marray<r_Char> GreyString; + +/*[31,25]*//* TYPEDEF ------------------------- GreySet1 */ +typedef r_Set<r_Ref<GreyString> > GreySet1; + +/*[33,27]*//* TYPEDEF ------------------------- ShortString */ +typedef r_Marray<r_Short > ShortString; + +/*[34,26]*//* TYPEDEF ------------------------- ShortSet1 */ +typedef r_Set<r_Ref<ShortString> > ShortSet1; + +/*[36,27]*//* TYPEDEF ------------------------- ShortImage */ +typedef r_Marray<r_Short > ShortImage; + +/*[37,25]*//* TYPEDEF ------------------------- ShortSet */ +typedef r_Set<r_Ref<ShortImage> > ShortSet; + +/*[39,27]*//* TYPEDEF ------------------------- ShortCube */ +typedef r_Marray<r_Short > ShortCube; + +/*[40,24]*//* TYPEDEF ------------------------- ShortSet3 */ +typedef r_Set<r_Ref<ShortCube> > ShortSet3; + +/*[42,36]*//* TYPEDEF ------------------------- UShortString */ +typedef r_Marray<r_UShort > UShortString; + +/*[43,27]*//* TYPEDEF ------------------------- UShortSet1 */ +typedef r_Set<r_Ref<UShortString> > UShortSet1; + +/*[45,36]*//* TYPEDEF ------------------------- UShortImage */ +typedef r_Marray<r_UShort > UShortImage; + +/*[46,26]*//* TYPEDEF ------------------------- UShortSet */ +typedef r_Set<r_Ref<UShortImage> > UShortSet; + +/*[48,36]*//* TYPEDEF ------------------------- UShortCube */ +typedef r_Marray<r_UShort > UShortCube; + +/*[49,25]*//* TYPEDEF ------------------------- UShortSet3 */ +typedef r_Set<r_Ref<UShortCube> > UShortSet3; + +/*[51,26]*//* TYPEDEF ------------------------- LongString */ +typedef r_Marray<r_Long > LongString; + +/*[52,25]*//* TYPEDEF ------------------------- LongSet1 */ +typedef r_Set<r_Ref<LongString> > LongSet1; + +/*[54,26]*//* TYPEDEF ------------------------- LongImage */ +typedef r_Marray<r_Long > LongImage; + +/*[55,24]*//* TYPEDEF ------------------------- LongSet */ +typedef r_Set<r_Ref<LongImage> > LongSet; + +/*[57,26]*//* TYPEDEF ------------------------- LongCube */ +typedef r_Marray<r_Long > LongCube; + +/*[58,23]*//* TYPEDEF ------------------------- LongSet3 */ +typedef r_Set<r_Ref<LongCube> > LongSet3; + +/*[60,35]*//* TYPEDEF ------------------------- ULongString */ +typedef r_Marray<r_ULong > ULongString; + +/*[61,26]*//* TYPEDEF ------------------------- ULongSet1 */ +typedef r_Set<r_Ref<ULongString> > ULongSet1; + +/*[63,35]*//* TYPEDEF ------------------------- ULongCube */ +typedef r_Marray<r_ULong > ULongCube; + +/*[64,24]*//* TYPEDEF ------------------------- ULongSet3 */ +typedef r_Set<r_Ref<ULongCube> > ULongSet3; + +/*[66,30]*//* TYPEDEF ------------------------- RGBString */ +typedef r_Marray<RGBPixel> RGBString; + +/*[67,24]*//* TYPEDEF ------------------------- RGBSet1 */ +typedef r_Set<r_Ref<RGBString> > RGBSet1; + +/*[69,30]*//* TYPEDEF ------------------------- RGBCube */ +typedef r_Marray<RGBPixel> RGBCube; + +/*[70,22]*//* TYPEDEF ------------------------- RGBSet3 */ +typedef r_Set<r_Ref<RGBCube> > RGBSet3; + +/*[72,27]*//* TYPEDEF ------------------------- FloatString */ +typedef r_Marray<r_Float> FloatString; + +/*[73,26]*//* TYPEDEF ------------------------- FloatSet1 */ +typedef r_Set<r_Ref<FloatString> > FloatSet1; + +/*[75,27]*//* TYPEDEF ------------------------- FloatImage */ +typedef r_Marray<r_Float> FloatImage; + +/*[76,25]*//* TYPEDEF ------------------------- FloatSet */ +typedef r_Set<r_Ref<FloatImage> > FloatSet; + +/*[78,27]*//* TYPEDEF ------------------------- FloatCube */ +typedef r_Marray<r_Float> FloatCube; + +/*[79,24]*//* TYPEDEF ------------------------- FloatSet3 */ +typedef r_Set<r_Ref<FloatCube> > FloatSet3; + +/*[81,28]*//* TYPEDEF ------------------------- DoubleString */ +typedef r_Marray<r_Double> DoubleString; + +/*[82,27]*//* TYPEDEF ------------------------- DoubleSet1 */ +typedef r_Set<r_Ref<DoubleString> > DoubleSet1; + +/*[84,28]*//* TYPEDEF ------------------------- DoubleImage */ +typedef r_Marray<r_Double> DoubleImage; + +/*[85,26]*//* TYPEDEF ------------------------- DoubleSet */ +typedef r_Set<r_Ref<DoubleImage> > DoubleSet; + +/*[87,28]*//* TYPEDEF ------------------------- DoubleCube */ +typedef r_Marray<r_Double> DoubleCube; + +/*[88,25]*//* TYPEDEF ------------------------- DoubleSet3 */ +typedef r_Set<r_Ref<DoubleCube> > DoubleSet3; + +#endif diff --git a/include/basictypes.odl b/include/basictypes.odl new file mode 100644 index 0000000..ec1884c --- /dev/null +++ b/include/basictypes.odl @@ -0,0 +1,112 @@ +// example 1 +typedef marray <char,2> GreyImage; +typedef set<GreyImage> GreySet; + +// example 2 +typedef marray <boolean,2> BoolImage; +typedef set<BoolImage> BoolSet; + +// example 3 +struct RGBPixel { char red, green, blue; }; +typedef marray <RGBPixel,2> RGBImage; +typedef set<RGBImage> RGBSet; + +// example 4 +typedef marray <unsigned long, 2> ULongImage; +typedef set<ULongImage> ULongSet; + +// example 5 +typedef marray <char, 3> GreyCube; +typedef set<GreyCube> GreySet3; + + +// heavily expanded types (Andreas) +typedef marray <boolean, 1> BoolString; +typedef set<BoolString> BoolSet1; + +typedef marray <boolean, 3> BoolCube; +typedef set<BoolCube> BoolSet3; + +typedef marray <char, 1> GreyString; +typedef set<GreyString> GreySet1; + +typedef marray <octet, 1> OctetString; +typedef set<OctetString> OctetSet1; + +typedef marray <octet, 2> OctetImage; +typedef set<OctetImage> OctetSet; + +typedef marray <octet, 3> OctetCube; +typedef set<OctetCube> OctetSet3; + +typedef marray <short, 1> ShortString; +typedef set<ShortString> ShortSet1; + +typedef marray <short, 2> ShortImage; +typedef set<ShortImage> ShortSet; + +typedef marray <short, 3> ShortCube; +typedef set<ShortCube> ShortSet3; + +typedef marray <unsigned short, 1> UShortString; +typedef set<UShortString> UShortSet1; + +typedef marray <unsigned short, 2> UShortImage; +typedef set<UShortImage> UShortSet; + +typedef marray <unsigned short, 3> UShortCube; +typedef set<UShortCube> UShortSet3; + +typedef marray <long, 1> LongString; +typedef set<LongString> LongSet1; + +typedef marray <long, 2> LongImage; +typedef set<LongImage> LongSet; + +typedef marray <long, 3> LongCube; +typedef set<LongCube> LongSet3; + +typedef marray <unsigned long, 1> ULongString; +typedef set<ULongString> ULongSet1; + +typedef marray <unsigned long, 3> ULongCube; +typedef set<ULongCube> ULongSet3; + +typedef marray <RGBPixel, 1> RGBString; +typedef set<RGBString> RGBSet1; + +typedef marray <RGBPixel, 3> RGBCube; +typedef set<RGBCube> RGBSet3; + +typedef marray <float, 1> FloatString; +typedef set<FloatString> FloatSet1; + +typedef marray <float, 2> FloatImage; +typedef set<FloatImage> FloatSet; + +typedef marray <float, 3> FloatCube; +typedef set<FloatCube> FloatSet3; + +typedef marray <float, 4> FloatCube4; +typedef set<FloatCube4> FloatSet4; + +typedef marray <double, 1> DoubleString; +typedef set<DoubleString> DoubleSet1; + +typedef marray <double, 2> DoubleImage; +typedef set<DoubleImage> DoubleSet; + +typedef marray <double, 3> DoubleCube; +typedef set<DoubleCube> DoubleSet3; + +typedef marray <complex, 1> Gauss1; +typedef set<Gauss1> GaussSet1; + +typedef marray<complexd, 1> Gauss2; +typedef set<Gauss2> GaussSet2; + +typedef marray <complex, 2> Gauss1Image; +typedef set<Gauss1Image> Gauss1Set; + +typedef marray<complexd, 2> Gauss2Image; +typedef set<Gauss2Image> Gauss2Set; diff --git a/include/bool.h b/include/bool.h new file mode 100644 index 0000000..c8cf406 --- /dev/null +++ b/include/bool.h @@ -0,0 +1,23 @@ +/* + * + * Copyright (c) 1994 + * Hewlett-Packard Company + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Hewlett-Packard Company makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + * + */ + +// most systems should have bool defined now (Sun CC 5.0, g++), it is in the +// ANSI standard. + +#ifdef OS_HPUX_10 +#define bool int +#endif +#define true 1 +#define false 0 diff --git a/include/globals.hh b/include/globals.hh new file mode 100644 index 0000000..e64392b --- /dev/null +++ b/include/globals.hh @@ -0,0 +1,77 @@ +/* +* This file is part of rasdaman community. +* +* Rasdaman community is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* Rasdaman community is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with rasdaman community. If not, see <http://www.gnu.org/licenses/>. +* +* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +rasdaman GmbH. +* +* For more information please see <http://www.rasdaman.org> +* or contact Peter Baumann via <baumann@rasdaman.com>. +/ +/** + * SOURCE: globals.hh + * + * MODULE: rasdaman + * CLASS: Globals + * + * PURPOSE: + * This class provides basic constants used across rasdaman. + * Any value that is of external importance (default names, timeouts, ...) + * but are NOT TO BE DELIVERED should be defined here. + * + * COMMENTS: + * - make this a real class + * - successively collect all important values here + * +*/ + +#ifndef GLOBALS_HH +#define GLOBALS_HH + +/// default rasmgr listen port +#define DEFAULT_PORT 7001 + +/// name of env var pointing to rasdaman home dir (ex: "/opt/rasdaman") +#define RMANHOME_VAR "RMANHOME" + +/// default name of server machine, if gethostname() fails +#define DEFAULT_HOSTNAME "localhost" + +/// default database name +#define DEFAULT_DBNAME "RASBASE" + +/// name of rasmgr configuration file +#define RASMGR_CONF_FILE "rasmgr.conf" + +/// default r/o login name for client tools +#define DEFAULT_USER "rasguest" +/// default password for this user +#define DEFAULT_PASSWD "rasguest" + +/// server log directory +#define LOGDIR "/log" +/// server alternative log directory, if RMANHOME not specified, defined via autoconf/automake +#define ALT_LOGDIR ABSOLUTE_LOG_DIR +/// log file suffix +#define LOG_SUFFIX "log" + +/// max transfer buffer size (import clients) +#define MAX_BUFFER_SIZE 4194304L + +/// client timeout [secs] +#define CLIENT_TIMEOUT 300 + +#endif // GLOBALS_HH + diff --git a/include/rasdaman.hh b/include/rasdaman.hh new file mode 100644 index 0000000..8c983c9 --- /dev/null +++ b/include/rasdaman.hh @@ -0,0 +1,70 @@ +/* +* This file is part of rasdaman community. +* +* Rasdaman community is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* Rasdaman community is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with rasdaman community. If not, see <http://www.gnu.org/licenses/>. +* +* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +rasdaman GmbH. +* +* For more information please see <http://www.rasdaman.org> +* or contact Peter Baumann via <baumann@rasdaman.com>. +*/ + +//------------------------------------------------------------ +// RasDaMan Standard Include +// +// DO NOT EDIT +//------------------------------------------------------------ + +#ifndef __RASDAMAN_HH_ +#define __RASDAMAN_HH_ + +//------------------------------------------------------------ +// Includes +//------------------------------------------------------------ + +#include "rasodmg/ref.hh" +#include "rasodmg/transaction.hh" +#include "rasodmg/database.hh" +#include "rasodmg/set.hh" +#include "rasodmg/iterator.hh" +#include "rasodmg/marray.hh" +#include "rasodmg/oqlquery.hh" +#include "rasodmg/storagelayout.hh" +#include "rasodmg/alignedtiling.hh" +#include "rasodmg/interesttiling.hh" +#include "rasodmg/dirtiling.hh" +#include "rasodmg/stattiling.hh" + +#include "raslib/endian.hh" +#include "raslib/odmgtypes.hh" +#include "raslib/mddtypes.hh" +#include "raslib/oid.hh" +#include "raslib/type.hh" +#include "raslib/minterval.hh" +#include "raslib/primitive.hh" +#include "raslib/complex.hh" +#include "raslib/structure.hh" +#include "raslib/primitivetype.hh" +#include "raslib/complextype.hh" +#include "raslib/structuretype.hh" +#include "raslib/rmdebug.hh" +#include "raslib/parseparams.hh" + +#include "conversion/convertor.hh" +#include "conversion/convfactory.hh" + +#include "compression/tilecompression.hh" + +#endif diff --git a/include/stdexcept.h b/include/stdexcept.h new file mode 100644 index 0000000..0c0a3af --- /dev/null +++ b/include/stdexcept.h @@ -0,0 +1,144 @@ +/* +* This file is part of rasdaman community. +* +* Rasdaman community is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* Rasdaman community is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with rasdaman community. If not, see <http://www.gnu.org/licenses/>. +* +* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +rasdaman GmbH. +* +* For more information please see <http://www.rasdaman.org> +* or contact Peter Baumann via <baumann@rasdaman.com>. +/ +/** + * INCLUDE: stdexcept.h + * + * CLASSES: exception + * logic_error + * domain_error + * invalid_argument + * length_error + * out_of_range + * runtime_error + * range_error + * overflow_error + * + * PURPOSE: + * This file implements the exception class hierarchy of + * Standard C++. It is thought to be substituted by a + * compiler package implementation in future. + * + * COMMENTS: + * +*/ + +#ifndef _D_EXCEPTION_ +#define _D_EXCEPTION_ + +class exception +{ + public: + exception() throw() : errorString(0) {}; + + exception( const char* s ) throw() + { + errorString = new char[strlen(s)+1]; + strcpy( errorString, s ); + }; + + exception( const exception& ex ) throw() + { + errorString = new char[strlen(ex.what())+1]; + strcpy( errorString, ex.what() ); + }; + + ~exception() throw() + { + if( errorString ) delete[] errorString; + }; + + exception& operator=( const exception& ex ) throw() + { + if( this != &ex ) + { + if( errorString ) delete[] errorString; + + errorString = new char[strlen(ex.what())+1]; + strcpy( errorString, ex.what() ); + } + return *this; + }; + + inline virtual const char* what() const throw() { return errorString; }; + + private: + char* errorString; +}; + + +class logic_error : public exception +{ + public: + logic_error( const char* what_arg ) throw() : exception( what_arg ) {}; +}; + + +class domain_error : public logic_error +{ + public: + domain_error( const char* what_arg ) throw() : logic_error( what_arg ) {}; +}; + + +class invalid_argument : public logic_error +{ + public: + invalid_argument( const char* what_arg ) throw() : logic_error( what_arg ) {}; +}; + + +class length_error : public logic_error +{ + public: + length_error( const char* what_arg ) throw() : logic_error( what_arg ) {}; +}; + + +class out_of_range : public logic_error +{ + public: + out_of_range( const char* what_arg ) throw() : logic_error( what_arg ) {}; +}; + + +class runtime_error : public exception +{ + public: + runtime_error( const char* what_arg ) throw() : exception( what_arg ) {}; +}; + + +class range_error : public runtime_error +{ + public: + range_error( const char* what_arg ) throw() : runtime_error( what_arg ) {}; +}; + + +class overflow_error : public runtime_error +{ + public: + overflow_error( const char* what_arg ) throw() : runtime_error( what_arg ) {}; +}; + +#endif |