mirror of
https://github.com/SkinnyMind/libgit2dart.git
synced 2025-05-05 04:39:07 -04:00
refactor(repository)!: use Finalizer
to automatically free allocated memory (#51)
BREAKING CHANGE: Return value of identity getter changed from Map<String, String> to Identity
This commit is contained in:
parent
aef440e345
commit
4e55d0f06c
43 changed files with 109 additions and 151 deletions
|
@ -2,13 +2,14 @@ import 'dart:collection';
|
|||
import 'dart:ffi';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/reference.dart' as reference_bindings;
|
||||
import 'package:libgit2dart/src/bindings/reflog.dart' as bindings;
|
||||
|
||||
class RefLog with IterableMixin<RefLogEntry> {
|
||||
/// Initializes a new instance of [RefLog] class from provided [Reference].
|
||||
RefLog(Reference ref) {
|
||||
_reflogPointer = bindings.read(
|
||||
repoPointer: ref.owner.pointer,
|
||||
repoPointer: reference_bindings.owner(ref.pointer),
|
||||
name: ref.name,
|
||||
);
|
||||
_finalizer.attach(this, _reflogPointer, detach: this);
|
||||
|
@ -19,7 +20,10 @@ class RefLog with IterableMixin<RefLogEntry> {
|
|||
|
||||
/// Deletes the reflog for the given reference.
|
||||
static void delete(Reference ref) {
|
||||
bindings.delete(repoPointer: ref.owner.pointer, name: ref.name);
|
||||
bindings.delete(
|
||||
repoPointer: reference_bindings.owner(ref.pointer),
|
||||
name: ref.name,
|
||||
);
|
||||
}
|
||||
|
||||
/// Renames a reflog.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue