Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / layout / FUi_LayoutProxyListNode.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.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://floralicense.org/license/
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        FUi_LayoutProxyListNode.h
19  * @brief       This is the header file for ProxyListNode class.
20  *
21  * This header file contains the declaration of ProxyListNode class.
22  */
23
24 #pragma once
25
26 #ifndef _FUI_INTERNAL_LAYOUT_PROXY_LIST_NODE_H_
27 #define _FUI_INTERNAL_LAYOUT_PROXY_LIST_NODE_H_
28
29 #include <new>
30 #include "FUi_LayoutLinkedListNode.h"
31
32 namespace Tizen
33 {
34 namespace Ui
35 {
36 namespace _Layout
37 {
38
39 class LayoutItemProxy;
40 class LayoutItemInfo;
41
42 class ProxyListNode
43         : public LinkedListNode
44 {
45 public:
46         void SetItemInfo(LayoutItemInfo* pItemInfo);
47         LayoutItemProxy* GetItemProxy(void) const;
48         LayoutItemInfo* GetItemInfo(void) const;
49
50 protected:
51         ProxyListNode(void);
52         virtual ~ProxyListNode(void);
53
54         void Create(LayoutItemProxy& pProxy);
55
56 private:
57         ProxyListNode(const ProxyListNode&);
58         ProxyListNode& operator =(const ProxyListNode&);
59
60 // property
61 private:
62         LayoutItemProxy* __pItemProxy;
63         LayoutItemInfo* __pItemInfo;
64
65         friend class ProxyList;
66 }; // ProxyListNode
67
68 }}} //Tizen::Ui::_Layout
69
70 #endif // _FUI_INTERNAL_LAYOUT_PROXY_LIST_NODE_H_