/* OpenManager * duplicate reference to manager * NB - returned reference must be released */ rc_t KDatabaseOpenManagerRead ( const KDatabase *self, const KDBManager **mgr ) { rc_t rc; if ( mgr == NULL ) rc = RC ( rcDB, rcDatabase, rcAccessing, rcParam, rcNull ); else { if ( self == NULL ) rc = RC ( rcDB, rcDatabase, rcAccessing, rcSelf, rcNull ); else { rc = KDBManagerAddRef ( self -> mgr ); if ( rc == 0 ) { * mgr = self -> mgr; return 0; } } * mgr = NULL; } return rc; }
LIB_EXPORT rc_t CC KDatabaseOpenManagerUpdate ( KDatabase *self, KDBManager **mgr ) { rc_t rc; if ( mgr == NULL ) rc = RC ( rcDB, rcDatabase, rcAccessing, rcParam, rcNull ); else { if ( self == NULL ) rc = RC ( rcDB, rcDatabase, rcAccessing, rcSelf, rcNull ); else { rc = KDBManagerAddRef ( self -> mgr ); if ( rc == 0 ) { * mgr = self -> mgr; return 0; } } * mgr = NULL; } return rc; }
/* OpenManager * duplicate reference to manager * NB - returned reference must be released */ LIB_EXPORT rc_t CC KColumnOpenManagerRead ( const KColumn *self, const KDBManager **mgr ) { rc_t rc; if ( mgr == NULL ) rc = RC ( rcDB, rcColumn, rcAccessing, rcParam, rcNull ); else { if ( self == NULL ) rc = RC ( rcDB, rcColumn, rcAccessing, rcSelf, rcNull ); else { rc = KDBManagerAddRef ( self -> mgr ); if ( rc == 0 ) { * mgr = self -> mgr; return 0; } } * mgr = NULL; } return rc; }