2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
8 // http://www.apache.org/licenses/LICENSE-2.0
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.
17 * @file FScl_EmailContactImpl.cpp
18 * @brief This is the implementation for _EmailContactImpl class.
20 * This file contains definitions of @e _EmailContactImpl class.
24 #include <unique_ptr.h>
25 #include <FBaseResult.h>
26 #include <FBaseString.h>
27 #include <FSclEmailContact.h>
28 #include <FBaseSysLog.h>
29 #include "FScl_RecordImpl.h"
30 #include "FScl_EmailContactImpl.h"
31 #include "FScl_EmailImpl.h"
33 using namespace Tizen::Base;
34 using namespace Tizen::Base::Collection;
36 namespace Tizen { namespace Social
39 _EmailContactImpl::_EmailContactImpl(void)
40 : __addressbookId(INVALID_ADDRESSBOOK_ID)
41 , __contactId(INVALID_RECORD_ID)
46 _EmailContactImpl::_EmailContactImpl(const _EmailContactImpl& rhs)
48 __addressbookId = rhs.__addressbookId;
49 __contactId = rhs.__contactId;
50 __personId = rhs.__personId;
51 __displayName = rhs.__displayName;
52 __thumbnail = rhs.__thumbnail;
53 __ringtone = rhs.__ringtone;
54 __email = rhs.__email;
57 _EmailContactImpl::~_EmailContactImpl(void)
63 _EmailContactImpl::operator =(const _EmailContactImpl& rhs)
69 __addressbookId = rhs.__addressbookId;
70 __contactId = rhs.__contactId;
71 __personId = rhs.__personId;
72 __displayName = rhs.__displayName;
73 __thumbnail = rhs.__thumbnail;
74 __ringtone = rhs.__ringtone;
75 __email = rhs.__email;
81 _EmailContactImpl::operator ==(const _EmailContactImpl& rhs) const
83 if (__addressbookId != rhs.__addressbookId)
88 if (__contactId != rhs.__contactId)
93 if (__personId != rhs.__personId)
98 if (__displayName != rhs.__displayName)
103 if (__thumbnail != rhs.__thumbnail)
108 if (__ringtone != rhs.__ringtone)
113 if (__email != rhs.__email)
122 _EmailContactImpl::Equals(const Object& rhs) const
124 const _EmailContactImpl* pEmailContactImpl = dynamic_cast<const _EmailContactImpl*>(&rhs);
125 if (pEmailContactImpl == null)
130 return *this == *pEmailContactImpl;
134 _EmailContactImpl::GetHashCode(void) const
138 hashCode = 0xffffffff & __contactId;
139 hashCode += __addressbookId;
140 hashCode += __personId;
141 hashCode += __displayName.GetHashCode();
142 hashCode += __thumbnail.GetHashCode();
143 hashCode += __ringtone.GetHashCode();
144 hashCode += __email.GetHashCode();
150 _EmailContactImpl::GetPersonId(void) const
156 _EmailContactImpl::SetPersonId(PersonId personId)
158 __personId = personId;
163 _EmailContactImpl::SetAddressbookId(AddressbookId addressbookId)
165 __addressbookId = addressbookId;
169 _EmailContactImpl::GetAddressbookId(void) const
171 return __addressbookId;
176 _EmailContactImpl::GetContactId(void) const
182 _EmailContactImpl::GetDisplayName(void) const
184 return __displayName;
188 _EmailContactImpl::GetThumbnailPath(void) const
194 _EmailContactImpl::GetRingtonePath(void) const
200 _EmailContactImpl::GetEmail(void) const
206 _EmailContactImpl::SetContactId(RecordId contactId)
208 __contactId = contactId;
212 _EmailContactImpl::SetDisplayName(const String& displayName)
214 __displayName = displayName;
218 _EmailContactImpl::SetThumbnailPath(const String& thumbnail)
220 __thumbnail = thumbnail;
224 _EmailContactImpl::SetRingtonePath(const String& ringtone)
226 __ringtone = ringtone;
230 _EmailContactImpl::SetEmailData(int recordId, EmailType type, const Tizen::Base::String& label, const Tizen::Base::String& email)
232 _EmailImpl::GetInstance(__email)->SetRecordId(recordId);
233 _EmailImpl::GetInstance(__email)->SetType(type);
234 _EmailImpl::GetInstance(__email)->SetLabel(label);
235 _EmailImpl::GetInstance(__email)->SetEmail(email);
239 _EmailContactImpl::GetInstance(EmailContact& simpleContact)
241 return simpleContact.__pEmailContactImpl;
244 const _EmailContactImpl*
245 _EmailContactImpl::GetInstance(const EmailContact& simpleContact)
247 return simpleContact.__pEmailContactImpl;