本文整理汇总了C++中KDirectoryNativeDir函数的典型用法代码示例。如果您正苦于以下问题:C++ KDirectoryNativeDir函数的具体用法?C++ KDirectoryNativeDir怎么用?C++ KDirectoryNativeDir使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了KDirectoryNativeDir函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ascp_locate
LIB_EXPORT rc_t CC ascp_locate(const char **ascp_bin, const char **private_file,
bool use_config, bool status)
{
static const char *bin = NULL;
static const char *key = NULL;
rc_t rc = 0;
KConfig *cfg = NULL;
bool found = false;
if (ascp_bin == NULL || private_file == NULL) {
return RC(rcNS, rcFile, rcCopying, rcParam, rcNull);
}
*ascp_bin = *private_file = NULL;
rc = returnAscp(bin, key, ascp_bin, private_file, &found);
if (rc != 0 || found) {
return rc;
}
rc = KConfigMake(&cfg, NULL);
if (rc != 0) {
return rc;
}
if (_KConfigAscpDisabled(cfg, status)) {
if (status) {
STSMSG(STS_INFO, ("Use of Aspera transfer is disabled "
"by the configuration, using HTTP transfer"));
}
}
else {
KDirectory *dir = NULL;
rc = _KConfigGetAscp(cfg, &bin, &key);
if (bin != NULL) {
assert(key && !rc);
RELEASE(KConfig, cfg);
rc = returnAscp(bin, key, ascp_bin, private_file, &found);
if (rc != 0 || found) {
return rc;
}
}
rc = KDirectoryNativeDir(&dir);
if (rc != 0) {
return rc;
}
while (ascp_path(&bin, &key)) {
if (_SystemHelp(bin, status)) {
if (_KDirectoryFileFound(dir, key, status)) {
break;
}
}
}
RELEASE(KDirectory, dir);
}
RELEASE(KConfig, cfg);
rc = returnAscp(bin, key, ascp_bin, private_file, &found);
if (rc != 0 || found) {
return rc;
}
else {
return RC(rcNS, rcFile, rcCopying, rcFile, rcNotFound);
}
}
示例2: KDyldVAddSearchPath
/* AddSearchPath
* add a search path to loader for locating library files
*/
LIB_EXPORT rc_t CC KDyldVAddSearchPath ( KDyld *self, const char *path, va_list args )
{
rc_t rc;
if ( self == NULL )
rc = RC ( rcFS, rcDylib, rcUpdating, rcSelf, rcNull );
else
{
KDirectory *wd;
rc = KDirectoryNativeDir ( & wd );
if ( rc == 0 )
{
const KDirectory *dir;
rc = KDirectoryVOpenDirRead ( wd, & dir, false, path, args );
if ( rc == 0 )
{
rc = VectorAppend ( & self -> search, NULL, dir );
if ( rc != 0 )
KDirectoryRelease ( dir );
}
KDirectoryRelease ( wd );
}
}
return rc;
}
示例3: ref_walker_init
static rc_t ref_walker_init( struct ref_walker * self )
{
rc_t rc = KDirectoryNativeDir( &self->dir );
if ( rc == 0 )
rc = VDBManagerMakeRead ( &self->vmgr, self->dir );
if ( rc == 0 )
rc = VDBManagerMakeSRASchema( self->vmgr, &self->vschema );
if ( rc == 0 )
rc = AlignMgrMakeRead ( &self->amgr );
if ( rc == 0 )
rc = VFSManagerMake ( &self->vfs_mgr );
if ( rc == 0 )
rc = VNamelistMake ( &self->sources, 10 );
self->cb_block.data = self;
self->cb_block.destroy = NULL;
self->cb_block.populate = populate_data;
self->cb_block.alloc_size = alloc_size;
self->cb_block.fixed_size = 0;
BSTreeInit( &self->regions );
self->primary_alignments = true;
if ( rc != 0 )
ref_walker_release( self );
return rc;
}
示例4: KeyRingInit
rc_t KeyRingInit ( KKeyRing* self, const char* path )
{
rc_t rc;
memset ( self, 0, sizeof * self );
KRefcountInit ( & self -> refcount, 0, "KKeyRing", "init", "" );
rc = KDirectoryNativeDir(&self->wd);
if (rc == 0)
{
self->path = string_dup(path, string_size(path));
if (self->path)
{
self->data = (KeyRingData*) malloc(sizeof(*self->data));
if (self->data)
{
rc = KeyRingDataInit ( self->data );
if (rc != 0)
free(self->data);
}
else
rc = RC ( rcApp, rcDatabase, rcOpening, rcMemory, rcExhausted );
if (rc != 0)
free(self->path);
}
else
rc = RC ( rcApp, rcDatabase, rcOpening, rcMemory, rcExhausted );
if (rc != 0)
KDirectoryRelease(self->wd);
}
return rc;
}
示例5: make_rna_splice_log
struct rna_splice_log * make_rna_splice_log( const char * filename, const char * toolname )
{
struct rna_splice_log * res = NULL;
KDirectory * dir;
rc_t rc = KDirectoryNativeDir ( &dir );
if ( rc == 0 )
{
KFile * f;
rc = KDirectoryCreateFile ( dir, &f, false, 0664, kcmInit, "%s", filename );
if ( rc == 0 )
{
res = calloc( 1, sizeof * res );
if ( res != NULL )
{
res->log_file = f;
if ( toolname != NULL )
res->tool_name = string_dup_measure ( toolname, NULL );
}
else
KFileRelease ( f );
}
KDirectoryRelease ( dir );
}
return res;
}
示例6: WriteNamelistToFileByName
LIB_EXPORT rc_t CC WriteNamelistToFileByName( const VNamelist * namelist, const char * filename,
const char * delim )
{
rc_t rc;
if ( namelist == NULL || filename == NULL || delim == NULL )
rc = RC( rcFS, rcFile, rcValidating, rcParam, rcNull );
else
{
KDirectory * dir;
rc = KDirectoryNativeDir ( &dir );
if ( rc == 0 )
{
KFile * f;
rc = KDirectoryCreateFile ( dir, &f, true, 0664, kcmCreate, filename );
if ( rc == 0 )
{
if ( rc == 0 )
rc = SaveToFile( f, namelist, delim );
KFileRelease ( f );
}
KDirectoryRelease ( dir );
}
}
return rc;
}
示例7: LoadFileByNameToNameList
LIB_EXPORT rc_t CC LoadFileByNameToNameList( VNamelist * namelist, const char * filename )
{
rc_t rc;
if ( namelist == NULL || filename == NULL )
rc = RC( rcFS, rcFile, rcValidating, rcParam, rcNull );
else
{
KDirectory * dir;
rc = KDirectoryNativeDir ( &dir );
if ( rc == 0 )
{
KFile const * f;
rc = KDirectoryOpenFileRead ( dir, &f, "%s", filename );
if ( rc == 0 )
{
if ( rc == 0 )
rc = LoadFromFile( f, namelist );
KFileRelease ( f );
}
KDirectoryRelease ( dir );
}
}
return rc;
}
示例8: vds_diff
rc_t vds_diff( const char * f1, const char * f2 )
{
KDirectory * dir;
rc_t rc = KDirectoryNativeDir( &dir );
if ( rc != 0 )
KOutMsg( "KDirectoryNativeDir() failed\n" );
else
{
const KFile * kf1;
rc = KDirectoryOpenFileRead ( dir, &kf1, "%s", f1 );
if ( rc != 0 )
KOutMsg( "cannot open file '%s'\n", f1 );
else
{
const KFile * kf2;
rc = KDirectoryOpenFileRead ( dir, &kf2, "%s", f2 );
if ( rc != 0 )
KOutMsg( "cannot open file '%s'\n", f2 );
else
{
rc = vds_diff_files( kf1, kf2 );
KFileRelease( kf2 );
}
KFileRelease( kf1 );
}
KDirectoryRelease( dir );
}
clear_recorded_errors();
return rc;
}
示例9: DepFixture
DepFixture(const char *path)
: mgr(NULL)
, vmgr(NULL)
, resolver(NULL)
, siteless(false)
{
rc_t rc = 0;
KDirectory *wd = NULL;
if (KDirectoryNativeDir(&wd)) {
FAIL("failed to KDirectoryNativeDir");
}
const KDirectory *dir = NULL;
KConfig *cfg = NULL;
if (KDirectoryOpenDirRead(wd, &dir, false, path)) {
FAIL("failed to KDirectoryOpenDirRead()");
}
if (KConfigMake(&cfg, dir)) {
FAIL("failed to KConfigMake()");
}
RELEASE(KDirectory, dir);
if (VFSManagerMakeFromKfg(&vmgr, cfg)) {
FAIL("failed to VFSManagerMakeFromKfg()");
}
if (VFSManagerGetResolver(vmgr, &resolver)) {
FAIL("failed to VFSManagerGetResolver");
}
String *result = NULL;
rc = KConfigReadString(cfg, "repository/site/main/tracearc/root",
&result);
if (rc != 0) {
if (rc == SILENT_RC(rcKFG, rcNode, rcOpening, rcPath, rcNotFound)) {
rc = 0;
siteless = true;
}
else {
FAIL(
"failed to KConfigReadString(repository/site/main/tracearc/root)");
}
}
else {
assert(result);
KPathType t = KDirectoryPathType(wd, result->addr);
if (t != kptDir) {
siteless = true;
}
}
RELEASE(String, result);
RELEASE(KConfig, cfg);
if (VDBManagerMakeReadWithVFSManager(&mgr, NULL, vmgr)) {
FAIL("failed to VDBManagerMakeReadWithVFSManager()");
}
RELEASE(KDirectory, wd);
}
示例10: KMain
rc_t CC KMain (int argc, char * argv[])
{
rc_t rc = 0;
KDirectory* wd;
KLogLevelSet(klogInfo);
LogMsg ( klogInfo, "KeyringServer: starting");
rc = KDirectoryNativeDir (&wd);
if (rc == 0)
{
KFile* lockedFile;
const char* dataDir;
char lockFileName[MAX_PATH];
if (argc < 2 || argv[1] == NULL)
dataDir = KeyRingDefaultDataDir;
else
dataDir = argv[1];
rc = string_printf(lockFileName, sizeof(lockFileName)-1, NULL, "%s/keyring_lock", dataDir);
if (rc == 0)
{
rc = KDirectoryCreateExclusiveAccessFile(wd, &lockedFile, true, 0600, kcmOpen, "%s", lockFileName);
if (rc == 0)
{
KNSManager* mgr;
rc = KNSManagerMake(&mgr);
if (rc == 0)
{
rc = string_printf(keyRingFileName, sizeof(keyRingFileName)-1, NULL, "%s/keyring", dataDir);
if (rc == 0)
rc = Server(mgr);
KNSManagerRelease(mgr);
}
else
LogErr(klogErr, rc, "KeyringServer: KNSManagerMake failed");
KFileRelease(lockedFile);
LogMsg ( klogInfo, "KeyringServer: removing lock file.");
KDirectoryRemove(wd, true, "%s", lockFileName);
}
else
{ /*TODO: check for stale lock file*/
LogMsg ( klogInfo, "KeyringServer: another instance appears to be running.");
rc = 0;
}
}
else
LogErr ( klogErr, rc, "KeyringServer: failed to build the lock file name" );
KDirectoryRelease(wd);
}
else
LogErr(klogErr, rc, "KeyringServer: KDirectoryNativeDir failed");
LogMsg ( klogInfo, "KeyringServer: finishing");
return rc;
}
示例11: report_on_reference
rc_t report_on_reference( Args * args, bool extended )
{
uint32_t count;
rc_t rc = ArgsParamCount( args, &count );
if ( rc != 0 )
{
LOGERR( klogInt, rc, "ArgsParamCount() failed" );
}
else
{
KDirectory *dir;
rc = KDirectoryNativeDir( &dir );
if ( rc != 0 )
{
LOGERR( klogInt, rc, "KDirectoryNativeDir() failed" );
}
else
{
const VDBManager *vdb_mgr;
rc = VDBManagerMakeRead ( &vdb_mgr, dir );
if ( rc != 0 )
{
LOGERR( klogInt, rc, "VDBManagerMakeRead() failed" );
}
else
{
VFSManager * vfs_mgr;
rc = VFSManagerMake ( &vfs_mgr );
if ( rc != 0 )
{
(void)LOGERR( klogErr, rc, "cannot make vfs-manager" );
}
else
{
uint32_t idx;
for ( idx = 0; idx < count && rc == 0; ++idx )
{
const char *param = NULL;
rc = ArgsParamValue( args, idx, ¶m );
if ( rc != 0 )
{
LOGERR( klogInt, rc, "ArgsParamvalue() failed" );
}
else
{
/* rc value not used, because it can be something that has no references */
report_references( vdb_mgr, vfs_mgr, param, extended );
}
}
VFSManagerRelease ( vfs_mgr );
}
VDBManagerRelease( vdb_mgr );
}
KDirectoryRelease( dir );
}
}
return rc;
}
示例12: ref_seq_load_main
static rc_t ref_seq_load_main( const p_context ctx )
{
KDirectory *dir;
rc_t rc = KDirectoryNativeDir( &dir );
if ( rc != 0 )
{
LOGERR( klogErr, rc, "ref_seq_load_main:KDirectoryNativeDir() failed" );
}
else
{
VDBManager *mgr;
rc = VDBManagerMakeUpdate ( &mgr, dir );
if ( rc != 0 )
{
LOGERR( klogErr, rc, "ref_seq_load_main:VDBManagerMakeRead() failed" );
}
else
{
rc = prepare_load( dir, ctx );
if ( rc != 0 )
{
LOGERR( klogInt, rc, "ref_seq_load_main:prepare_load() failed" );
}
else
{
char tblpath[ 4096 ];
rc = KDirectoryResolvePath( dir, true, tblpath, sizeof tblpath, ctx->dst_path );
if ( rc != 0 )
{
LOGERR( klogErr, rc, "ref_seq_load_main:KDirectoryResolvePath() failed" );
}
else
{
KPathType type = VDBManagerPathType( mgr, tblpath );
if ( type != kptNotFound )
{
rc = RC( rcExe, rcDatabase, rcCreating, rcFile, rcExists );
PLOGERR( klogErr, ( klogErr, rc, "$(path)", "path=%s", tblpath ) );
}
}
}
if ( rc == 0 )
{
rc = perform_load( ctx, dir, mgr ); /* <====================== */
if ( rc != 0 )
{
remove_path( dir, ctx->dst_path, ctx->quiet );
}
}
VDBManagerRelease( mgr );
}
KDirectoryRelease( dir );
}
return rc;
}
示例13: _LoadKartScanPath
static
rc_t CC
_LoadKartScanPath ( struct XFSKartCollectionNode * Node )
{
rc_t RCt;
struct KDirectory * Directory;
KNamelist * List;
const char * Name;
uint32_t Idx;
uint32_t ListCount;
RCt = 0;
Directory = NULL;
List = NULL;
Name = NULL;
Idx = 0;
ListCount = 0;
if ( Node == NULL ) {
return XFS_RC ( rcNull );
}
if ( Node -> path == NULL ) {
return XFS_RC ( rcInvalid );
}
RCt = KDirectoryNativeDir ( & Directory );
if ( RCt == 0 ) {
RCt = KDirectoryList (
Directory,
& List,
NULL,
NULL,
Node -> path
);
if ( RCt == 0 ) {
RCt = KNamelistCount ( List, & ListCount );
if ( RCt == 0 ) {
for ( Idx = 0; Idx < ListCount; Idx ++ ) {
RCt = KNamelistGet ( List, Idx, & Name );
if ( RCt == 0 ) {
RCt = _LoadKartItem ( Directory, Node, Name );
}
if ( RCt != 0 ) {
break;
}
}
}
KNamelistRelease ( List );
}
KDirectoryRelease ( Directory );
}
return RCt;
} /* _LoadKartScanPath () */
示例14: report_deletes
rc_t report_deletes( Args * args, uint32_t min_len )
{
uint32_t count;
rc_t rc = ArgsParamCount( args, &count );
if ( rc != 0 )
{
LOGERR( klogInt, rc, "ArgsParamCount() failed" );
}
else
{
KDirectory *dir;
rc = KDirectoryNativeDir( &dir );
if ( rc != 0 )
{
LOGERR( klogInt, rc, "KDirectoryNativeDir() failed" );
}
else
{
const VDBManager *vdb_mgr;
rc = VDBManagerMakeRead ( &vdb_mgr, dir );
if ( rc != 0 )
{
LOGERR( klogInt, rc, "VDBManagerMakeRead() failed" );
}
else
{
VFSManager * vfs_mgr;
rc = VFSManagerMake ( &vfs_mgr );
if ( rc != 0 )
{
(void)LOGERR( klogErr, rc, "cannot make vfs-manager" );
}
else
{
uint32_t idx;
for ( idx = 0; idx < count && rc == 0; ++idx )
{
const char *param = NULL;
rc = ArgsParamValue( args, idx, (const void **)¶m );
if ( rc != 0 )
{
LOGERR( klogInt, rc, "ArgsParamvalue() failed" );
}
else
{
rc = report_deletes_spec( vdb_mgr, vfs_mgr, param, min_len );
}
}
VFSManagerRelease ( vfs_mgr );
}
VDBManagerRelease( vdb_mgr );
}
KDirectoryRelease( dir );
}
}
return rc;
}
示例15: SpotIteratorInitDirectory
/** Init the static directory object */
static rc_t SpotIteratorInitDirectory(void) {
if (__SpotIteratorDirectory) {
return 0;
}
else {
rc_t rc = KDirectoryNativeDir(&__SpotIteratorDirectory);
DISP_RC(rc, "while calling KDirectoryNativeDir");
return rc;
}
}