1 /*===========================================================================
2 *
3 * PUBLIC DOMAIN NOTICE
4 * National Center for Biotechnology Information
5 *
6 * This software/database is a "United States Government Work" under the
7 * terms of the United States Copyright Act. It was written as part of
8 * the author's official duties as a United States Government employee and
9 * thus cannot be copyrighted. This software/database is freely available
10 * to the public for use. The National Library of Medicine and the U.S.
11 * Government have not placed any restriction on its use or reproduction.
12 *
13 * Although all reasonable efforts have been taken to ensure the accuracy
14 * and reliability of the software and data, the NLM and the U.S.
15 * Government do not and cannot warrant the performance or results that
16 * may be obtained by using this software or data. The NLM and the U.S.
17 * Government disclaim all warranties, express or implied, including
18 * warranties of performance, merchantability or fitness for any particular
19 * purpose.
20 *
21 * Please cite the author in any work or product based on this material.
22 *
23 * ===========================================================================
24 *
25 */
26
27 #include "py_ReferenceIteratorItf.h"
28 #include "py_ErrorMsg.hpp"
29
30 #include <ngs/itf/ReferenceItf.hpp>
31
PY_NGS_ReferenceIteratorNext(void * pRef,int * pRet,void ** ppNGSStrError)32 PY_RES_TYPE PY_NGS_ReferenceIteratorNext ( void* pRef, int* pRet, void** ppNGSStrError )
33 {
34 PY_RES_TYPE ret = PY_RES_ERROR;
35 try
36 {
37 bool res = CheckedCast< ngs::ReferenceItf* >(pRef) -> nextReference();
38 assert(pRet != NULL);
39 *pRet = (int)res;
40 ret = PY_RES_OK;
41 }
42 catch ( ngs::ErrorMsg & x )
43 {
44 ret = ExceptionHandler ( x, ppNGSStrError );
45 }
46 catch ( std::exception & x )
47 {
48 ret = ExceptionHandler ( x, ppNGSStrError );
49 }
50 catch ( ... )
51 {
52 ret = ExceptionHandler ( ppNGSStrError );
53 }
54 return ret;
55 }
56
57