Fix the boiler plate codes
[apps/osp/CertificateSelector.git] / inc / CertificateSelectorForm.h
1 //
2 // Copyright (c) 2013 Samsung Electronics Co., Ltd.
3 //
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
7 //
8 //     http://www.apache.org/licenses/LICENSE-2.0
9 //
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.
15 //
16
17 /**
18  * @file        CertificateSelectorForm.h
19  * @brief       This is the header file for the %CertificateSelectorForm class.
20  *
21  * This header file contains the declarations of the %CertificateSelectorForm class.
22  */
23
24 #ifndef _CERTIFICATE_SELECTOR_FORM_H_
25 #define _CERTIFICATE_SELECTOR_FORM_H_
26
27 #include <unique_ptr.h>
28 #include <FBaseDataType.h>
29 #include <FUiCtrlForm.h>
30 #include <FUiCtrlIFormBackEventListener.h>
31 #include <FUiCtrlIListViewItemEventListener.h>
32 #include <FUiCtrlIListViewItemProvider.h>
33 #include <FUiCtrlListViewTypes.h>
34 #include <FUiCtrlListItemBase.h>
35
36 namespace Tizen { namespace Ui { namespace Controls
37 {
38 class ListView;
39 } } } // Tizen::Ui::Controls
40
41 namespace Tizen { namespace Security { namespace Cert
42 {
43 struct _CertFieldInfos;
44 } } } // Tizen::Security::Cert
45
46 class CertificateSelectorForm
47         : public Tizen::Ui::Controls::Form
48         , virtual public Tizen::Ui::Controls::IListViewItemProvider
49         , virtual public Tizen::Ui::Controls::IListViewItemEventListener
50         , virtual public Tizen::Ui::Controls::IFormBackEventListener
51 {
52
53 // Construction
54 public:
55         CertificateSelectorForm(void);
56         virtual ~CertificateSelectorForm(void);
57         result Initialize(RequestId reqId);
58
59 private:
60         // prevent copy and assignment
61         CertificateSelectorForm(const CertificateSelectorForm& rhs);
62         CertificateSelectorForm& operator =(const CertificateSelectorForm& rhs);
63
64         void Finish(bool isSelected, int certId);
65
66         // Form
67         virtual result OnInitializing(void);
68         virtual result OnTerminating(void);
69
70         // IFormBackEventListener
71         virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
72
73         // IListViewItemProvider
74         virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
75         virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
76         virtual int GetItemCount(void);
77
78         // IListViewItemEventListener
79         virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
80         virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus state);
81         virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
82
83 private:
84         int __reqId;
85         int __itemLeftMargin;
86         int __itemHeight;
87         int __certCount;
88         std::unique_ptr<Tizen::Security::Cert::_CertFieldInfos[]> __pCertList;
89         std::unique_ptr<int[]> __pCertIndex;
90 };
91
92 #endif  //_CERTIFICATE_SELECTOR_FORM_H_