using System; namespace Plugin.NFC { #region Event delegates public delegate void NdefMessageReceivedEventHandler(ITagInfo tagInfo); public delegate void NdefMessagePublishedEventHandler(ITagInfo tagInfo); public delegate void TagDiscoveredEventHandler(ITagInfo tagInfo, bool format); public delegate void OnNfcStatusChangedEventHandler(bool isEnabled); public delegate void TagListeningStatusChangedEventHandler(bool isListening); #endregion /// /// Main interface for NFC /// public interface INFC { /// /// Checks if NFC Feature is available /// bool IsAvailable { get; } /// /// Checks if NFC Feature is enabled /// bool IsEnabled { get; } /// /// Checks if writing mode is supported /// bool IsWritingTagSupported { get; } /// /// NFC Configuration /// NfcConfiguration Configuration { get; } /// /// Set Nfc configuration /// /// void SetConfiguration(NfcConfiguration configuration); /// /// Starts tags detection /// void StartListening(); /// /// Stops tags detection /// void StopListening(); /// /// Starts tag publishing (writing or formatting) /// /// Format tag void StartPublishing(bool clearMessage = false); /// /// Stops tag publishing /// void StopPublishing(); /// /// Publish or write a message on a tag /// /// see /// make tag read-only void PublishMessage(ITagInfo tagInfo, bool makeReadOnly = false); /// /// Format tag /// /// see void ClearMessage(ITagInfo tagInfo); /// /// Event raised when tag is connected /// event EventHandler OnTagConnected; /// /// Event raised when tag is disconnected /// event EventHandler OnTagDisconnected; /// /// Event raised when ndef message is received /// event NdefMessageReceivedEventHandler OnMessageReceived; /// /// Event raised when a tag is discovered (Editing) /// event TagDiscoveredEventHandler OnTagDiscovered; /// /// Event raised when ndef message has been published /// event NdefMessagePublishedEventHandler OnMessagePublished; /// /// Event raised when iOS NFC reading session is cancelled /// event EventHandler OniOSReadingSessionCancelled; /// /// Event raised when NFC status changes /// event OnNfcStatusChangedEventHandler OnNfcStatusChanged; /// /// Event raised when NFC listener status changes /// event TagListeningStatusChangedEventHandler OnTagListeningStatusChanged; } }