Commit Graph

82 Commits

Author SHA1 Message Date
Binh-Minh Ribler
6496413284 [svn-r11264] Purpose: Additional code improvement
Description:
    Used "using" declaration and directive better to reduce namespace
    pollution.

Platforms tested:
    Linux 2.4 (heping)
    SunOS 5.8 64-bit (sol)
2005-08-18 17:16:56 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
Code cleanup

Description:
    Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.

Solution:
    Ran this script in each directory:

foreach f (*.[ch] *.cpp)
    sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 15:53:35 -05:00
Binh-Minh Ribler
07592ad7c3 [svn-r11206] Purpose: Additional wrapper/Code improvement
Description:
    Added wrapper for H5Iget_type.
    Added try/catch to many APIs that call private functions so that more
        specific information can be provided at failure.
    Added IdComponent::inMemFunc to help providing specific info.
    Added const to parameters of several functions that missed that.

Platforms tested:
    Linux 2.4 (heping)
    SunOS 5.8 64-bit (sol)
    AIX 5.1 (copper)
    IRIX64 with -n32 (modi4)
    HPUX 11.00 (kelgia)
2005-08-07 22:53:58 -05:00
Binh-Minh Ribler
fab172d704 [svn-r11151] Purpose: Fix bugzilla #407 and #408
Description:
    PropList::copyProp has incorrect prototype; although it works,
    it does cause users inconvenience.

Solution:
    Added another overloaded function with correct prototype.  The
    old version will be removed in a future release.  In the meantime,
    "Obsolete" will be displayed in its RM page.

    Also, changed several checks on the returned value of a C API from
    non-positive to negative because id = 0 is no longer significant,
    now that the C++ reference counting had been removed.

Platforms tested:
    Linux 2.4 (heping)
    IRIX64 with -n32 (modi4)
    Linux 2.4 w/PGI (colonelk)
2005-07-24 22:37:21 -05:00
Binh-Minh Ribler
b14a4fd95f [svn-r11060] Purpose: Fix bug (reported by user)
Description:
    The use of FileCreatPropList::DEFAULT sometimes caused failure
    in the reference counting area.  This occurs to all the default
    property lists, which also include FileAccPropList::DEFAULT,
    DSetCreatPropList::DEFAULT, and DSetMemXferPropList::DEFAULT.
    H5P_DEFAULT was used to create these default prop lists and
    because its value is 0, the id of these prop lists are 0, which
    is rejected by the H5I functions during the reference counting.

Solution:
    The main action to fix the above problem was to use
        H5P_FILE_CREATE
        H5P_FILE_ACCESS
        H5P_DATASET_CREATE
        H5P_DATASET_XFER
    to define the default property lists accordingly.  Yet, when this
    fix was applied, some bug in reference counting was revealed.
    It appeared that some ids were not incremented but were passed in
    for decrementing.  The following actions were then taken to fix and
    improve the current use of reference counting H5I functions.

        * added private func IdComponent::p_valid_id to verify that the
          id is a valid id and can be passed into an H5I function
        * used p_valid_id to validate an id before calling an H5I functions
          in the reference-counting member functions incRefCount,
          decRefCount, and getCounter
        * changed to use member function incRefCount, decRefCount, and
          getCounter instead of the C APIs H5Iinc_ref, H5Idec_ref, and
          H5Iget_ref throughout IdComponent.

    In addition, overloadings were added for incRefCount, decRefCount,
    and getCounter to take an id different than the id of the current
    instance; they can be convenient during debugging.

Platforms tested:
    Linux 2.4 (heping)
    SunOS 5.8 64-bit (sol)
    AIX 5.1 (copper)
2005-07-10 06:26:56 -05:00
Binh-Minh Ribler
3c48d3637b [svn-r10825] Purpose: Fix RM bug
Description:
    Doxygen 1.4.2 has a bug that when an \exception immediately
    follows a \brief, the exception will be displayed prominently
    in the brief section.

Solution:
    Temporarily added /// to after \brief to work around this
    problem and notified the Doxygen's author.

