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 FCntContentTransferEvent.cpp
19 * @brief This is the implementation file for the %ContentTransferEvent and %ContentTransferEventArg class.
21 * This file contains implementation of the %ContentTransferEvent and %ContentTransferEventArg class.
24 #include <FBaseSysLog.h>
25 #include <FCntIContentTransferListener.h>
26 #include "FCnt_ContentTransferEvent.h"
28 using namespace Tizen::Base;
30 namespace Tizen { namespace Content
33 // ContentTransferEvent class
34 _ContentTransferEvent::_ContentTransferEvent(void)
38 _ContentTransferEvent::~_ContentTransferEvent(void)
44 _ContentTransferEvent::FireImpl(Runtime::IEventListener& listener, const Runtime::IEventArg& arg)
49 IContentTransferListener* pIContentTransferListener = dynamic_cast<IContentTransferListener*>(&listener);
50 SysTryReturnVoidResult(NID_CNT, pIContentTransferListener != null, r = E_INVALID_STATE,
51 "[E_INVALID_STATE] IContentTransferListener interface must not be null.");
53 const _ContentTransferEventArg* pArg = dynamic_cast<const _ContentTransferEventArg*>(&arg);
54 SysTryReturnVoidResult(NID_CNT, pArg != null, r = E_INVALID_STATE, "[E_INVALID_STATE] ContentTransferEventArg must not be null.");
56 switch (pArg->GetEventType())
58 case CONTENT_TRANSFER_EVENT_DOWNLOAD_COMPLETED:
59 SysLog(NID_CNT, "Event fire after call DownloadComplete.");
60 pIContentTransferListener->OnContentDownloadCompleted(pArg->GetRequestId(), pArg->GetContentId(),
61 pArg->GetResult(), pArg->GetErrorCode(), pArg->GetErrorMsg());
64 case CONTENT_TRANSFER_EVENT_CANCELED:
65 SysLog(NID_CNT, "Event fire after call DownloadCancel.");
66 pIContentTransferListener->OnContentTransferCanceled(pArg->GetRequestId(), pArg->GetResult(),
67 pArg->GetErrorCode(), pArg->GetErrorMsg());
70 case CONTENT_TRANSFER_EVENT_DOWNLOAD_TO_BUFFER_COMPLETED:
71 SysLog(NID_CNT, "Event fire after call DownloadToBufferComplete.");
72 pIContentTransferListener->OnContentDownloadToBufferCompleted(pArg->GetRequestId(), pArg->GetBuffer(),
73 pArg->GetResult(), pArg->GetErrorCode(), pArg->GetErrorMsg());
76 case CONTENT_TRANSFER_EVENT_TRANSFER_IN_PROGRESS:
77 SysLog(NID_CNT, "Event fire after call DownloadInProgress.");
78 pIContentTransferListener->OnContentTransferInProgress(pArg->GetRequestId(), pArg->GetTotalTransferedSize());
83 SysTryReturnVoidResult(NID_CNT, r == E_SUCCESS, r, "[E_INVALID_STATE] Event type is unknown.");
90 // ContentTransferEventArg class
91 _ContentTransferEventArg::_ContentTransferEventArg(void)
92 : __requestId(INVALID_REQUEST_ID)
94 , __contentTransferEventType(CONTENT_TRANSFER_EVENT_NONE)
103 _ContentTransferEventArg::~_ContentTransferEventArg(void)
109 _ContentTransferEventArg::SetEventType(ContentTransferEventType eType)
111 __contentTransferEventType = eType;
115 _ContentTransferEventArg::SetResult(result res)
121 _ContentTransferEventArg::SetErrorMsg(const String& ErrorCode, const String& ErrorMsg)
123 __errorMsg = ErrorMsg;
124 __errorCode = ErrorCode;
128 _ContentTransferEventArg::SetRequestId(RequestId requestId)
130 __requestId = requestId;
134 _ContentTransferEventArg::SetContentId(const ContentId& contentId)
136 __contentId = contentId;
140 _ContentTransferEventArg::SetTotalTransferedSize(int totalSize)
142 __totalSize = totalSize;
146 ContentTransferEventType
147 _ContentTransferEventArg::GetEventType(void) const
149 return __contentTransferEventType;
153 _ContentTransferEventArg::GetResult(void) const
159 _ContentTransferEventArg::GetErrorMsg(void) const
165 _ContentTransferEventArg::GetErrorCode(void) const
171 _ContentTransferEventArg::GetRequestId(void) const
177 _ContentTransferEventArg::GetContentId(void) const
183 _ContentTransferEventArg::GetTotalTransferedSize(void) const
189 _ContentTransferEventArg::SetBuffer(ByteBuffer* pBuffer)
191 __pBuffer = std::unique_ptr<ByteBuffer>(pBuffer);
195 _ContentTransferEventArg::GetBuffer(void) const
197 return __pBuffer.get();