Exemplo n.º 1
0
 internal static void RegisterCounterpart(JniEnvironment environment, JniClass peer, Type counterpartType)
 {
     JniNativeMethodHolder nmHolder = new JniNativeMethodHolder();
     nmHolder.PopulateFromType(counterpartType);
     if (nmHolder.Count > 0)
     {
         peer.RegisterNatives(environment, nmHolder);
     }
 }
Exemplo n.º 2
0
 internal void RegisterNatives(
     JniEnvironment environment,
     JniNativeMethodHolder holder
     )
 {
     VerifyEnvironment(environment);
     VerifyInputObject(holder);
     DelegatePin[] pins = null;
     JniNativeMethod[] methods = holder.ToJniNativeMethodArray(out pins);
     JavaVM.AddDelegatePins(pins);
     try
     {
         int result = JniEnvironment.Functions.RegisterNatives(environment.Handle, this.Handle, methods, methods.Length);
         if (0 != result)
         {
             JniException.CheckErrorCode(environment, result);
         }
         // EXCEPTION CHECK: Do nothing, already checked for exception above.
     }
     finally
     {
         JniNativeMethodHolder.FreeArrayMemory(methods);
     }
 }