Platforms tested:
    Linux 2.4 (heping) - only in documentation sections
2005-05-29 17:26:56 -05:00
Binh-Minh Ribler
49fa4563ef [svn-r10212] Purpose: Added more wrappers
Description:
    Added the following to the C++ library
        + overloaded functions:
                string CommonFG::getObjnameByIdx(hsize_t idx)
                H5T_order_t AtomType::getOrder()
        + wrappers for H5*close
        + wrappers for H5Arename, H5Aget_storage_size, and H5Dget_storage_size

Platforms tested:
    Linux 2.4 (heping)
    AIX 5.1 (copper)
    SunOS 5.8 64-bit (sol)
2005-03-14 14:32:26 -05:00
Binh-Minh Ribler
6f2de2c62c [svn-r10050] Purpose: Fix bugzilla #241
Description:
    Checked return value from C API for failure condition.
    Added/Modified some comments appropriately.

Platforms tested:
    Linux 2.4 (heping)
    AIX 5.1 (copper) - tests passed but there were some old warnings about
			duplicate symbols on std::string; I'll check on that.
2005-02-20 15:45:44 -05:00
Binh-Minh Ribler
4a04b0c05c [svn-r9127] Purpose: Adding wrapper for new C API and other updates
Description:
    Added wrappers for H5Fget_name:
        H5File::getFileName
        H5Object::getFileName
    Moved some functions from Group into the base class CommonFG for
        H5File too.

Platforms tested:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)
2004-08-19 23:29:58 -05:00
Binh-Minh Ribler
e6266dd7a1 [svn-r9049] Purpose: Clean up code
Description:
    Removed private functions p_close, that were left over from the
    removal of the reference counting mechanism.

Platforms tested:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)

Misc. update:
    release_docs/RELEASE will be updated soon.
2004-08-07 01:30:15 -05:00
Binh-Minh Ribler
9f4a92e28f [svn-r8849] Purpose: Adding documentation with doxygen and fixing minor bug
Description:
    Added function headers with doxygen.
    Changed H5File::getFileSize according to C library.

Platforms tested:
    Linux 2.4 (eirene)
    FreeBSD 4.10 (sleipnir)

Misc. update:
2004-07-08 21:45:28 -05:00
Binh-Minh Ribler
c3bfac0639 [svn-r8837] Purpose: Update doc and fix minor bug
Description:
    H5IdComponent.cpp: initialized a pointer to NULL
    H5Object.cpp: removed functions being added by mistake
    Update function headers for the rest.

Platforms tested:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)
2004-07-08 14:48:45 -05:00
Raymond Lu
fde087cf57 [svn-r8820] Purpose: Bug fix
Description:  After changing H5Fget_filesize, forgot to update C++.


Platforms tested:  Tested for 1.6
2004-07-07 13:05:37 -05:00
Binh-Minh Ribler
52d1e37e8f [svn-r8746] Purpose:
Fixing minor bug

Description
    The new function H5File::getFileSize was missing a return statement.
    Added one.

Platforms:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)
2004-06-27 23:23:31 -05:00
Raymond Lu
ac54089f54 [svn-r8739] Purpose: New feature and Bug fix
Description:  1.  Added H5Fget_filesize and test(in file_handle.c) which returns
the actual file size of an opened file.  Also added to C++ API and test.
2.  The error tests were messed up in test/Makefile.in.

Solution:  1.  Call H5FDget_eof to return file size.  2. Corrected.

Platforms tested:  h5committest

Misc. update:  RELEASE.txt
2004-06-24 17:19:05 -05:00
Quincey Koziol
2ca10d0ace [svn-r8602] Purpose:
Code update

Description:
    Update C++ wrappers to use new ID reference counting mechanisms.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/C++
    Too focused to require h5committest
2004-06-01 09:47:19 -05:00
Binh-Minh Ribler
dee9ad2b7e [svn-r8595] Purpose:
Add/Improve documentation

Description
    Added doxygen documentation to H5PredType.cpp and made minor changes
    to the others for either correction or clarification.

