Пример #1
0
        static NSArray Validate(params INativeObject [] keysToFetch)
        {
            if (nsobject == IntPtr.Zero)
            {
                nsobject = Protocol.objc_getProtocol("NSObject");
            }
            if (nssecurecoding == IntPtr.Zero)
            {
                nssecurecoding = Protocol.objc_getProtocol("NSSecureCoding");
            }
            if (nscopying == IntPtr.Zero)
            {
                nscopying = Protocol.objc_getProtocol("NSCopying");
            }

            foreach (var key in keysToFetch)
            {
                var h = key.Handle;
                if (!ConformsToProtocol(h, nsobject) || !ConformsToProtocol(h, nssecurecoding) || !ConformsToProtocol(h, nscopying))
                {
                    throw new InvalidOperationException("Keys do not conform to ICNKeyDescriptor");
                }
            }
            return(NSArray.FromNativeObjects(keysToFetch));
        }
Пример #2
0
 public MCSession(MCPeerID myPeerID, SecIdentity identity, SecCertificate[] certificates, MCEncryptionPreference encryptionPreference)
     : base(NSObjectFlag.Empty)
 {
     if (identity == null)
     {
         if (certificates == null)
         {
             Handle = Init(myPeerID, null, encryptionPreference);
         }
         else
         {
             throw new ArgumentNullException("identity");
         }
     }
     else
     {
         using (var certs = NSArray.FromNativeObjects(certificates))
             Handle = Init(myPeerID, certs, encryptionPreference);
     }
 }
Пример #3
0
 public CNContactFetchRequest(params ICNKeyDescriptor [] keysToFetch)
     : this(NSArray.FromNativeObjects(keysToFetch))
 {
 }