Skip to content

Commit 11aae8b

Browse files
committed
WIP
1 parent bd5fb50 commit 11aae8b

File tree

6 files changed

+255
-194
lines changed

6 files changed

+255
-194
lines changed

LibGit2Sharp/Core/GitFilter.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System;
22
using System.Runtime.InteropServices;
3-
using LibGit2Sharp.Core.Handles;
43

54
namespace LibGit2Sharp.Core
65
{
@@ -119,7 +118,7 @@ public delegate int git_filter_stream_fn(
119118
[StructLayout(LayoutKind.Sequential)]
120119
internal unsafe struct git_filter_source
121120
{
122-
public RepositoryHandle repository;
121+
public IntPtr repository;
123122

124123
public char* path;
125124

LibGit2Sharp/Core/Handles/Libgit2Object.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ internal unsafe abstract class Libgit2Object : SafeHandle
9090
private readonly Guid id;
9191
#endif
9292

93-
internal unsafe Libgit2Object(void* ptr, bool owned)
94-
: this(new IntPtr(ptr), owned)
93+
internal unsafe Libgit2Object()
94+
: base(IntPtr.Zero, true)
9595
{
9696
}
9797

LibGit2Sharp/Core/Handles/Objects.cs

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ namespace LibGit2Sharp.Core.Handles
66

77
internal unsafe class TreeEntryHandle : Libgit2Object
88
{
9+
internal TreeEntryHandle()
10+
: base()
11+
{
12+
}
13+
914
internal TreeEntryHandle(IntPtr ptr, bool owned)
1015
: base(ptr, owned)
1116
{
@@ -21,6 +26,11 @@ protected override bool ReleaseHandle()
2126

2227
internal unsafe class ReferenceHandle : Libgit2Object
2328
{
29+
internal ReferenceHandle()
30+
: base()
31+
{
32+
}
33+
2434
internal ReferenceHandle(IntPtr ptr, bool owned)
2535
: base(ptr, owned)
2636
{
@@ -36,6 +46,11 @@ protected override bool ReleaseHandle()
3646

3747
internal unsafe class RepositoryHandle : Libgit2Object
3848
{
49+
internal RepositoryHandle()
50+
: base()
51+
{
52+
}
53+
3954
internal RepositoryHandle(IntPtr ptr, bool owned)
4055
: base(ptr, owned)
4156
{
@@ -51,6 +66,11 @@ protected override bool ReleaseHandle()
5166

5267
internal unsafe class SignatureHandle : Libgit2Object
5368
{
69+
internal SignatureHandle()
70+
: base()
71+
{
72+
}
73+
5474
internal SignatureHandle(IntPtr ptr, bool owned)
5575
: base(ptr, owned)
5676
{
@@ -66,6 +86,11 @@ protected override bool ReleaseHandle()
6686

6787
internal unsafe class StatusListHandle : Libgit2Object
6888
{
89+
internal StatusListHandle()
90+
: base()
91+
{
92+
}
93+
6994
internal StatusListHandle(IntPtr ptr, bool owned)
7095
: base(ptr, owned)
7196
{
@@ -81,6 +106,11 @@ protected override bool ReleaseHandle()
81106

82107
internal unsafe class BlameHandle : Libgit2Object
83108
{
109+
internal BlameHandle()
110+
: base()
111+
{
112+
}
113+
84114
internal BlameHandle(IntPtr ptr, bool owned)
85115
: base(ptr, owned)
86116
{
@@ -96,6 +126,11 @@ protected override bool ReleaseHandle()
96126

97127
internal unsafe class DiffHandle : Libgit2Object
98128
{
129+
internal DiffHandle()
130+
: base()
131+
{
132+
}
133+
99134
internal DiffHandle(IntPtr ptr, bool owned)
100135
: base(ptr, owned)
101136
{
@@ -111,6 +146,11 @@ protected override bool ReleaseHandle()
111146

112147
internal unsafe class PatchHandle : Libgit2Object
113148
{
149+
internal PatchHandle()
150+
: base()
151+
{
152+
}
153+
114154
internal PatchHandle(IntPtr ptr, bool owned)
115155
: base(ptr, owned)
116156
{
@@ -126,6 +166,11 @@ protected override bool ReleaseHandle()
126166

127167
internal unsafe class ConfigurationHandle : Libgit2Object
128168
{
169+
internal ConfigurationHandle()
170+
: base()
171+
{
172+
}
173+
129174
internal ConfigurationHandle(IntPtr ptr, bool owned)
130175
: base(ptr, owned)
131176
{
@@ -141,6 +186,11 @@ protected override bool ReleaseHandle()
141186

142187
internal unsafe class ConflictIteratorHandle : Libgit2Object
143188
{
189+
internal ConflictIteratorHandle()
190+
: base()
191+
{
192+
}
193+
144194
internal ConflictIteratorHandle(IntPtr ptr, bool owned)
145195
: base(ptr, owned)
146196
{
@@ -156,6 +206,11 @@ protected override bool ReleaseHandle()
156206

157207
internal unsafe class IndexHandle : Libgit2Object
158208
{
209+
internal IndexHandle()
210+
: base()
211+
{
212+
}
213+
159214
internal IndexHandle(IntPtr ptr, bool owned)
160215
: base(ptr, owned)
161216
{
@@ -171,6 +226,11 @@ protected override bool ReleaseHandle()
171226

172227
internal unsafe class ReflogHandle : Libgit2Object
173228
{
229+
internal ReflogHandle()
230+
: base()
231+
{
232+
}
233+
174234
internal ReflogHandle(IntPtr ptr, bool owned)
175235
: base(ptr, owned)
176236
{
@@ -186,6 +246,11 @@ protected override bool ReleaseHandle()
186246

187247
internal unsafe class TreeBuilderHandle : Libgit2Object
188248
{
249+
internal TreeBuilderHandle()
250+
: base()
251+
{
252+
}
253+
189254
internal TreeBuilderHandle(IntPtr ptr, bool owned)
190255
: base(ptr, owned)
191256
{
@@ -201,6 +266,11 @@ protected override bool ReleaseHandle()
201266

202267
internal unsafe class PackBuilderHandle : Libgit2Object
203268
{
269+
internal PackBuilderHandle()
270+
: base()
271+
{
272+
}
273+
204274
internal PackBuilderHandle(IntPtr ptr, bool owned)
205275
: base(ptr, owned)
206276
{
@@ -216,6 +286,11 @@ protected override bool ReleaseHandle()
216286

217287
internal unsafe class NoteHandle : Libgit2Object
218288
{
289+
internal NoteHandle()
290+
: base()
291+
{
292+
}
293+
219294
internal NoteHandle(IntPtr ptr, bool owned)
220295
: base(ptr, owned)
221296
{
@@ -231,6 +306,11 @@ protected override bool ReleaseHandle()
231306

232307
internal unsafe class DescribeResultHandle : Libgit2Object
233308
{
309+
internal DescribeResultHandle()
310+
: base()
311+
{
312+
}
313+
234314
internal DescribeResultHandle(IntPtr ptr, bool owned)
235315
: base(ptr, owned)
236316
{
@@ -246,6 +326,11 @@ protected override bool ReleaseHandle()
246326

247327
internal unsafe class SubmoduleHandle : Libgit2Object
248328
{
329+
internal SubmoduleHandle()
330+
: base()
331+
{
332+
}
333+
249334
internal SubmoduleHandle(IntPtr ptr, bool owned)
250335
: base(ptr, owned)
251336
{
@@ -261,6 +346,11 @@ protected override bool ReleaseHandle()
261346

262347
internal unsafe class AnnotatedCommitHandle : Libgit2Object
263348
{
349+
internal AnnotatedCommitHandle()
350+
: base()
351+
{
352+
}
353+
264354
internal AnnotatedCommitHandle(IntPtr ptr, bool owned)
265355
: base(ptr, owned)
266356
{
@@ -276,6 +366,11 @@ protected override bool ReleaseHandle()
276366

277367
internal unsafe class ObjectDatabaseHandle : Libgit2Object
278368
{
369+
internal ObjectDatabaseHandle()
370+
: base()
371+
{
372+
}
373+
279374
internal ObjectDatabaseHandle(IntPtr ptr, bool owned)
280375
: base(ptr, owned)
281376
{
@@ -291,6 +386,11 @@ protected override bool ReleaseHandle()
291386

292387
internal unsafe class RevWalkerHandle : Libgit2Object
293388
{
389+
internal RevWalkerHandle()
390+
: base()
391+
{
392+
}
393+
294394
internal RevWalkerHandle(IntPtr ptr, bool owned)
295395
: base(ptr, owned)
296396
{
@@ -306,6 +406,11 @@ protected override bool ReleaseHandle()
306406

307407
internal unsafe class RemoteHandle : Libgit2Object
308408
{
409+
internal RemoteHandle()
410+
: base()
411+
{
412+
}
413+
309414
internal RemoteHandle(IntPtr ptr, bool owned)
310415
: base(ptr, owned)
311416
{
@@ -321,6 +426,11 @@ protected override bool ReleaseHandle()
321426

322427
internal unsafe class ObjectHandle : Libgit2Object
323428
{
429+
internal ObjectHandle()
430+
: base()
431+
{
432+
}
433+
324434
internal ObjectHandle(IntPtr ptr, bool owned)
325435
: base(ptr, owned)
326436
{
@@ -336,6 +446,11 @@ protected override bool ReleaseHandle()
336446

337447
internal unsafe class RebaseHandle : Libgit2Object
338448
{
449+
internal RebaseHandle()
450+
: base()
451+
{
452+
}
453+
339454
internal RebaseHandle(IntPtr ptr, bool owned)
340455
: base(ptr, owned)
341456
{
@@ -351,6 +466,11 @@ protected override bool ReleaseHandle()
351466

352467
internal unsafe class OdbStreamHandle : Libgit2Object
353468
{
469+
internal OdbStreamHandle()
470+
: base()
471+
{
472+
}
473+
354474
internal OdbStreamHandle(IntPtr ptr, bool owned)
355475
: base(ptr, owned)
356476
{
@@ -366,6 +486,11 @@ protected override bool ReleaseHandle()
366486

367487
internal unsafe class WorktreeHandle : Libgit2Object
368488
{
489+
internal WorktreeHandle()
490+
: base()
491+
{
492+
}
493+
369494
internal WorktreeHandle(IntPtr ptr, bool owned)
370495
: base(ptr, owned)
371496
{

LibGit2Sharp/Core/Handles/Objects.tt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ for (var i = 0; i < cNames.Length; i++)
7272
#>
7373
internal unsafe class <#= csNames[i] #> : Libgit2Object
7474
{
75+
internal <#= csNames[i] #>()
76+
: base()
77+
{
78+
}
79+
7580
internal <#= csNames[i] #>(IntPtr ptr, bool owned)
7681
: base(ptr, owned)
7782
{

0 commit comments

Comments
 (0)