package com.android.org.conscrypt;

/* JADX INFO: loaded from: classes.dex */
abstract class NativeRef {
    final long address;

    static final class CMAC_CTX extends NativeRef {
        CMAC_CTX(long j3) {
            super(j3);
        }

        @Override // com.android.org.conscrypt.NativeRef
        void doFree(long j3) {
            NativeCrypto.CMAC_CTX_free(j3);
        }
    }

    static final class EC_GROUP extends NativeRef {
        EC_GROUP(long j3) {
            super(j3);
        }

        @Override // com.android.org.conscrypt.NativeRef
        void doFree(long j3) {
            NativeCrypto.EC_GROUP_clear_free(j3);
        }
    }

    static final class EC_POINT extends NativeRef {
        EC_POINT(long j3) {
            super(j3);
        }

        @Override // com.android.org.conscrypt.NativeRef
        void doFree(long j3) {
            NativeCrypto.EC_POINT_clear_free(j3);
        }
    }

    static final class EVP_CIPHER_CTX extends NativeRef {
        EVP_CIPHER_CTX(long j3) {
            super(j3);
        }

        @Override // com.android.org.conscrypt.NativeRef
        void doFree(long j3) {
            NativeCrypto.EVP_CIPHER_CTX_free(j3);
        }
    }

    static final class EVP_MD_CTX extends NativeRef {
        EVP_MD_CTX(long j3) {
            super(j3);
        }

        @Override // com.android.org.conscrypt.NativeRef
        void doFree(long j3) {
            NativeCrypto.EVP_MD_CTX_destroy(j3);
        }
    }

    static final class EVP_PKEY extends NativeRef {
        EVP_PKEY(long j3) {
            super(j3);
        }

        @Override // com.android.org.conscrypt.NativeRef
        void doFree(long j3) {
            NativeCrypto.EVP_PKEY_free(j3);
        }
    }

    static final class EVP_PKEY_CTX extends NativeRef {
        EVP_PKEY_CTX(long j3) {
            super(j3);
        }

        @Override // com.android.org.conscrypt.NativeRef
        void doFree(long j3) {
            NativeCrypto.EVP_PKEY_CTX_free(j3);
        }
    }

    static final class HMAC_CTX extends NativeRef {
        HMAC_CTX(long j3) {
            super(j3);
        }

        @Override // com.android.org.conscrypt.NativeRef
        void doFree(long j3) {
            NativeCrypto.HMAC_CTX_free(j3);
        }
    }

    static final class SSL_SESSION extends NativeRef {
        SSL_SESSION(long j3) {
            super(j3);
        }

        @Override // com.android.org.conscrypt.NativeRef
        void doFree(long j3) {
            NativeCrypto.SSL_SESSION_free(j3);
        }
    }

    NativeRef(long j3) {
        if (j3 == 0) {
            throw new NullPointerException("address == 0");
        }
        this.address = j3;
    }

    abstract void doFree(long j3);

    public boolean equals(Object obj) {
        return (obj instanceof NativeRef) && ((NativeRef) obj).address == this.address;
    }

    protected void finalize() throws Throwable {
        try {
            long j3 = this.address;
            if (j3 != 0) {
                doFree(j3);
            }
        } finally {
            super.finalize();
        }
    }

    public int hashCode() {
        long j3 = this.address;
        return (int) (j3 ^ (j3 >>> 32));
    }
}
