// // 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_AccountDbChangeEvent.cpp * @brief This is the implementation file for the _AccountDbChangeEvent class. * */ #include #include #include #include "FScl_IAccountDbChangeEventListener.h" #include "FScl_AccountDbChangeEventArg.h" #include "FScl_AccountDbChangeEvent.h" using namespace Tizen::Base; using namespace Tizen::Base::Runtime; namespace Tizen { namespace Social { _AccountDbChangeEvent::_AccountDbChangeEvent(void) { // empty body } _AccountDbChangeEvent::~_AccountDbChangeEvent(void) { // emtpy body } result _AccountDbChangeEvent::Construct(void) { result r = _Event::Initialize(); SysTryReturn(NID_SCL, !IsFailed(r), r, r, "[%s] Propagating. This is not an event-driven thread.", GetErrorMessage(r)); return E_SUCCESS; } void _AccountDbChangeEvent::FireImpl(IEventListener& listener, const IEventArg& arg) { _IAccountDbChangeEventListener* pEventListener = dynamic_cast<_IAccountDbChangeEventListener*>(&listener); const _AccountDbChangeEventArg* pEventArg = dynamic_cast(&arg); if (pEventListener != null && pEventArg != null) { AccountId accountId = pEventArg->GetAccountId(); _AccountDbChangeType changeType = pEventArg->GetChangeType(); switch (changeType) { case _ACCOUNT_DB_CHANGE_TYPE_ADD: { pEventListener->OnAccountAdded(accountId); break; } case _ACCOUNT_DB_CHANGE_TYPE_UPDATE: { pEventListener->OnAccountUpdated(accountId); break; } case _ACCOUNT_DB_CHANGE_TYPE_REMOVE: { pEventListener->OnAccountRemoved(accountId); break; } default: return; } } return; } }} // Tizen::Social