Merge "Export internal APIs needed by samsung-socil" into tizen_2.1
[framework/osp/social.git] / src / FScl_AddressImpl.h
1 //
2 // Copyright (c) 2012 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  * @file        FScl_AddressImpl.h
18  * @brief       This is the header file for the %_AddressImpl class.
19  *
20  * This header file contains the declarations of the %_AddressImpl class.
21  */
22 #ifndef _FSCL_INTERNAL_ADDRESS_IMPL_H_
23 #define _FSCL_INTERNAL_ADDRESS_IMPL_H_
24
25 #include <FBaseResult.h>
26 #include <FBaseObject.h>
27 #include <FBaseString.h>
28 #include <FSclTypes.h>
29
30 namespace Tizen { namespace Social
31 {
32
33 class Address;
34
35 class _OSP_EXPORT_ _AddressImpl
36         : public Tizen::Base::Object
37 {
38 public:
39         _AddressImpl(void);
40
41         _AddressImpl(const _AddressImpl& rhs);
42
43         virtual ~_AddressImpl(void);
44
45         virtual bool Equals(const Tizen::Base::Object& rhs) const;
46
47         virtual int GetHashCode(void) const;
48
49         AddressType GetType(void) const;
50
51         Tizen::Base::String GetExtended(void) const;
52
53         Tizen::Base::String GetStreet(void) const;
54
55         Tizen::Base::String GetCity(void) const;
56
57         Tizen::Base::String GetState(void) const;
58
59         Tizen::Base::String GetPostalCode(void) const;
60
61         Tizen::Base::String GetCountry(void) const;
62
63         Tizen::Base::String GetPostOfficeBoxNumber(void) const;
64
65         void SetType(AddressType type);
66
67         void SetExtended(const Tizen::Base::String& extended);
68
69         void SetStreet(const Tizen::Base::String& street);
70
71         void SetCity(const Tizen::Base::String& city);
72
73         void SetState(const Tizen::Base::String& state);
74
75         void SetPostalCode(const Tizen::Base::String& postalCode);
76
77         void SetCountry(const Tizen::Base::String& country);
78
79         void SetPostOfficeBoxNumber(const Tizen::Base::String& postOfficeBoxNumber);
80
81         Tizen::Base::String GetLabel(void) const;
82
83         void SetLabel(const Tizen::Base::String& label);
84
85         _AddressImpl& operator =(const _AddressImpl& rhs);
86
87         bool IsEmpty(void) const;
88
89         bool operator ==(const _AddressImpl& rhs) const;
90
91         bool operator !=(const _AddressImpl& rhs) const;
92
93         static const _AddressImpl* GetInstance(const Address& address);
94
95         static _AddressImpl* GetInstance(Address& Address);
96
97 private:
98         AddressType __type;
99         Tizen::Base::String __label;
100         Tizen::Base::String __extended;
101         Tizen::Base::String __street;
102         Tizen::Base::String __city;
103         Tizen::Base::String __state;
104         Tizen::Base::String __postalCode;
105         Tizen::Base::String __country;
106         Tizen::Base::String __postOfficeBoxNumber;
107
108 }; // _AddressImpl
109
110 }} // Tizen::Social
111
112 #endif //_FSCL_INTERNAL_ADDRESS_IMPL_H_