Platforms:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)

Misc. update:
2004-05-28 01:25:56 -05:00
Binh-Minh Ribler
315ca49e4a [svn-r8588] Purpose:
Add C++ wrappers - incrementally check-in

Description
    Added wrapper for these C APIs:
        H5Rcreate
        H5Rget_obj_type
        H5Rget_region

    This is an incremental check-in to preserve the code, corresponding
    tests will follow in a few weeks.

Platforms:
    Linux 2.4 (eirene)
    I'm checking the code out and test on arabica too.

Misc. update:
2004-05-27 02:54:58 -05:00
Binh-Minh Ribler
80816a3dde [svn-r8576] Purpose:
Add more C++ wrapper and documentation - incrementally check-in

Description:
    Added doxygen documentation to:
        H5DataSet.cpp
        H5DataSpace.cpp
        H5CommonFG.cpp

    and a wrapper for H5Rcreate to H5Object.* with tests will be added
    later.

    There are more documentation need to be added to these files but
    to preserve the changes, I check them in now.

Platforms:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)


Misc. update:
2004-05-26 02:02:51 -05:00
Binh-Minh Ribler
02a1c32b1f [svn-r8569] Purpose:
Add/Correct documentation

Description:
    Added doxygen documentation to:
        Exception.cpp
        H5CompType.cpp
        H5FcreatProp.cpp

    and corrected some typos in comments for:
        H5AbstractDs.cpp
        H5EnumType.cpp
        H5File.cpp

Platforms:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)
2004-05-23 23:02:58 -05:00
Binh-Minh Ribler
c56eb7f4a4 [svn-r8532] Purpose:
Add more C++ wrappers and documentation - incrementally check-in

Description:
    Added wrapper for:
        H5Tdetect_class

    Also, added Doxygen documentation to existing member functions of
    AtomType and DataType.  Test for the new wrapper will follow in a
    few weeks.

    Some typos and small format changes are done in H5File.cpp.

Platforms:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)
    Windows 2000
2004-05-16 15:05:03 -05:00
Binh-Minh Ribler
4e7a6b7b1d [svn-r8526] Purpose:
Add more C++ wrappers - incrementally check-in

Description:
    Added more wrappers for C H5F functions and added Doxygen documentation
    to existing member functions of H5File.  This is an incremental check-in
    to preserve the code, corresponding tests will follow in a few weeks.

    Newly added wrappers are for:
	H5Fget_freespace
	H5Fget_obj_count
	H5Fget_obj_ids
	H5Fget_vfd_handle

Platforms:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)
    Windows 2000
2004-05-14 12:53:33 -05:00
Binh-Minh Ribler
9e3178fedf [svn-r8269] Purpose:
Cleaning up warnings

Description:
    Many exception constructors have warnings about reference to temporary
    location because of the parameter initialization, for example,
    "const string& var = 0."

Solution:
    Changed "string&" parameters to pass by value for these constructors.
    Consequently, passing string by value also takes care of char pointers
    so the overloaded constructors for char pointers are then removed.
    Also, instead of setting Exception::detailMessage to null string, I
    set it to DEFAULT_MSG ("No detailed information provided") by default.

Platforms:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)
    IA-64 (titan)
2004-03-21 21:56:59 -05:00
Binh-Minh Ribler
5d1b56cb81 [svn-r6990] Purpose:
Bug fix and minor code enhancement

Description:
    Missing methods to read/write C++ String for an attribute and
    a dataset.

Solution:
    Added overloaded functions read and write to H5::Attribute and
    H5::DataSet.

    Also, added another constructor StrType so the need to separately
    set the length of the string type can be eliminated.  It's minor
    but convenient.

    Made some minor changes to make error messages more readable.

Platforms:
    SunOS 5.7 (arabica)
    Linux 2.4 (eirene)
    IRIX 6.5.11 (modi4)
    HPUX 11.00 (kelgia)
2003-06-06 23:02:11 -05:00
Binh-Minh Ribler
5cc6567850 [svn-r6509] Purpose:
Adding new platform support

