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