forked from dotnet/java-interop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathXmlPullParserSymbol.cs
100 lines (76 loc) · 2.74 KB
/
XmlPullParserSymbol.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
using System;
using System.Collections.Generic;
namespace MonoDroid.Generation {
public class XmlPullParserSymbol : ISymbol {
public string DefaultValue {
get { return "IntPtr.Zero"; }
}
public string FullName {
get { return "System.Xml.XmlReader"; }
}
public bool IsGeneric {
get { return false; }
}
public string JavaName {
get { return "org.xmlpull.v1.XmlPullParser"; }
}
public string JniName {
get { return "Lorg/xmlpull/v1/XmlPullParser;"; }
}
public string NativeType {
get { return "IntPtr"; }
}
public bool IsEnum {
get { return false; }
}
public bool IsArray {
get { return false; }
}
public string ElementType {
get { return null; }
}
public string GetObjectHandleProperty (string variable)
{
return $"((global::Java.Lang.Object) {variable}).Handle";
}
public string GetGenericType (Dictionary<string, string> mappings)
{
return null;
}
public string FromNative (CodeGenerationOptions opt, string var_name, bool owned)
{
return String.Format (opt.GetOutputName ("Android.Runtime.XmlPullParserReader") + ".FromJniHandle ({0}, {1})", var_name, owned ? "JniHandleOwnership.TransferLocalRef" : "JniHandleOwnership.DoNotTransfer");
}
public string ToNative (CodeGenerationOptions opt, string var_name, Dictionary<string, string> mappings = null)
{
return String.Format ("global::Android.Runtime.XmlReaderPullParser.ToLocalJniHandle ({0})", var_name);
}
public bool Validate (CodeGenerationOptions opt, GenericParameterDefinitionList type_params)
{
return true;
}
public string Call (CodeGenerationOptions opt, string var_name)
{
return opt.GetSafeIdentifier (SymbolTable.GetNativeName (var_name));
}
public string[] PostCallback (CodeGenerationOptions opt, string var_name)
{
return new string [0];
}
public string[] PostCall (CodeGenerationOptions opt, string var_name)
{
return new string []{
string.Format ("JNIEnv.DeleteLocalRef ({0});", opt.GetSafeIdentifier (SymbolTable.GetNativeName (var_name))),
};
}
public string[] PreCallback (CodeGenerationOptions opt, string var_name, bool owned)
{
return new string[] { String.Format ("System.Xml.XmlReader {0} = global::Android.Runtime.XmlPullParserReader.FromJniHandle ({1}, JniHandleOwnership.DoNotTransfer);", opt.GetSafeIdentifier (var_name), opt.GetSafeIdentifier (SymbolTable.GetNativeName (var_name))) };
}
public string[] PreCall (CodeGenerationOptions opt, string var_name)
{
return new string[] { String.Format ("IntPtr {0} = global::Android.Runtime.XmlReaderPullParser.ToLocalJniHandle ({1});", opt.GetSafeIdentifier (SymbolTable.GetNativeName (var_name)), opt.GetSafeIdentifier (var_name)) };
}
public bool NeedsPrep { get { return true; } }
}
}