internal unsafe SvnListEventArgs( sbyte *path, svn_dirent_t dirent, svn_lock_t @lock, sbyte *absPath, Uri repositoryRoot, sbyte *externalParentUrl, sbyte *externalTarget) { if (path == null) { throw new ArgumentNullException(nameof(path)); } if (absPath == null) { throw new ArgumentNullException(nameof(absPath)); } Path = SvnBase.Utf8_PtrToString(path); _pDirEnt = dirent; _pLock = @lock; _pAbsPath = absPath; RepositoryRoot = repositoryRoot; _external_parent_url = externalParentUrl; _external_target = externalTarget; }
protected internal override unsafe void Detach(bool keepProperties) { try { if (keepProperties) { GC.KeepAlive(Path); GC.KeepAlive(BasePath); GC.KeepAlive(Lock); GC.KeepAlive(Entry); GC.KeepAlive(ExternalParent); GC.KeepAlive(ExternalTarget); } _lock?.Detach(keepProperties); _entry?.Detach(keepProperties); } finally { _pAbsPath = null; _pLock = null; _pDirEnt = null; _external_parent_url = null; _external_target = null; base.Detach(keepProperties); } }
internal SvnDirEntry(svn_dirent_t entry) { _entry = entry ?? throw new ArgumentNullException(nameof(entry)); NodeKind = (SvnNodeKind)entry.kind; FileSize = entry.size; HasProperties = entry.has_props; Revision = entry.created_rev; Time = (entry.time != 0) ? SvnBase.DateTimeFromAprTime(entry.time) : DateTime.MinValue; }
internal DirEnt(string name, svn_dirent_t ent) { Name = name; IsDirectory = ent.kind == svn_node_kind_t.Dir; Size = ent.size; HasProps = ent.has_props; CreatedRevision = ent.created_rev; Time = Epoch.AddTicks(ent.time * 10); LastAuthor = ent.last_author; }
internal void Detach(bool keepProperties) { try { if (keepProperties) { GC.KeepAlive(Author); } } finally { _entry = null; //base.Detach(keepProperties); } }
internal DirEnt (string name, svn_dirent_t ent) { Name = name; IsDirectory = (ent.kind.ToInt32 () == (int) NodeKind.Dir); Size = ent.size; HasProps = ent.has_props != 0; CreatedRevision = ent.created_rev; Time = Epoch.AddTicks(ent.time * 10); LastAuthor = ent.last_author; }
internal DirEnt (string name, svn_dirent_t ent) { Name = name; IsDirectory = ent.kind == svn_node_kind_t.Dir; Size = ent.size; HasProps = ent.has_props; CreatedRevision = ent.created_rev; Time = Epoch.AddTicks(ent.time * 10); LastAuthor = ent.last_author; }
private SvnDirEnt(svn_dirent_t *ptr) { mDirEnt = ptr; }