package com.pingcap.reader;

import com.pingcap.fuction.HCICRF;
import com.pingcap.fuction.NdefMessage;
import com.pingcap.fuction.NdefRecord;

public class HCReader {
    private HCICRF hc;
    public HCReader() {
        this.hc = new HCICRF();
    }

    public boolean writeNFCUrl(String url) {
        int icdev = hc.InitReader((short) 100, 9600);
        if (icdev <= 0) {
            System.out.println("Reader initialization failed with error code: " + icdev);
            return false;
        }

        NdefRecord ndefRecord = NdefRecord.createUri(url);
        NdefMessage ndefMsg = new NdefMessage(ndefRecord);
        byte[] ndefData = ndefMsg.toByteArray();

        boolean writeSuccess = hc.WriteNdefTag(icdev, ndefData, ndefData.length) == 0;

        hc.ExitReader(icdev);

        if (!writeSuccess) {
            System.out.println("Failed to write NDEF tag.");
            return false;
        }
        return true;
    }

}