Description:
    Added support for the C++ API on hpux11.00 with the compiler aCC.
    Because aCC doesn't use "std," a new macro H5_NO_STD is provided
    and used where "std" is presented in the library.

    In addition, changed several cout's when reporting errors to cerr's.


Platforms tested:
    HPUX 11.00 (kelgia)
    Linux 2.2x (eirene)
    IRIX 6.5.11 (modi4)
    SunOS 5.7 (arabica) - by Elena


Misc. update:
2003-03-19 21:10:46 -05:00
Binh-Minh Ribler
7fd449cb79 [svn-r6236] Purpose: Copyright
Description:
    Added copyright notice to C++ API files, including *.h, *.cpp, and
    Makefile.in

Platforms:
    Linux 6.2 (eirene)
2003-01-06 23:22:12 -05:00
Binh-Minh Ribler
bb07809e41 [svn-r5270] Purpose: bug fix
Description:
    The default constructor of H5File was missing.  It's now added.

Platforms:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
    IRIX 6.5.11 (modi4)
2002-04-26 07:09:17 -05:00
Binh-Minh Ribler
0bb7111f43 [svn-r5030]
Purpose:
    Small bug fixing
Description:
    Replaced NULL by 0 for initializing or passing null "string".
    The problem showed up on platinum.
Platforms tested:
    SunOS 5.7 (arabica)
    Linux 6.2 (eirene)
    IA-32 Linux Cluster (platinum)
2002-03-01 16:10:29 -05:00
Binh-Minh Ribler
9cd9f7f521 [svn-r3602]
Purpose: Usability enhancement

Description:
	- Added more information about the failure to all the throw's,
	i.e, member function name and more detail about the failure, where
	appropriate.  Also, added exception throws for private functions,
	such as p_close to provide more specific details.

	- Added two api functions: Exception::getFuncName() and
	Exception::getCFuncName() to provide the name of the member
	function where failure occurs.

	- Fixed some typos, one of which caused segn. fault in some
	situations (resetIdComponent was accidentally called twice
	in a couple of places :)

Platforms:
	arabica (sparc-sun-solaris 2.7)
2001-03-09 22:59:46 -05:00
Binh-Minh Ribler
42e15a3d6a [svn-r3540] Purpose:
Feasibility improvement
Description:
    - Some member functions in class Exception can be called without
    an Exception instance exits, but because they are not static, they
    cannot.
    - Many exception throwings don't provide any information to callers.
Solution:
    - Add 'static' to several member functions in class Exception.
    - Added <class name::function name> to some exceptions thrown
	in H5File.cpp and H5FcreatProp.cpp.  I'm trying this for users'
	comments.  More information may be added later and to all
	exceptions.
    - Changed the comment line for emacs editor to:
	// C++ informative line for the emacs editor: -*- C++ -*-
      because... I'd rather not say that the code "may look like C" :-)
Platforms tested:
    Linux (gcc version egcs-2.91.66)
2001-03-02 13:53:15 -05:00
Binh-Minh Ribler
9cbeb3c53f [svn-r3121] Purpose:
Fix and improve

Description:
	- Put functions that are common to H5File and Group into a
	  prototype class, CommonFG.  I didn't do that before because
	  of the fear of the consequences of multiple inheritance, since
	  H5File and Group already inherit from different super classes.
	  I recently read a C++ book and learned to use MI more safely.
	  This change reduced some more of code redundancy.
	- Added missing const to some function parameters
	- Added missing return statements for some functions.

Platforms tested:
	Solaris/CC 5.0 (arabica)
2000-12-12 21:15:31 -05:00
Binh-Minh Ribler
f148ff3caf [svn-r3080]
Purpose:
	Support portability
Description:
	I forgot that source file extension .C will not work on Windows.
Solution:
	Changed all source file from *.C to *.cpp for portability.
Platforms tested:
	arabica (sparc-sun-solaris 2.7)
2000-12-06 19:04:08 -05:00