2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
18 * @file FScl_EmailContactImpl.cpp
19 * @brief This is the implementation for _EmailContactImpl class.
21 * This file contains definitions of @e _EmailContactImpl class.
25 #include <unique_ptr.h>
26 #include <FBaseResult.h>
27 #include <FBaseString.h>
28 #include <FSclEmailContact.h>
29 #include <FBaseSysLog.h>
30 #include "FScl_RecordImpl.h"
31 #include "FScl_EmailContactImpl.h"
32 #include "FScl_EmailImpl.h"
34 using namespace Tizen::Base;
35 using namespace Tizen::Base::Collection;
37 namespace Tizen { namespace Social
40 _EmailContactImpl::_EmailContactImpl(void)
41 : __addressbookId(INVALID_ADDRESSBOOK_ID)
42 , __contactId(INVALID_RECORD_ID)
47 _EmailContactImpl::_EmailContactImpl(const _EmailContactImpl& rhs)
49 __addressbookId = rhs.__addressbookId;
50 __contactId = rhs.__contactId;
51 __personId = rhs.__personId;
52 __displayName = rhs.__displayName;
53 __thumbnail = rhs.__thumbnail;
54 __ringtone = rhs.__ringtone;
55 __email = rhs.__email;
58 _EmailContactImpl::~_EmailContactImpl(void)
64 _EmailContactImpl::operator =(const _EmailContactImpl& rhs)
70 __addressbookId = rhs.__addressbookId;
71 __contactId = rhs.__contactId;
72 __personId = rhs.__personId;
73 __displayName = rhs.__displayName;
74 __thumbnail = rhs.__thumbnail;
75 __ringtone = rhs.__ringtone;
76 __email = rhs.__email;
82 _EmailContactImpl::operator ==(const _EmailContactImpl& rhs) const
84 if (__addressbookId != rhs.__addressbookId)
89 if (__contactId != rhs.__contactId)
94 if (__personId != rhs.__personId)
99 if (__displayName != rhs.__displayName)
104 if (__thumbnail != rhs.__thumbnail)
109 if (__ringtone != rhs.__ringtone)
114 if (__email != rhs.__email)
123 _EmailContactImpl::Equals(const Object& rhs) const
125 const _EmailContactImpl* pEmailContactImpl = dynamic_cast<const _EmailContactImpl*>(&rhs);
126 if (pEmailContactImpl == null)
131 return *this == *pEmailContactImpl;
135 _EmailContactImpl::GetHashCode(void) const
139 hashCode = 0xffffffff & __contactId;
140 hashCode += __addressbookId;
141 hashCode += __personId;
142 hashCode += __displayName.GetHashCode();
143 hashCode += __thumbnail.GetHashCode();
144 hashCode += __ringtone.GetHashCode();
145 hashCode += __email.GetHashCode();
151 _EmailContactImpl::GetPersonId(void) const
157 _EmailContactImpl::SetPersonId(PersonId personId)
159 __personId = personId;
164 _EmailContactImpl::SetAddressbookId(AddressbookId addressbookId)
166 __addressbookId = addressbookId;
170 _EmailContactImpl::GetAddressbookId(void) const
172 return __addressbookId;
177 _EmailContactImpl::GetContactId(void) const
183 _EmailContactImpl::GetDisplayName(void) const
185 return __displayName;
189 _EmailContactImpl::GetThumbnailPath(void) const
195 _EmailContactImpl::GetRingtonePath(void) const
201 _EmailContactImpl::GetEmail(void) const
207 _EmailContactImpl::SetContactId(RecordId contactId)
209 __contactId = contactId;
213 _EmailContactImpl::SetDisplayName(const String& displayName)
215 __displayName = displayName;
219 _EmailContactImpl::SetThumbnailPath(const String& thumbnail)
221 __thumbnail = thumbnail;
225 _EmailContactImpl::SetRingtonePath(const String& ringtone)
227 __ringtone = ringtone;
231 _EmailContactImpl::SetEmailData(int recordId, EmailType type, const Tizen::Base::String& label, const Tizen::Base::String& email)
233 _EmailImpl::GetInstance(__email)->SetRecordId(recordId);
234 _EmailImpl::GetInstance(__email)->SetType(type);
235 _EmailImpl::GetInstance(__email)->SetLabel(label);
236 _EmailImpl::GetInstance(__email)->SetEmail(email);
240 _EmailContactImpl::GetInstance(EmailContact& simpleContact)
242 return simpleContact.__pEmailContactImpl;
245 const _EmailContactImpl*
246 _EmailContactImpl::GetInstance(const EmailContact& simpleContact)
248 return simpleContact.__pEmailContactImpl;