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 #ifndef _h_kfg_ngc_ 28 #define _h_kfg_ngc_ 29 30 #ifndef _h_kfg_extern_ 31 #include <kfg/extern.h> 32 #endif 33 34 #ifndef _h_klib_defs_ 35 #include <klib/defs.h> /* rc_t */ 36 #endif 37 38 #ifdef __cplusplus 39 extern "C" { 40 #endif 41 42 typedef struct KNgcObj KNgcObj; 43 44 /*-------------------------------------------------------------------------- 45 * forwards 46 */ 47 struct KFile; 48 49 50 KFG_EXTERN rc_t CC KNgcObjMakeFromString ( const KNgcObj **ngc, const char * line ); 51 KFG_EXTERN rc_t CC KNgcObjMakeFromFile ( const KNgcObj **ngc, const struct KFile * src ); 52 53 /* AddRef 54 * Release 55 */ 56 KFG_EXTERN rc_t CC KNgcObjAddRef ( const KNgcObj *self ); 57 KFG_EXTERN rc_t CC KNgcObjRelease ( const KNgcObj *self ); 58 59 KFG_EXTERN rc_t CC KNgcObjPrint ( const KNgcObj *self, char * buffer, size_t buffer_size, size_t * written ); 60 KFG_EXTERN rc_t CC KNgcObjWriteToFile ( const KNgcObj *self, struct KFile * dst ); 61 KFG_EXTERN rc_t CC KNgcObjWriteKeyToFile ( const KNgcObj *self, struct KFile * dst ); 62 63 KFG_EXTERN rc_t CC KNgcObjGetProjectId ( const KNgcObj *self, uint32_t * id ); 64 KFG_EXTERN rc_t CC KNgcObjGetProjectName ( const KNgcObj *self, char * buffer, size_t buffer_size, size_t * written ); 65 KFG_EXTERN rc_t CC KNgcObjGetTicket ( const KNgcObj *self, 66 char * buffer, size_t buffer_size, size_t * written ); 67 68 #ifdef __cplusplus 69 } 70 #endif 71 72 #endif /* _h_kfg_ngc_ */ 73