Applied latest source code
[apps/native/preloaded/Settings.git] / inc / StNfcPresentationModel.h
1 //\r
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.\r
3 //\r
4 // Licensed under the Flora License, Version 1.1 (the License);\r
5 // you may not use this file except in compliance with the License.\r
6 // You may obtain a copy of the License at\r
7 //\r
8 //     http://floralicense.org/license/\r
9 //\r
10 // Unless required by applicable law or agreed to in writing, software\r
11 // distributed under the License is distributed on an AS IS BASIS,\r
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13 // See the License for the specific language governing permissions and\r
14 // limitations under the License.\r
15 //\r
16 \r
17 /**\r
18  * @file                StNfcPresentationModel.h\r
19  * @brief               This is the header file for NfcPresentationModel class.\r
20  */\r
21 \r
22 #ifndef _ST_NFC_PRESENTATION_MODEL_H_\r
23 #define _ST_NFC_PRESENTATION_MODEL_H_\r
24 \r
25 #include <FNet.h>\r
26 #include <FNetNfcNdefPushManager.h>\r
27 \r
28 enum NfcPresentationModelEvent\r
29 {\r
30         NFC_PRESENTATION_MODEL_EVENT_BASE,\r
31         NFC_PRESENTATION_MODEL_EVENT_NONE = NFC_PRESENTATION_MODEL_EVENT_BASE,\r
32         NFC_PRESENTATION_MODEL_EVENT_ACTIVATED,\r
33         NFC_PRESENTATION_MODEL_EVENT_DEACTIVATED,\r
34         NFC_PRESENTATION_MODEL_EVENT_MAX\r
35 };\r
36 \r
37 class INfcPresentationModelEventListener\r
38         : public Tizen::Base::Runtime::IEventListener\r
39 {\r
40 public:\r
41         virtual ~INfcPresentationModelEventListener(void){}\r
42         virtual void OnNfcPresentationModelEventCompleted(NfcPresentationModelEvent requestEvent, result r) = 0;\r
43 };\r
44 \r
45 class NfcPresentationModel\r
46         : public Tizen::Net::Nfc::INfcManagerEventListener\r
47 {\r
48 public:\r
49         NfcPresentationModel(void);\r
50         virtual ~NfcPresentationModel(void);\r
51 \r
52         result ActivateNfc(void);\r
53         result DeactivateNfc(void);\r
54         bool IsNfcActivated(void);\r
55 \r
56         static NfcPresentationModel* GetInstance(void);\r
57 \r
58         virtual void OnNfcActivated(result r);\r
59         virtual void OnNfcDeactivated(result r);\r
60 \r
61         void SetNfcEventListener(const INfcPresentationModelEventListener* pNfcEventListener);\r
62 \r
63 private:\r
64         result Construct(void);\r
65         static result CreateInstance(void);\r
66         static void DestroyInstance(void);\r
67         result FireNfcEvnet(NfcPresentationModelEvent nfcEvent, result r = E_SUCCESS);\r
68 \r
69 private:\r
70         Tizen::Net::Nfc::NfcManager* __pNfcManager;\r
71         const INfcPresentationModelEventListener* __pINfcPresentationModelEventListener;\r
72         static NfcPresentationModel* __pNfcPresentationModelInstance;\r
73 };\r
74 \r
75 class NfcPredefinedItemPresentationModel\r
76         : public Tizen::Net::Nfc::INdefPushManagerListener\r
77 {\r
78 public:\r
79         NfcPredefinedItemPresentationModel(void);\r
80         virtual ~NfcPredefinedItemPresentationModel(void);\r
81 \r
82         void InitReservedPushCandidatesList(void);\r
83         int GetSelectNfcReservedPushCandidatesAppIdIndex(void);\r
84         result SetSelectNfcReservedPushCandidatesAppIdIndex(int itemIndex);\r
85 \r
86         bool IsNfcReservedPushActivated(void);\r
87         result NfcReservedPushActivated(void);\r
88         result NfcReservedPushDeactivated(void);\r
89 \r
90         Tizen::Base::Collection::ArrayList* GetAllListReservedPushCandidatesAppIdList(void);\r
91         Tizen::Base::Collection::ArrayList* GetAllListReservedPushCandidatesDescList(void);\r
92 \r
93         static NfcPredefinedItemPresentationModel* GetInstance(void);\r
94 \r
95         virtual void OnNdefPushMessageSent(result r);\r
96 \r
97 private:\r
98         result Construct(void);\r
99         static void CreateInstance(void);\r
100         static void DestroyInstance(void);\r
101 \r
102 private:\r
103         Tizen::Net::Nfc::NdefPushManager* __pNdefPushManager;\r
104         Tizen::Base::Collection::IMap* __pReservedPushCandidatesMap;\r
105         Tizen::Base::Collection::ArrayList* __pReservedPushCandidatesAppIdList;\r
106         Tizen::Base::Collection::ArrayList* __pReservedPushCandidatesDescList;\r
107 \r
108         static NfcPredefinedItemPresentationModel* __pNfcPredefinedItemPresentationModelInstance;\r
109 };\r
110 \r
111 #endif // _ST_NFC_PRESENTATION_MODEL_H_