public MonoBtlsX509Lookup AddLookup(MonoBtlsX509LookupType type) { if (lookupHash == null) { lookupHash = new Dictionary <IntPtr, MonoBtlsX509Lookup> (); } /* * X509_STORE_add_lookup() returns the same 'X509_LOOKUP *' for each * unique 'X509_LOOKUP_METHOD *' (which is supposed to be a static struct) * and we want to use the same managed object for each unique 'X509_LOOKUP *'. */ var lookup = new MonoBtlsX509Lookup(this, type); var nativeLookup = lookup.GetNativeLookup(); if (lookupHash.ContainsKey(nativeLookup)) { lookup.Dispose(); lookup = lookupHash [nativeLookup]; } else { lookupHash.Add(nativeLookup, lookup); } return(lookup); }
public MonoBtlsX509Lookup AddLookup (MonoBtlsX509LookupType type) { if (lookupHash == null) lookupHash = new Dictionary<IntPtr,MonoBtlsX509Lookup> (); /* * X509_STORE_add_lookup() returns the same 'X509_LOOKUP *' for each * unique 'X509_LOOKUP_METHOD *' (which is supposed to be a static struct) * and we want to use the same managed object for each unique 'X509_LOOKUP *'. */ var lookup = new MonoBtlsX509Lookup (this, type); var nativeLookup = lookup.GetNativeLookup (); if (lookupHash.ContainsKey (nativeLookup)) { lookup.Dispose (); lookup = lookupHash [nativeLookup]; } else { lookupHash.Add (nativeLookup, lookup); } return lookup; }