// // Open Service Platform // Copyright (c) 2012 Samsung Electronics Co., Ltd. // // Licensed under the Apache License, Version 2.0 (the License); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // /** * @file FScl_EmailImpl.cpp * @brief This is the implementation for _EmailImpl class. * * This file contains definitions of @e _EmailImpl class. */ #include #include #include #include #include #include "FScl_EmailImpl.h" using namespace Tizen::App; using namespace Tizen::Base; namespace Tizen { namespace Social { _EmailImpl::_EmailImpl(void) : __recordId(-1) , __type(EMAIL_TYPE_PERSONAL) { } _EmailImpl::_EmailImpl(EmailType type, const String& email) : __recordId(-1) , __type(type) { String stringValue = email; if (_AppInfo::GetApiVersion() == _API_VERSION_2_0 && _AppInfo::IsOspCompat()) { if (stringValue.GetLength() > MAX_EMAIL_LENGTH) { stringValue.SetLength(MAX_EMAIL_LENGTH); } } __email = stringValue; } _EmailImpl::_EmailImpl(const _EmailImpl& rhs) { __recordId = rhs.__recordId; __type = rhs.__type; __label = rhs.__label; __email = rhs.__email; } _EmailImpl::~_EmailImpl(void) { } _EmailImpl& _EmailImpl::operator =(const _EmailImpl& rhs) { if (this == &rhs) { return *this; } __recordId = rhs.__recordId; __type = rhs.__type; __label = rhs.__label; __email = rhs.__email; return *this; } bool _EmailImpl::operator ==(const _EmailImpl& rhs) const { if(__type != rhs.__type || __label != rhs.__label || __email != rhs.__email) { return false; } return true; } bool _EmailImpl::operator !=(const _EmailImpl& rhs) const { return !(*this == rhs); } bool _EmailImpl::Equals(const Object& rhs) const { const _EmailImpl* pEmailImpl = dynamic_cast(&rhs); if (pEmailImpl == null) { return false; } return (*this == *pEmailImpl); } int _EmailImpl::GetHashCode(void) const { int hashCode = __recordId; hashCode += __type; hashCode += __label.GetHashCode(); hashCode += __email.GetHashCode(); return hashCode; } EmailType _EmailImpl::GetType(void) const { return __type; } String _EmailImpl::GetEmail(void) const { return __email; } String _EmailImpl::GetLabel(void) const { return __label; } void _EmailImpl::SetType(EmailType type) { __type = type; } result _EmailImpl::SetEmail(const String& email) { SysTryReturnResult(NID_SCL, !email.IsEmpty(), E_INVALID_ARG, "The email is an empty string."); __email = email; return E_SUCCESS; } void _EmailImpl::SetLabel(const String& label) { __label = label; } void _EmailImpl::SetRecordId(int recordId) { __recordId = recordId; } int _EmailImpl::GetRecordId(void) const { return __recordId; } bool _EmailImpl::IsEmpty(void) const { return __email.IsEmpty(); } const _EmailImpl* _EmailImpl::GetInstance(const Email& email) { return email.__pEmailImpl; } _EmailImpl* _EmailImpl::GetInstance(Email& email) { return email.__pEmailImpl; } }} // Tizen::Social