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 FCntContentTransferEvent.cpp
18 * @brief This is the implementation file for the %ContentTransferEvent and %ContentTransferEventArg class.
20 * This file contains implementation of the %ContentTransferEvent and %ContentTransferEventArg class.
23 #include <FBaseSysLog.h>
24 #include <FCntIContentTransferListener.h>
25 #include "FCnt_ContentTransferEvent.h"
27 using namespace Tizen::Base;
29 namespace Tizen { namespace Content
32 // ContentTransferEvent class
33 _ContentTransferEvent::_ContentTransferEvent(void)
37 _ContentTransferEvent::~_ContentTransferEvent(void)
43 _ContentTransferEvent::FireImpl(Runtime::IEventListener& listener, const Runtime::IEventArg& arg)
48 IContentTransferListener* pIContentTransferListener = dynamic_cast<IContentTransferListener*>(&listener);
49 SysTryReturnVoidResult(NID_CNT, pIContentTransferListener != null, r = E_INVALID_STATE,
50 "[E_INVALID_STATE] IContentTransferListener interface must not be null.");
52 const _ContentTransferEventArg* pArg = dynamic_cast<const _ContentTransferEventArg*>(&arg);
53 SysTryReturnVoidResult(NID_CNT, pArg != null, r = E_INVALID_STATE, "[E_INVALID_STATE] ContentTransferEventArg must not be null.");
55 switch (pArg->GetEventType())
57 case CONTENT_TRANSFER_EVENT_DOWNLOAD_COMPLETED:
58 SysLog(NID_CNT, "Event fire after call DownloadComplete.");
59 pIContentTransferListener->OnContentDownloadCompleted(pArg->GetRequestId(), pArg->GetContentId(),
60 pArg->GetResult(), pArg->GetErrorCode(), pArg->GetErrorMsg());
63 case CONTENT_TRANSFER_EVENT_CANCELED:
64 SysLog(NID_CNT, "Event fire after call DownloadCancel.");
65 pIContentTransferListener->OnContentTransferCanceled(pArg->GetRequestId(), pArg->GetResult(),
66 pArg->GetErrorCode(), pArg->GetErrorMsg());
69 case CONTENT_TRANSFER_EVENT_DOWNLOAD_TO_BUFFER_COMPLETED:
70 SysLog(NID_CNT, "Event fire after call DownloadToBufferComplete.");
71 pIContentTransferListener->OnContentDownloadToBufferCompleted(pArg->GetRequestId(), pArg->GetBuffer(),
72 pArg->GetResult(), pArg->GetErrorCode(), pArg->GetErrorMsg());
75 case CONTENT_TRANSFER_EVENT_TRANSFER_IN_PROGRESS:
76 SysLog(NID_CNT, "Event fire after call DownloadInProgress.");
77 pIContentTransferListener->OnContentTransferInProgress(pArg->GetRequestId(), pArg->GetTotalTransferedSize());
81 SysLogException(NID_CNT, r = E_INVALID_STATE, "[%s] Event type is unknown.", GetErrorMessage(E_INVALID_STATE));
88 // ContentTransferEventArg class
89 _ContentTransferEventArg::_ContentTransferEventArg(void)
90 : __requestId(INVALID_REQUEST_ID)
92 , __contentTransferEventType(CONTENT_TRANSFER_EVENT_NONE)
101 _ContentTransferEventArg::~_ContentTransferEventArg(void)
107 _ContentTransferEventArg::SetEventType(ContentTransferEventType eType)
109 __contentTransferEventType = eType;
113 _ContentTransferEventArg::SetResult(result res)
119 _ContentTransferEventArg::SetErrorMsg(const String& ErrorCode, const String& ErrorMsg)
121 __errorMsg = ErrorMsg;
122 __errorCode = ErrorCode;
126 _ContentTransferEventArg::SetRequestId(RequestId requestId)
128 __requestId = requestId;
132 _ContentTransferEventArg::SetContentId(const ContentId& contentId)
134 __contentId = contentId;
138 _ContentTransferEventArg::SetTotalTransferedSize(int totalSize)
140 __totalSize = totalSize;
144 ContentTransferEventType
145 _ContentTransferEventArg::GetEventType(void) const
147 return __contentTransferEventType;
151 _ContentTransferEventArg::GetResult(void) const
157 _ContentTransferEventArg::GetErrorMsg(void) const
163 _ContentTransferEventArg::GetErrorCode(void) const
169 _ContentTransferEventArg::GetRequestId(void) const
175 _ContentTransferEventArg::GetContentId(void) const
181 _ContentTransferEventArg::GetTotalTransferedSize(void) const
187 _ContentTransferEventArg::SetBuffer(ByteBuffer* pBuffer)
189 __pBuffer = std::unique_ptr<ByteBuffer>(pBuffer);
193 _ContentTransferEventArg::GetBuffer(void) const
195 return __pBuffer.get();