mirror of
https://github.com/SkinnyMind/libgit2dart.git
synced 2025-05-05 20:59:08 -04:00
move version getter into separate class
This commit is contained in:
parent
41e9a39bce
commit
116c6d4fac
7 changed files with 57 additions and 46 deletions
34
lib/src/libgit2.dart
Normal file
34
lib/src/libgit2.dart
Normal file
|
@ -0,0 +1,34 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
class Libgit2 {
|
||||
/// Returns libgit2 version number.
|
||||
static String get version {
|
||||
libgit2.git_libgit2_init();
|
||||
|
||||
final major = calloc<Int32>();
|
||||
final minor = calloc<Int32>();
|
||||
final rev = calloc<Int32>();
|
||||
libgit2.git_libgit2_version(major, minor, rev);
|
||||
|
||||
final version = '${major.value}.${minor.value}.${rev.value}';
|
||||
|
||||
calloc.free(major);
|
||||
calloc.free(minor);
|
||||
calloc.free(rev);
|
||||
|
||||
return version;
|
||||
}
|
||||
|
||||
/// Returns list of options libgit2 was compiled with.
|
||||
static Set<GitFeature> get features {
|
||||
libgit2.git_libgit2_init();
|
||||
final featuresInt = libgit2.git_libgit2_features();
|
||||
return GitFeature.values
|
||||
.where((e) => featuresInt & e.value == e.value)
|
||||
.toSet();
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue