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_FragmentItf.h"
28 #include "py_ErrorMsg.hpp"
29
30 #include <ngs/itf/FragmentItf.hpp>
31
PY_NGS_FragmentGetFragmentId(void * pRef,void ** pRet,void ** ppNGSStrError)32 PY_RES_TYPE PY_NGS_FragmentGetFragmentId ( void* pRef, void** pRet, void** ppNGSStrError )
33 {
34 PY_RES_TYPE ret = PY_RES_ERROR; // TODO: use xt_* codes
35 try
36 {
37 void* res = CheckedCast< ngs::FragmentItf* >(pRef) -> getFragmentId ();
38 assert (pRet != NULL);
39 *pRet = (void*) 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
55 return ret;
56 }
57
PY_NGS_FragmentGetFragmentBases(void * pRef,uint64_t offset,uint64_t length,void ** pRet,void ** ppNGSStrError)58 PY_RES_TYPE PY_NGS_FragmentGetFragmentBases ( void* pRef, uint64_t offset, uint64_t length, void** pRet, void** ppNGSStrError )
59 {
60 PY_RES_TYPE ret = PY_RES_ERROR; // TODO: use xt_* codes
61 try
62 {
63 void* res = CheckedCast< ngs::FragmentItf* >(pRef) -> getFragmentBases ( offset, length );
64 assert (pRet != NULL);
65 *pRet = (void*) res;
66 ret = PY_RES_OK;
67 }
68 catch ( ngs::ErrorMsg & x )
69 {
70 ret = ExceptionHandler ( x, ppNGSStrError );
71 }
72 catch ( std::exception & x )
73 {
74 ret = ExceptionHandler ( x, ppNGSStrError );
75 }
76 catch ( ... )
77 {
78 ret = ExceptionHandler ( ppNGSStrError );
79 }
80
81 return ret;
82 }
83
PY_NGS_FragmentGetFragmentQualities(void * pRef,uint64_t offset,uint64_t length,void ** pRet,void ** ppNGSStrError)84 PY_RES_TYPE PY_NGS_FragmentGetFragmentQualities ( void* pRef, uint64_t offset, uint64_t length, void** pRet, void** ppNGSStrError )
85 {
86 PY_RES_TYPE ret = PY_RES_ERROR; // TODO: use xt_* codes
87 try
88 {
89 void* res = CheckedCast< ngs::FragmentItf* >(pRef) -> getFragmentQualities ( offset, length );
90 assert (pRet != NULL);
91 *pRet = (void*) res;
92 ret = PY_RES_OK;
93 }
94 catch ( ngs::ErrorMsg & x )
95 {
96 ret = ExceptionHandler ( x, ppNGSStrError );
97 }
98 catch ( std::exception & x )
99 {
100 ret = ExceptionHandler ( x, ppNGSStrError );
101 }
102 catch ( ... )
103 {
104 ret = ExceptionHandler ( ppNGSStrError );
105 }
106
107 return ret;
108 }
109
PY_NGS_FragmentIsPaired(void * pRef,int * pRet,void ** ppNGSStrError)110 PY_RES_TYPE PY_NGS_FragmentIsPaired ( void* pRef, int* pRet, void** ppNGSStrError )
111 {
112 PY_RES_TYPE ret = PY_RES_ERROR; // TODO: use xt_* codes
113 try
114 {
115 bool res = CheckedCast< ngs::FragmentItf* >(pRef) -> isPaired ();
116 assert (pRet != NULL);
117 *pRet = (int) res;
118 ret = PY_RES_OK;
119 }
120 catch ( ngs::ErrorMsg & x )
121 {
122 ret = ExceptionHandler ( x, ppNGSStrError );
123 }
124 catch ( std::exception & x )
125 {
126 ret = ExceptionHandler ( x, ppNGSStrError );
127 }
128 catch ( ... )
129 {
130 ret = ExceptionHandler ( ppNGSStrError );
131 }
132
133 return ret;
134 }
135
PY_NGS_FragmentIsAligned(void * pRef,int * pRet,void ** ppNGSStrError)136 PY_RES_TYPE PY_NGS_FragmentIsAligned ( void* pRef, int* pRet, void** ppNGSStrError )
137 {
138 PY_RES_TYPE ret = PY_RES_ERROR; // TODO: use xt_* codes
139 try
140 {
141 bool res = CheckedCast< ngs::FragmentItf* >(pRef) -> isAligned ();
142 assert (pRet != NULL);
143 *pRet = (int) res;
144 ret = PY_RES_OK;
145 }
146 catch ( ngs::ErrorMsg & x )
147 {
148 ret = ExceptionHandler ( x, ppNGSStrError );
149 }
150 catch ( std::exception & x )
151 {
152 ret = ExceptionHandler ( x, ppNGSStrError );
153 }
154 catch ( ... )
155 {
156 ret = ExceptionHandler ( ppNGSStrError );
157 }
158
159 return ret;
160 }
161
162