TagTechnology.java revision 0d27f999f4b1ad51da11946800b40d2978fc6326
16be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton/*
26be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton * Copyright (C) 2010 The Android Open Source Project
36be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton *
46be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton * Licensed under the Apache License, Version 2.0 (the "License");
56be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton * you may not use this file except in compliance with the License.
66be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton * You may obtain a copy of the License at
76be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton *
86be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton *      http://www.apache.org/licenses/LICENSE-2.0
96be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton *
106be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton * Unless required by applicable law or agreed to in writing, software
116be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton * distributed under the License is distributed on an "AS IS" BASIS,
126be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
136be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton * See the License for the specific language governing permissions and
146be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton * limitations under the License.
156be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton */
166be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton
176be655c768a82716612c00fdd156254d8dc00f42Jeff Hamiltonpackage android.nfc.technology;
186be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton
196be655c768a82716612c00fdd156254d8dc00f42Jeff Hamiltonimport android.nfc.Tag;
206be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton
216be655c768a82716612c00fdd156254d8dc00f42Jeff Hamiltonimport java.io.IOException;
226be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton
236be655c768a82716612c00fdd156254d8dc00f42Jeff Hamiltonpublic interface TagTechnology {
246be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    /**
256be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     * This object is an instance of {@link NfcA}
266be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     */
276be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    public static final int NFC_A = 1;
286be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton
296be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    /**
306be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     * This object is an instance of {@link NfcB}
316be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     */
326be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    public static final int NFC_B = 2;
336be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton
346be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    /**
356be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     * This object is an instance of {@link IsoDep}
366be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     */
376be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    public static final int ISO_DEP = 3;
386be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton
396be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    /**
406be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     * This object is an instance of {@link NfcF}
416be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     */
42641dd62155fd2eeddd93b2036154b13c05b70ba2Jeff Hamilton    public static final int NFC_F = 4;
436be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton
446be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    /**
456be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     * This object is an instance of {@link NfcV}
466be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     */
47641dd62155fd2eeddd93b2036154b13c05b70ba2Jeff Hamilton    public static final int NFC_V = 5;
486be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton
496be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    /**
506be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     * This object is an instance of {@link Ndef}
516be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     */
52641dd62155fd2eeddd93b2036154b13c05b70ba2Jeff Hamilton    public static final int NDEF = 6;
536be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton
546be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    /**
5539f91ed5290e8b27c795f8aec181a6dd4431d317Martijn Coenen     * This object is an instance of {@link NdefFormatable}
5639f91ed5290e8b27c795f8aec181a6dd4431d317Martijn Coenen     */
57641dd62155fd2eeddd93b2036154b13c05b70ba2Jeff Hamilton    public static final int NDEF_FORMATABLE = 7;
5839f91ed5290e8b27c795f8aec181a6dd4431d317Martijn Coenen
5939f91ed5290e8b27c795f8aec181a6dd4431d317Martijn Coenen    /**
606be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     * This object is an instance of {@link MifareClassic}
616be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     */
62641dd62155fd2eeddd93b2036154b13c05b70ba2Jeff Hamilton    public static final int MIFARE_CLASSIC = 8;
636be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton
646be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    /**
652fe24e3e14cce791e89c93ddc23e28af5c2c90ccJan Brands     * This object is an instance of {@link MifareUltralight}
666be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     */
67641dd62155fd2eeddd93b2036154b13c05b70ba2Jeff Hamilton    public static final int MIFARE_ULTRALIGHT = 9;
686be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton
696be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    /**
706be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     * Returns the technology type for this tag connection.
716be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     */
726be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    public int getTechnologyId();
736be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton
746be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    /**
756be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     * Get the backing tag object.
766be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     */
776be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    public Tag getTag();
786be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton
796be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    /**
806be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     * @throws IOException
816be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     */
826be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    public void connect() throws IOException;
836be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton
846be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    /**
850d27f999f4b1ad51da11946800b40d2978fc6326Martijn Coenen     * @throws IOException
860d27f999f4b1ad51da11946800b40d2978fc6326Martijn Coenen     */
870d27f999f4b1ad51da11946800b40d2978fc6326Martijn Coenen    public void reconnect() throws IOException;
880d27f999f4b1ad51da11946800b40d2978fc6326Martijn Coenen
890d27f999f4b1ad51da11946800b40d2978fc6326Martijn Coenen    /**
906be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     * Non-blocking. Immediately causes all blocking calls
916be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     * to throw IOException.
926be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton     */
936be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton    public void close();
946be655c768a82716612c00fdd156254d8dc00f42Jeff Hamilton}
95