Skip to content

Commit 8c52dbd

Browse files
committed
[Java.Interop] Rename JniHandleOwnership to JniObjectReferenceOptions
Fixes: #7 More "rename types to prevent collision with Xamarin.Android names"...
1 parent b5c05e1 commit 8c52dbd

34 files changed

+175
-176
lines changed

src/Java.Interop.Dynamic/Java.Interop.Dynamic/JavaClassInfo.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -218,15 +218,15 @@ Dictionary<string, List<JavaFieldInfo>> LookupFields ()
218218
for (int i = 0; i < len; ++i) {
219219
var field = JniEnvironment.Arrays.GetObjectArrayElement (fields, i);
220220
var n_name = Field_getName.CallVirtualObjectMethod (field);
221-
var name = JniEnvironment.Strings.ToString (ref n_name, JniHandleOwnership.Transfer);
221+
var name = JniEnvironment.Strings.ToString (ref n_name, JniObjectReferenceOptions.DisposeSourceReference);
222222
var isStatic = IsStatic (field);
223223

224224
List<JavaFieldInfo> overloads;
225225
if (!Fields.TryGetValue (name, out overloads))
226226
Fields.Add (name, overloads = new List<JavaFieldInfo> ());
227227

228228
var n_type = Field_getType.CallVirtualObjectMethod (field);
229-
using (var type = new JniType (ref n_type, JniHandleOwnership.Transfer)) {
229+
using (var type = new JniType (ref n_type, JniObjectReferenceOptions.DisposeSourceReference)) {
230230
var info = JniEnvironment.Current.JavaVM.GetJniTypeInfoForJniTypeReference (type.Name);
231231
overloads.Add (new JavaFieldInfo (Members, name + "\u0000" + info.JniTypeReference, isStatic));
232232
}
@@ -258,15 +258,15 @@ Dictionary<string, List<JavaMethodInfo>> LookupMethods ()
258258
for (int i = 0; i < len; ++i) {
259259
var method = JniEnvironment.Arrays.GetObjectArrayElement (methods, i);
260260
var n_name = Method_getName.CallVirtualObjectMethod (method);
261-
var name = JniEnvironment.Strings.ToString (ref n_name, JniHandleOwnership.Transfer);
261+
var name = JniEnvironment.Strings.ToString (ref n_name, JniObjectReferenceOptions.DisposeSourceReference);
262262
var isStatic = IsStatic (method);
263263

264264
List<JavaMethodInfo> overloads;
265265
if (!Methods.TryGetValue (name, out overloads))
266266
Methods.Add (name, overloads = new List<JavaMethodInfo> ());
267267

268268
var nrt = Method_getReturnType.CallVirtualObjectMethod (method);
269-
var rt = new JniType (ref nrt, JniHandleOwnership.Transfer);
269+
var rt = new JniType (ref nrt, JniObjectReferenceOptions.DisposeSourceReference);
270270
var m = new JavaMethodInfo (Members, method, name, isStatic) {
271271
ReturnType = rt,
272272
};

src/Java.Interop.Dynamic/Java.Interop.Dynamic/JavaConstructorInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public override unsafe object Invoke (IJavaPeerable self, JValue* arguments)
4242
{
4343
if (self == null) {
4444
var h = members.InstanceMethods.StartCreateInstance (JniSignature, typeof (JavaInstanceProxy), arguments);
45-
self = JniEnvironment.Current.JavaVM.GetObject<JavaInstanceProxy> (ref h, JniHandleOwnership.Transfer);
45+
self = JniEnvironment.Current.JavaVM.GetObject<JavaInstanceProxy> (ref h, JniObjectReferenceOptions.DisposeSourceReference);
4646
}
4747
members.InstanceMethods.FinishCreateInstance (JniSignature, self, arguments);
4848
return new DynamicJavaInstance (self);

src/Java.Interop.Dynamic/Java.Interop.Dynamic/JavaInstanceProxy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ namespace Java.Interop.Dynamic {
1818
[JniTypeInfoAttribute ("java/lang/Object")]
1919
class JavaInstanceProxy : JavaObject {
2020

21-
public JavaInstanceProxy (ref JniObjectReference reference, JniHandleOwnership transfer)
21+
public JavaInstanceProxy (ref JniObjectReference reference, JniObjectReferenceOptions transfer)
2222
: base (ref reference, transfer)
2323
{
2424
}

src/Java.Interop.Dynamic/Java.Interop.Dynamic/JavaMemberInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ protected virtual void Dispose (bool disposing)
2222

2323
protected static object ToReturnValue (ref JniObjectReference handle, string signature, int n)
2424
{
25-
var instance = JniEnvironment.Current.JavaVM.GetObject (ref handle, JniHandleOwnership.Transfer);
25+
var instance = JniEnvironment.Current.JavaVM.GetObject (ref handle, JniObjectReferenceOptions.DisposeSourceReference);
2626
switch (signature [n]) {
2727
case 'L':
2828
return new DynamicJavaInstance (instance);

src/Java.Interop.Dynamic/Java.Interop.Dynamic/JniMetaObject.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public override DynamicMetaObject BindConvert (ConvertBinder binder)
5656
return binder.FallbackConvert (this);
5757

5858
var r = ConversionTarget;
59-
var value = marshalInfo.GetValueFromJni (ref r, JniHandleOwnership.DoNotTransfer, binder.Type);
59+
var value = marshalInfo.GetValueFromJni (ref r, JniObjectReferenceOptions.CreateNewReference, binder.Type);
6060
var valueE = Expression.Convert (Expression.Constant (value), binder.Type);
6161
return new DynamicMetaObject (valueE, BindingRestrictions.GetTypeRestriction (valueE, binder.Type), value);
6262
}

src/Java.Interop.Export/Tests/Java.Interop/ExportTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ namespace Java.InteropTests
77
[JniTypeInfo ("com/xamarin/interop/export/ExportType")]
88
public class ExportTest : JavaObject
99
{
10-
public ExportTest (ref JniObjectReference reference, JniHandleOwnership transfer)
10+
public ExportTest (ref JniObjectReference reference, JniObjectReferenceOptions transfer)
1111
: base (ref reference, transfer)
1212
{
1313
}

src/Java.Interop.Export/Tests/Java.Interop/ExportedMemberBuilderTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ static unsafe ExportTest CreateExportTest (JniType type)
6161
{
6262
var c = type.GetConstructor ("()V");
6363
var p = type.NewObject (c, null);
64-
return new ExportTest (ref p, JniHandleOwnership.Transfer);
64+
return new ExportTest (ref p, JniObjectReferenceOptions.DisposeSourceReference);
6565
}
6666

6767
[Test]

src/Java.Interop/Java.Interop.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@
5757
<Compile Include="Java.Interop\JniWeakGlobalReference.cs" />
5858
<Compile Include="Java.Interop\JniLocalReference.cs" />
5959
<Compile Include="Java.Interop\JavaException.cs" />
60-
<Compile Include="Java.Interop\JniHandleOwnership.cs" />
6160
<Compile Include="Java.Interop\JniNativeMethodRegistration.cs" />
6261
<Compile Include="Java.Interop\JavaObject.cs" />
6362
<Compile Include="Java.Interop\JniSystem.cs" />
@@ -74,6 +73,7 @@
7473
<Compile Include="Java.Interop\JniMarshalInfo.cs" />
7574
<Compile Include="Java.Interop\JniObjectReference.cs" />
7675
<Compile Include="Java.Interop\JniObjectReferenceManager.cs" />
76+
<Compile Include="Java.Interop\JniObjectReferenceOptions.cs" />
7777
<Compile Include="Java.Interop\JniObjectReferenceType.cs" />
7878
<Compile Include="Java.Interop\JniPeerInstanceMethods.cs" />
7979
<Compile Include="Java.Interop\JniPeerInstanceFields.cs" />

src/Java.Interop/Java.Interop/JavaArray.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ namespace Java.Interop
88
{
99
public abstract class JavaArray<T> : JavaObject, IList, IList<T>
1010
{
11-
internal delegate TArray ArrayCreator<TArray> (ref JniObjectReference reference, JniHandleOwnership transfer)
11+
internal delegate TArray ArrayCreator<TArray> (ref JniObjectReference reference, JniObjectReferenceOptions transfer)
1212
where TArray : JavaArray<T>;
1313

1414
// Value was created via CreateMarshalCollection, and thus can
1515
// be disposed of with impunity when no longer needed.
1616
protected bool forMarshalCollection;
1717

18-
internal JavaArray (ref JniObjectReference handle, JniHandleOwnership transfer)
18+
internal JavaArray (ref JniObjectReference handle, JniObjectReferenceOptions transfer)
1919
: base (ref handle, transfer)
2020
{
2121
}
@@ -140,7 +140,7 @@ internal static JniObjectReference CreateLocalRef<TArray> (object value, Func<IL
140140
return array.PeerReference.NewLocalRef ();
141141
}
142142

143-
internal static IList<T> GetValueFromJni<TArray> (ref JniObjectReference reference, JniHandleOwnership transfer, Type targetType, ArrayCreator<TArray> creator)
143+
internal static IList<T> GetValueFromJni<TArray> (ref JniObjectReference reference, JniObjectReferenceOptions transfer, Type targetType, ArrayCreator<TArray> creator)
144144
where TArray : JavaArray<T>
145145
{
146146
var value = JniEnvironment.Current.JavaVM.PeekObject (reference);
@@ -350,7 +350,7 @@ public void Dispose ()
350350

351351
public abstract class JavaPrimitiveArray<T> : JavaArray<T> {
352352

353-
internal JavaPrimitiveArray (ref JniObjectReference reference, JniHandleOwnership transfer)
353+
internal JavaPrimitiveArray (ref JniObjectReference reference, JniObjectReferenceOptions transfer)
354354
: base (ref reference, transfer)
355355
{
356356
}

src/Java.Interop/Java.Interop/JavaException.cs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public unsafe JavaException ()
2727
var peer = JniPeerMembers.InstanceMethods.StartCreateInstance ("()V", GetType (), null);
2828
using (SetPeerReference (
2929
ref peer,
30-
JniHandleOwnership.Transfer)) {
30+
JniObjectReferenceOptions.DisposeSourceReference)) {
3131
JniPeerMembers.InstanceMethods.FinishCreateInstance ("()V", this, null);
3232
}
3333
javaStackTrace = _GetJavaStack (PeerReference);
@@ -44,11 +44,11 @@ public unsafe JavaException (string message)
4444
var peer = JniPeerMembers.InstanceMethods.StartCreateInstance (signature, GetType (), args);
4545
using (SetPeerReference (
4646
ref peer,
47-
JniHandleOwnership.Transfer)) {
47+
JniObjectReferenceOptions.DisposeSourceReference)) {
4848
JniPeerMembers.InstanceMethods.FinishCreateInstance (signature, this, args);
4949
}
5050
} finally {
51-
JniEnvironment.References.Dispose (ref native_message, JniHandleOwnership.Transfer);
51+
JniEnvironment.References.Dispose (ref native_message, JniObjectReferenceOptions.DisposeSourceReference);
5252
}
5353
javaStackTrace = _GetJavaStack (PeerReference);
5454
}
@@ -64,19 +64,19 @@ public unsafe JavaException (string message, Exception innerException)
6464
var peer = JniPeerMembers.InstanceMethods.StartCreateInstance (signature, GetType (), args);
6565
using (SetPeerReference (
6666
ref peer,
67-
JniHandleOwnership.Transfer)) {
67+
JniObjectReferenceOptions.DisposeSourceReference)) {
6868
JniPeerMembers.InstanceMethods.FinishCreateInstance (signature, this, args);
6969
}
7070
} finally {
71-
JniEnvironment.References.Dispose (ref native_message, JniHandleOwnership.Transfer);
71+
JniEnvironment.References.Dispose (ref native_message, JniObjectReferenceOptions.DisposeSourceReference);
7272
}
7373
javaStackTrace = _GetJavaStack (PeerReference);
7474
}
7575

76-
public JavaException (ref JniObjectReference reference, JniHandleOwnership transfer)
76+
public JavaException (ref JniObjectReference reference, JniObjectReferenceOptions transfer)
7777
: base (_GetMessage (ref reference, transfer), _GetCause (ref reference, transfer))
7878
{
79-
if ((transfer & JniHandleOwnership.Invalid) == JniHandleOwnership.Invalid)
79+
if (transfer == JniObjectReferenceOptions.Invalid)
8080
return;
8181

8282
if (!reference.IsValid)
@@ -121,7 +121,7 @@ public override string StackTrace {
121121
}
122122
}
123123

124-
protected SetSafeHandleCompletion SetPeerReference (ref JniObjectReference handle, JniHandleOwnership transfer)
124+
protected SetSafeHandleCompletion SetPeerReference (ref JniObjectReference handle, JniObjectReferenceOptions transfer)
125125
{
126126
return JniEnvironment.Current.JavaVM.SetObjectPeerReference (
127127
this,
@@ -174,24 +174,24 @@ public override unsafe int GetHashCode ()
174174
return _members.InstanceMethods.CallInt32Method ("hashCode\u0000()I", this, null);
175175
}
176176

177-
static string _GetMessage (ref JniObjectReference reference, JniHandleOwnership transfer)
177+
static string _GetMessage (ref JniObjectReference reference, JniObjectReferenceOptions transfer)
178178
{
179-
if ((transfer & JniHandleOwnership.Invalid) == JniHandleOwnership.Invalid)
179+
if (transfer == JniObjectReferenceOptions.Invalid)
180180
return null;
181181

182182
var m = _members.InstanceMethods.GetMethodID ("getMessage\u0000()Ljava/lang/String;");
183183
var s = m.CallVirtualObjectMethod (reference);
184-
return JniEnvironment.Strings.ToString (ref s, JniHandleOwnership.Transfer);
184+
return JniEnvironment.Strings.ToString (ref s, JniObjectReferenceOptions.DisposeSourceReference);
185185
}
186186

187-
static Exception _GetCause (ref JniObjectReference reference, JniHandleOwnership transfer)
187+
static Exception _GetCause (ref JniObjectReference reference, JniObjectReferenceOptions transfer)
188188
{
189-
if ((transfer & JniHandleOwnership.Invalid) == JniHandleOwnership.Invalid)
189+
if (transfer == JniObjectReferenceOptions.Invalid)
190190
return null;
191191

192192
var m = _members.InstanceMethods.GetMethodID ("getCause\u0000()Ljava/lang/Throwable;");
193193
var e = m.CallVirtualObjectMethod (reference);
194-
return JniEnvironment.Current.JavaVM.GetExceptionForThrowable (ref e, JniHandleOwnership.Transfer);
194+
return JniEnvironment.Current.JavaVM.GetExceptionForThrowable (ref e, JniObjectReferenceOptions.DisposeSourceReference);
195195
}
196196

197197
unsafe string _GetJavaStack (JniObjectReference handle)
@@ -211,12 +211,12 @@ unsafe string _GetJavaStack (JniObjectReference handle)
211211
pst_args [0] = new JValue (pwriter);
212212
pst.CallVirtualVoidMethod (handle, pst_args);
213213
var s = JniEnvironment.Current.Object_toString.CallVirtualObjectMethod (swriter);
214-
return JniEnvironment.Strings.ToString (ref s, JniHandleOwnership.Transfer);
214+
return JniEnvironment.Strings.ToString (ref s, JniObjectReferenceOptions.DisposeSourceReference);
215215
} finally {
216-
JniEnvironment.References.Dispose (ref pwriter, JniHandleOwnership.Transfer);
216+
JniEnvironment.References.Dispose (ref pwriter, JniObjectReferenceOptions.DisposeSourceReference);
217217
}
218218
} finally {
219-
JniEnvironment.References.Dispose (ref swriter, JniHandleOwnership.Transfer);
219+
JniEnvironment.References.Dispose (ref swriter, JniObjectReferenceOptions.DisposeSourceReference);
220220
}
221221
}
222222
}

0 commit comments

Comments
 (0)