add % before the privilege tag not to link to the linkage page
[platform/framework/native/nfc.git] / inc / FNetNfcINfcTagDiscoveryEventListener.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 /**
18  * @file    FNetNfcINfcTagDiscoveryEventListener.h
19  * @brief   This is the header file for the %INfcTagDiscoveryEventListener interface.
20  *
21  * This header file contains the declarations of the %INfcTagDiscoveryEventListener interface.
22  */
23
24 #ifndef _FNET_NFC_INFC_TAG_DISCOVERY_EVENT_LISTENER_H_
25 #define _FNET_NFC_INFC_TAG_DISCOVERY_EVENT_LISTENER_H_
26
27 #include <FBaseRtIEventListener.h>
28
29 namespace Tizen { namespace Net { namespace Nfc
30 {
31
32 class TagConnection;
33
34 /**
35  * @interface   INfcTagDiscoveryEventListener
36  * @brief       This interface provides a listener for the events related to tag discovery.
37  *
38  * @since       2.0
39  *
40  * The %INfcTagDiscoveryEventListener interface specifies the methods used for creating the notifications about detecting the target tag.
41  *
42  * For more information on the class features, see
43  * <a href="../org.tizen.native.appprogramming/html/guide/net/nfc.htm">NFC Guide</a>.
44  */
45 class _OSP_EXPORT_ INfcTagDiscoveryEventListener
46         : public Tizen::Base::Runtime::IEventListener
47 {
48 public:
49         /**
50          * This polymorphic destructor should be overridden if required. @n
51          * This way, the destructors of the derived classes are called when the destructor of this interface is called.
52          *
53          * @since       2.0
54          */
55         virtual ~INfcTagDiscoveryEventListener(void) {}
56
57         /**
58          * Called to notify the application when the tag is detected by the device.
59          *
60          * @since       2.0
61          *
62          * @param[in]   pConnection         The connection established with the detected tag
63          * @remarks     TagConnection is inherited by NdefTagConnection if the current attached tag supports NDEF 
64          *              operations.
65          *              To verify this, use TagConnection::IsNdefConnection().
66          */
67         virtual void OnNfcTagDetectedN(TagConnection* pConnection) = 0;
68
69         /**
70          * Called to notify the application when the tag is lost by the device.
71          *
72          * @since       2.0
73          *
74          * @remarks     The operations of TagConnection returned by OnNfcTagDetectedN() are not processed further after 
75          *              this event is called, that is, the target tag is lost. Moreover, the TagConnection object cannot be 
76          *              reused even though the same tag is detected again by the device.
77          */
78         virtual void OnNfcTagLost(void) = 0;
79
80 protected:
81         //
82         // This method is for internal use only. Using this method can cause behavioral, security-related, and consistency-related issues in the application.
83         //
84         // This method is reserved and may change its name at any time without prior notice.
85         //
86         // @since       2.0
87         //
88         virtual void INfcTagDiscoveryEventListener_Reserved1(void) {}
89
90         //
91         // This method is for internal use only. Using this method can cause behavioral, security-related, and consistency-related issues in the application.
92         //
93         // This method is reserved and may change its name at any time without prior notice.
94         //
95         // @since       2.0
96         //
97         virtual void INfcTagDiscoveryEventListener_Reserved2(void) {}
98
99         //
100         // This method is for internal use only. Using this method can cause behavioral, security-related, and consistency-related issues in the application.
101         //
102         // This method is reserved and may change its name at any time without prior notice.
103         //
104         // @since       2.0
105         //
106         virtual void INfcTagDiscoveryEventListener_Reserved3(void) {}
107 }; // INfcTagDiscoveryEventListener
108
109 } } } // Tizen::Net::Nfc
110
111 #endif // _FNET_NFC_INFC_TAG_DISCOVERY_EVENT_LISTENER_H_