2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 using System.Collections.Generic;
20 namespace Tizen.Network.Nfc
23 /// An extended EventArgs class which contains changed Nfc activation state.
25 /// <since_tizen> 3 </since_tizen>
26 public class ActivationChangedEventArgs : EventArgs
28 private bool _activated = false;
30 internal ActivationChangedEventArgs(bool activated)
32 _activated = activated;
36 /// The Nfc activation state.
38 /// <since_tizen> 3 </since_tizen>
49 /// An extended EventArgs class which contains changed Nfc tag discovered.
51 /// <since_tizen> 3 </since_tizen>
52 public class TagDiscoveredEventArgs : EventArgs
54 private NfcDiscoveredType _type = NfcDiscoveredType.Detached;
57 internal TagDiscoveredEventArgs(NfcDiscoveredType _type, IntPtr tagHandle)
59 _tag = new NfcTag(tagHandle);
65 /// <since_tizen> 3 </since_tizen>
66 public NfcDiscoveredType Type
77 /// <since_tizen> 3 </since_tizen>
88 /// An extended EventArgs class which contains changed Nfc p2p target discovered.
90 /// <since_tizen> 3 </since_tizen>
91 public class P2pTargetDiscoveredEventArgs : EventArgs
93 private NfcDiscoveredType _type = NfcDiscoveredType.Detached;
94 private NfcP2p _p2pTarget;
96 internal P2pTargetDiscoveredEventArgs(NfcDiscoveredType _type, IntPtr p2pTargetHandle)
98 _p2pTarget = new NfcP2p(p2pTargetHandle);
102 /// The p2p target type.
104 /// <since_tizen> 3 </since_tizen>
105 public NfcDiscoveredType Type
116 /// <since_tizen> 3 </since_tizen>
117 public NfcP2p P2pTarget
127 /// An extended EventArgs class which contains changed Nfc ndef discovered.
129 /// <since_tizen> 3 </since_tizen>
130 public class NdefMessageDiscoveredEventArgs : EventArgs
132 private NfcNdefMessage _ndef;
134 internal NdefMessageDiscoveredEventArgs(IntPtr messageHandle)
136 _ndef = new NfcNdefMessage(messageHandle);
140 /// The NdefMessage object that is most recently received via NFC p2p mode or tag mode
142 /// <since_tizen> 3 </since_tizen>
143 public NfcNdefMessage NdefMessage
153 /// An extended EventArgs class which contains changed Secure element event.
155 /// <since_tizen> 3 </since_tizen>
156 public class SecureElementEventArgs : EventArgs
158 private NfcSecureElementEvent _eventType = NfcSecureElementEvent.StartTransaction;
160 internal SecureElementEventArgs(NfcSecureElementEvent eventType)
162 _eventType = eventType;
166 /// The Nfc secure element event.
168 /// <since_tizen> 3 </since_tizen>
169 public NfcSecureElementEvent EventType
179 /// An extended EventArgs class which contains changed Secure element trasaction event.
181 /// <since_tizen> 3 </since_tizen>
182 public class SecureElementTranscationEventArgs : EventArgs
184 private NfcSecureElementType _secureElementType = NfcSecureElementType.Disable;
188 internal SecureElementTranscationEventArgs(NfcSecureElementType secureElementType, byte[] aid, byte[] param)
190 _secureElementType = secureElementType;
196 /// The Nfc secure element type.
198 /// <since_tizen> 3 </since_tizen>
199 public NfcSecureElementType SecureElementType
203 return _secureElementType;
207 /// The Nfc secure element aid.
209 /// <since_tizen> 3 </since_tizen>
210 public byte[] ApplicationID
218 /// The Nfc secure element param.
220 /// <since_tizen> 3 </since_tizen>
231 /// An extended EventArgs class which contains changed HCE(Host Card Emulation) event.
233 /// <since_tizen> 3 </since_tizen>
234 public class HostCardEmulationEventArgs : EventArgs
236 private NfcSecureElement _se;
237 private NfcHceEvent _hceEvent = NfcHceEvent.Deactivated;
238 private byte[] _apdu;
240 internal HostCardEmulationEventArgs(IntPtr seHandle, NfcHceEvent hcdEvent, byte[] apdu)
242 _se = new NfcSecureElement(seHandle);
243 _hceEvent = hcdEvent;
248 /// The Nfc secure element.
250 /// <since_tizen> 3 </since_tizen>
251 public NfcSecureElement SecureElement
259 /// The Nfc hce event.
261 /// <since_tizen> 3 </since_tizen>
262 public NfcHceEvent HceEvent
270 /// The Nfc apdu(Application Protocol Data Unit)
272 /// <since_tizen> 3 </since_tizen>
283 /// An extended EventArgs class which contains changed HCE(Host Card Emulation) event.
285 /// <since_tizen> 3 </since_tizen>
286 public class P2pDataReceivedEventArgs : EventArgs
288 private NfcP2p _p2pTarget;
289 private NfcNdefMessage _ndefMessage;
291 internal P2pDataReceivedEventArgs(IntPtr p2pHandle, IntPtr ndefHandle)
293 _p2pTarget = new NfcP2p(p2pHandle);
294 _ndefMessage = new NfcNdefMessage(ndefHandle);
298 /// The Nfc p2p target.
300 /// <since_tizen> 3 </since_tizen>
301 public NfcP2p P2pTarget
309 /// The Nfc ndef message.
311 /// <since_tizen> 3 </since_tizen>
312 public NfcNdefMessage NdefMessage